Skip to content

Commit

Permalink
Enable exemplar export/display support (open-telemetry#704)
Browse files Browse the repository at this point in the history
* Enable exemplar export/display support

Ensure the collector's prometheus endpoint produces exemplars
Ensure that prometheus collects and stores exemplar data
Ensure that grafana will display links to exemplars from dashboards/the explore tab

* Enable exemplars for latency histogram in demo dashboard
  • Loading branch information
jlawrie authored Jan 24, 2023
1 parent 749b13a commit ab8438f
Show file tree
Hide file tree
Showing 7 changed files with 652 additions and 637 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -206,3 +206,5 @@ significant modifications will be credited to OpenTelemetry Authors.
([#703](https://github.com/open-telemetry/opentelemetry-demo/pull/703))
* Update dockerfile for adservice to use different base images
([#705](https://github.com/open-telemetry/opentelemetry-demo/pull/705))
* Enable exemplar support in the metrics exporter, Prometheus, and Grafana
([#704](https://github.com/open-telemetry/opentelemetry-demo/pull/704))
3 changes: 2 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -625,7 +625,7 @@ services:

# OpenTelemetry Collector
otelcol:
image: otel/opentelemetry-collector-contrib:0.61.0
image: otel/opentelemetry-collector-contrib:0.69.0
container_name: otel-col
deploy:
resources:
Expand Down Expand Up @@ -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:
Expand Down
6 changes: 3 additions & 3 deletions docs/demo_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions docs/metric_service_features.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ Emoji Legend
| Service | Language | Auto-instrumentation | Manual Instrumentation | Multiple Instruments | Views | Custom Attributes | Resource Detection | Trace Exemplars |
|-----------------|-----------------|----------------------|------------------------|----------------------|----------------|-------------------|--------------------|-----------------|
| Accounting | Go | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Ad | Java | :100: | :100: | :construction: | :construction: | :100: | :100: | :construction: |
| Ad | Java | :100: | :100: | :construction: | :construction: | :100: | :100: | :100: |
| 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: |
| Email | Ruby | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Feature Flag | Erlang / Elixir | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Fraud Detection | Kotlin | :100: | :construction: | :construction: | :construction: | :construction: | :100: | :construction: |
| Frontend | TypeScript | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Payment | JavaScript | :construction: | :construction: | :construction: | :construction: | :construction: | :100: | :construction: |
| Payment | JavaScript | :construction: | :100: | :construction: | :construction: | :construction: | :100: | :construction: |
| Product Catalog | Go | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Quote | PHP | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: | :construction: |
| Recommendation | Python | :100: | :100: | :construction: | :construction: | :construction: | :construction: | :construction: |
Expand Down
Loading

0 comments on commit ab8438f

Please sign in to comment.