Skip to content

Commit 7473bf9

Browse files
authored
use spanmetrics connector instead of spanmetrics processor (open-telemetry#829)
Signed-off-by: Ziqi Zhao <zhaoziqi9146@gmail.com>
1 parent 5ca8351 commit 7473bf9

4 files changed

Lines changed: 41 additions & 38 deletions

File tree

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ release.
3737
([#818](https://github.com/open-telemetry/opentelemetry-demo/pull/818))
3838
* Update OTel Collector
3939
([#822](https://github.com/open-telemetry/opentelemetry-demo/pull/822))
40+
* Update OTel Collector to use spanmetrics connector instead of spanmetrics processors
41+
([#829](https://github.com/open-telemetry/opentelemetry-demo/pull/829))
4042

4143
## v0.1.0
4244

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -616,14 +616,14 @@ services:
616616

617617
# OpenTelemetry Collector
618618
otelcol:
619-
image: otel/opentelemetry-collector-contrib:0.74.0
619+
image: otel/opentelemetry-collector-contrib:0.75.0
620620
container_name: otel-col
621621
deploy:
622622
resources:
623623
limits:
624624
memory: 125M
625625
restart: unless-stopped
626-
command: [ "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
626+
command: [ "--feature-gates=service.connectors", "--config=/etc/otelcol-config.yml", "--config=/etc/otelcol-config-extras.yml" ]
627627
volumes:
628628
- ./src/otelcollector/otelcol-config.yml:/etc/otelcol-config.yml
629629
- ./src/otelcollector/otelcol-config-extras.yml:/etc/otelcol-config-extras.yml

src/grafana/provisioning/dashboards/general/spanmetrics-dashboard.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@
113113
},
114114
"editorMode": "code",
115115
"exemplar": false,
116-
"expr": "topk(7,histogram_quantile(0.50, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name)))",
116+
"expr": "topk(7,histogram_quantile(0.50, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name)))",
117117
"format": "time_series",
118118
"hide": true,
119119
"instant": false,
@@ -129,7 +129,7 @@
129129
},
130130
"editorMode": "code",
131131
"exemplar": false,
132-
"expr": "topk(7,histogram_quantile(0.95, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__range])) by (le,service_name)))",
132+
"expr": "topk(7,histogram_quantile(0.95, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])) by (le,service_name)))",
133133
"hide": false,
134134
"instant": true,
135135
"interval": "",
@@ -144,7 +144,7 @@
144144
},
145145
"editorMode": "code",
146146
"exemplar": false,
147-
"expr": "histogram_quantile(0.99, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name))",
147+
"expr": "histogram_quantile(0.99, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name))",
148148
"hide": true,
149149
"interval": "",
150150
"legendFormat": "quantile99",
@@ -158,7 +158,7 @@
158158
},
159159
"editorMode": "code",
160160
"exemplar": false,
161-
"expr": "histogram_quantile(0.999, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name))",
161+
"expr": "histogram_quantile(0.999, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name))",
162162
"hide": true,
163163
"interval": "",
164164
"legendFormat": "quantile999",
@@ -238,7 +238,7 @@
238238
},
239239
"editorMode": "code",
240240
"exemplar": false,
241-
"expr": "topk(7,sum by (service_name) (rate( calls_total{service_name=~\"$service\", operation=~\"$operation\"}[$__range])))",
241+
"expr": "topk(7,sum by (service_name) (rate(calls{service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])))",
242242
"format": "time_series",
243243
"instant": true,
244244
"interval": "",
@@ -316,7 +316,7 @@
316316
},
317317
"editorMode": "code",
318318
"exemplar": false,
319-
"expr": "topk(7,sum(rate( calls_total{status_code=\"STATUS_CODE_ERROR\",service_name=~\"$service\", operation=~\"$operation\"}[$__range])) by (service_name))",
319+
"expr": "topk(7,sum(rate(calls{status_code=\"STATUS_CODE_ERROR\",service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])) by (service_name))",
320320
"instant": true,
321321
"interval": "",
322322
"legendFormat": "{{service_name}}",
@@ -351,7 +351,7 @@
351351
"refId": "A"
352352
}
353353
],
354-
"title": "Operations Level - Throughput",
354+
"title": "span_names Level - Throughput",
355355
"type": "row"
356356
},
357357
{
@@ -489,7 +489,7 @@
489489
"uid": "webstore-metrics"
490490
},
491491
"exemplar": false,
492-
"expr": "topk(7, sum(rate(calls_total{service_name=~\"$service\", operation=~\"$operation\"}[$__range])) by (operation,service_name)) ",
492+
"expr": "topk(7, sum(rate(calls{service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])) by (span_name,service_name)) ",
493493
"format": "table",
494494
"instant": true,
495495
"interval": "",
@@ -502,7 +502,7 @@
502502
"uid": "webstore-metrics"
503503
},
504504
"exemplar": false,
505-
"expr": "topk(7, sum(rate(calls_total{status_code=\"STATUS_CODE_ERROR\",service_name=~\"$service\", operation=~\"$operation\"}[$__range])) by (operation,service_name))",
505+
"expr": "topk(7, sum(rate(calls{status_code=\"STATUS_CODE_ERROR\",service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])) by (span_name,service_name))",
506506
"format": "table",
507507
"hide": false,
508508
"instant": true,
@@ -511,12 +511,12 @@
511511
"refId": "Error Rate"
512512
}
513513
],
514-
"title": "Top 7 Operations and Errors (APM Table)",
514+
"title": "Top 7 span_names and Errors (APM Table)",
515515
"transformations": [
516516
{
517517
"id": "seriesToColumns",
518518
"options": {
519-
"byField": "operation"
519+
"byField": "span_name"
520520
}
521521
},
522522
{
@@ -576,13 +576,13 @@
576576
"Rate in Service": 5,
577577
"bRate": 2,
578578
"eRate": 3,
579-
"operation": 0
579+
"span_name": 0
580580
},
581581
"renameByName": {
582582
"Rate in Service": "Service",
583583
"bRate": "Rate",
584584
"eRate": "Error Rate",
585-
"operation": "Operation Name"
585+
"span_name": "span_name Name"
586586
}
587587
}
588588
},
@@ -624,7 +624,7 @@
624624
"refId": "A"
625625
}
626626
],
627-
"title": "Operation Level - Latencies",
627+
"title": "span_name Level - Latencies",
628628
"type": "row"
629629
},
630630
{
@@ -696,7 +696,7 @@
696696
},
697697
"editorMode": "code",
698698
"exemplar": false,
699-
"expr": "topk(7,histogram_quantile(0.50, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name)))",
699+
"expr": "topk(7,histogram_quantile(0.50, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name)))",
700700
"format": "time_series",
701701
"hide": true,
702702
"instant": false,
@@ -712,11 +712,11 @@
712712
},
713713
"editorMode": "code",
714714
"exemplar": false,
715-
"expr": "topk(7,histogram_quantile(0.95, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__range])) by (le,operation)))",
715+
"expr": "topk(7,histogram_quantile(0.95, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__range])) by (le,span_name)))",
716716
"hide": false,
717717
"instant": true,
718718
"interval": "",
719-
"legendFormat": "{{operation}}",
719+
"legendFormat": "{{span_name}}",
720720
"range": false,
721721
"refId": "B"
722722
},
@@ -727,7 +727,7 @@
727727
},
728728
"editorMode": "code",
729729
"exemplar": false,
730-
"expr": "histogram_quantile(0.99, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name))",
730+
"expr": "histogram_quantile(0.99, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name))",
731731
"hide": true,
732732
"interval": "",
733733
"legendFormat": "quantile99",
@@ -741,15 +741,15 @@
741741
},
742742
"editorMode": "code",
743743
"exemplar": false,
744-
"expr": "histogram_quantile(0.999, sum(rate(latency_bucket{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])) by (le,service_name))",
744+
"expr": "histogram_quantile(0.999, sum(rate(duration_bucket{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])) by (le,service_name))",
745745
"hide": true,
746746
"interval": "",
747747
"legendFormat": "quantile999",
748748
"range": true,
749749
"refId": "D"
750750
}
751751
],
752-
"title": "Top 3x3 - Operation Latency - quantile95",
752+
"title": "Top 3x3 - span_name Latency - quantile95",
753753
"type": "gauge"
754754
},
755755
{
@@ -812,10 +812,10 @@
812812
},
813813
"editorMode": "code",
814814
"exemplar": false,
815-
"expr": "topk(7, sum by (operation,service_name)(increase(latency_sum{service_name=~\"${service}\", operation=~\"$operation\"}[5m]) / increase(latency_count{service_name=~\"${service}\",operation=~\"$operation\"}[5m\n])))",
815+
"expr": "topk(7, sum by (span_name,service_name)(increase(duration_sum{service_name=~\"${service}\", span_name=~\"$span_name\"}[5m]) / increase(duration_count{service_name=~\"${service}\",span_name=~\"$span_name\"}[5m\n])))",
816816
"instant": true,
817817
"interval": "",
818-
"legendFormat": "{{operation}} [{{service_name}}]",
818+
"legendFormat": "{{span_name}} [{{service_name}}]",
819819
"range": false,
820820
"refId": "A"
821821
}
@@ -916,10 +916,10 @@
916916
},
917917
"editorMode": "code",
918918
"exemplar": true,
919-
"expr": "topk(7,sum by (operation,service_name)(increase(latency_sum{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval]) / increase(latency_count{service_name=~\"$service\", operation=~\"$operation\"}[$__rate_interval])))",
919+
"expr": "topk(7,sum by (span_name,service_name)(increase(duration_sum{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval]) / increase(duration_count{service_name=~\"$service\", span_name=~\"$span_name\"}[$__rate_interval])))",
920920
"instant": false,
921921
"interval": "",
922-
"legendFormat": "[{{service_name}}] {{operation}}",
922+
"legendFormat": "[{{service_name}}] {{span_name}}",
923923
"range": true,
924924
"refId": "A"
925925
}
@@ -945,14 +945,14 @@
945945
"type": "prometheus",
946946
"uid": "webstore-metrics"
947947
},
948-
"definition": "query_result(count by (service_name)(count_over_time(calls_total[$__range])))",
948+
"definition": "query_result(count by (service_name)(count_over_time(calls[$__range])))",
949949
"hide": 0,
950950
"includeAll": true,
951951
"multi": true,
952952
"name": "service",
953953
"options": [],
954954
"query": {
955-
"query": "query_result(count by (service_name)(count_over_time(calls_total[$__range])))",
955+
"query": "query_result(count by (service_name)(count_over_time(calls[$__range])))",
956956
"refId": "StandardVariableQuery"
957957
},
958958
"refresh": 2,
@@ -972,18 +972,18 @@
972972
"type": "prometheus",
973973
"uid": "webstore-metrics"
974974
},
975-
"definition": "query_result(sum ({__name__=~\".*calls_total\",service_name=~\"$service\"}) by (operation))",
975+
"definition": "query_result(sum ({__name__=~\".*calls\",service_name=~\"$service\"}) by (span_name))",
976976
"hide": 0,
977977
"includeAll": true,
978978
"multi": true,
979-
"name": "operation",
979+
"name": "span_name",
980980
"options": [],
981981
"query": {
982-
"query": "query_result(sum ({__name__=~\".*calls_total\",service_name=~\"$service\"}) by (operation))",
982+
"query": "query_result(sum ({__name__=~\".*calls\",service_name=~\"$service\"}) by (span_name))",
983983
"refId": "StandardVariableQuery"
984984
},
985985
"refresh": 2,
986-
"regex": "/.*operation=\"(.*)\".*/",
986+
"regex": "/.*span_name=\"(.*)\".*/",
987987
"skipUrlSync": false,
988988
"sort": 0,
989989
"type": "query"

src/otelcollector/otelcol-config.yml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,9 @@ exporters:
2323
resource_to_telemetry_conversion:
2424
enabled: true
2525
enable_open_metrics: true
26+
2627
processors:
2728
batch:
28-
spanmetrics:
29-
metrics_exporter: prometheus
30-
# temporary measure until description is fixed in .NET
3129
transform:
3230
metric_statements:
3331
- context: metric
@@ -40,14 +38,17 @@ processors:
4038
metric_names:
4139
- queueSize
4240

41+
connectors:
42+
spanmetrics:
43+
4344
service:
4445
pipelines:
4546
traces:
4647
receivers: [otlp]
47-
processors: [spanmetrics, batch]
48-
exporters: [otlp, logging]
48+
processors: [batch]
49+
exporters: [otlp, logging, spanmetrics]
4950
metrics:
50-
receivers: [otlp]
51+
receivers: [otlp, spanmetrics]
5152
processors: [filter, transform, batch]
5253
exporters: [prometheus, logging]
5354
logs:

0 commit comments

Comments
 (0)