Skip to content

Comments

feat: Add development observability stack for testing OpenTelemetry with Jaeger, and Prometheus#101

Open
morgan-wowk wants to merge 1 commit intomasterfrom
otel-observation
Open

feat: Add development observability stack for testing OpenTelemetry with Jaeger, and Prometheus#101
morgan-wowk wants to merge 1 commit intomasterfrom
otel-observation

Conversation

@morgan-wowk
Copy link
Collaborator

@morgan-wowk morgan-wowk commented Feb 19, 2026

Add development observability stack for testing OpenTelemetry with Jaeger, and Prometheus

image.png

image.png

TL;DR

Added a complete observability stack to collect and visualize traces and metrics from Tangle.

What changed?

  • Added a Docker Compose setup with OpenTelemetry Collector, Jaeger, and Prometheus
  • Created configuration files for each component:
    • otel-collector-config.yaml for the OpenTelemetry Collector
    • prometheus.yml for Prometheus
  • Added comprehensive documentation in README.md explaining:
    • How to start and stop the stack
    • How to configure Tangle to export telemetry
    • Available UIs and ports
    • Troubleshooting common issues

How to test?

  1. Start the observability stack:
  2. Configure Tangle to export telemetry:
  3. Access the UIs:

Why make this change?

This observability stack provides crucial visibility into Tangle's performance and behavior.

Copy link
Collaborator Author

morgan-wowk commented Feb 19, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please add a bit more info on the purpose of these tools. It's not obvious that this is mostly for local testing.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe rename the folder too? Alternatively, if we expect this folder to be filled with production telemetry tools in forked repos, we can somehow explain that.

Copy link
Contributor

@Ark-kun Ark-kun Feb 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Folder is a bit too specific for the root dir.
Maybe something like
examples/setup/observability

Copy link

@Volv-G Volv-G left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we can proceed with this. If needed we can remove this later, but for the time being this seems to be a good tool to test new telemetry

@morgan-wowk morgan-wowk changed the title feat: Add optional OTel observation services (jaeger, prometheus) feat: Add development observability stack for testing OpenTelemetry with Jaeger, and Prometheus Feb 19, 2026
@morgan-wowk morgan-wowk changed the base branch from otel-api-tracing to graphite-base/101 February 20, 2026 01:53
@morgan-wowk morgan-wowk changed the base branch from graphite-base/101 to master February 20, 2026 01:56
@@ -0,0 +1,44 @@
# OpenTelemetry Collector config: receive OTLP, export traces to Jaeger and metrics for Prometheus scrape.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there a reason why this file extension is .yaml, while the others are .yml?

|----------|--------|-------------|
| `TANGLE_OTEL_EXPORTER_ENDPOINT` | `http://localhost:4317` | OTLP collector address (gRPC). Use `host.docker.internal:4317` if Tangle runs inside Docker. |
| `TANGLE_OTEL_EXPORTER_PROTOCOL` | `grpc` | Protocol for the exporter (default). This stack only accepts gRPC. |
| `TANGLE_ENV` | optional | Included in the service name (e.g. `tangle-development`). Default: `development`. |
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain what this is for? Is service name what is displayed/searched for in the observability tools?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants