diff --git a/CHANGELOG.md b/CHANGELOG.md index 9cfb662db0..a07342e4ec 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -202,3 +202,5 @@ significant modifications will be credited to OpenTelemetry Authors. ([#700](https://github.com/open-telemetry/opentelemetry-demo/pull/700)) * Reduce spans generated from quote service ([#702](https://github.com/open-telemetry/opentelemetry-demo/pull/702)) +* Enable exemplar support in the metrics exporter, Prometheus, and Grafana +([#704](https://github.com/open-telemetry/opentelemetry-demo/pull/704)) diff --git a/docker-compose.yml b/docker-compose.yml index 430f0ee0ba..6ca47b14c5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -657,6 +657,7 @@ services: - --storage.tsdb.path=/prometheus - --web.enable-lifecycle - --web.route-prefix=/ + - --enable-feature=exemplar-storage volumes: - ./src/prometheus/prometheus-config.yaml:/etc/prometheus/prometheus-config.yaml ports: diff --git a/docs/demo_features.md b/docs/demo_features.md index f8086115ff..a4c0067b55 100644 --- a/docs/demo_features.md +++ b/docs/demo_features.md @@ -17,14 +17,14 @@ be added as the relevant SDKs are released. Collector](https://opentelemetry.io/docs/collector/getting-started)**: all services are instrumented and sending the generated traces and metrics to the OpenTelemetry Collector via gRPC. The received traces are then exported to the - logs and to Jaeger. + logs and to Jaeger; received metrics and exemplars are exported to logs and Prometheus. - **[Jaeger](https://www.jaegertracing.io)**: all generated traces are being sent to Jaeger. - **Synthetic Load Generation**: the application demo comes with a background job that creates realistic usage patterns on the website using [Locust](https://locust.io/) load generator. -- **[Prometheus](https://prometheus.io/)**: all generated metrics are scraped by - Prometheus. +- **[Prometheus](https://prometheus.io/)**: all generated metrics and exemplars + are scraped by Prometheus. - **[Grafana](https://grafana.com/)**: all metric dashboards are stored in Grafana. - **[Envoy](https://www.envoyproxy.io/)**: Envoy is used as a reverse proxy for diff --git a/docs/metric_service_features.md b/docs/metric_service_features.md index deee90be83..f17a931ddb 100644 --- a/docs/metric_service_features.md +++ b/docs/metric_service_features.md @@ -9,7 +9,7 @@ Emoji Legend | Service | Language | Instrumentation Libraries | Manual Metric Creation | Multiple Manual Metric Instruments | Metric Attributes | Resource Attributes | Exemplars | Views | |--------------------|-----------------|---------------------------|------------------------|------------------------------------|-------------------|---------------------|----------------|----------------| | Accounting Service | Go | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | -| Ad | Java | :100: | :100: | :construction: | :100: | :100: | :construction: | :construction: | +| Ad | Java | :100: | :100: | :construction: | :100: | :100: | :100: | :construction: | | Cart | .NET | :100: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | | Checkout | Go | :100: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | | Currency | C++ | :no_bell: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | diff --git a/src/grafana/provisioning/datasources/default.yaml b/src/grafana/provisioning/datasources/default.yaml index 3efab92b68..ee1dd8c677 100644 --- a/src/grafana/provisioning/datasources/default.yaml +++ b/src/grafana/provisioning/datasources/default.yaml @@ -7,3 +7,11 @@ datasources: url: http://prometheus:9090 editable: true isDefault: true + jsonData: + exemplarTraceIdDestinations: + - datasourceUid: webstore-traces + name: trace_id + + - url: http://localhost:8080/jaeger/ui/trace/$${__value.raw} + name: trace_id + urlDisplayLabel: View in Jaeger UI diff --git a/src/otelcollector/otelcol-config.yml b/src/otelcollector/otelcol-config.yml index fe4c872626..64e12fe0f5 100644 --- a/src/otelcollector/otelcol-config.yml +++ b/src/otelcollector/otelcol-config.yml @@ -18,6 +18,7 @@ exporters: endpoint: "otelcol:9464" resource_to_telemetry_conversion: enabled: true + enable_open_metrics: true processors: batch: spanmetrics: