What are you looking to do? |
---|
Use existing telemetry from your service |
Add new telemetry to your service |
Add new telemetry to your SDK or library |
See example integrations |
The goal here is to give your team a unified data pipeline where your cloud services and infrastructure are "speaking the same language" so that your teams and tools ll see the same data.
- Determine existing metrics, traces, and logs that are available via API.
- Determine existing metric or tracing formats that are already supported by your product (i.e. OpenTracing, Prometheus exporters).
- Review the OpenTelemetry collector and -contrib respositories: does an integration already exists, or is it possible to use an existing integration (i.e. prometheus sidecar if your product already outputs prometheus metrics)?
- If no prior work exists, use the OpenTelemetry Collector Builder to start a new golang project that pulls data from your service and converts it into an OpenTelemetry-compatible metric, log, or trace.
- Via API, pull in relevant logs, metrics or traces telemetry to an OpenTelemetry collector receiver that's configured to ingest data from your service.
- Example: OpenTelemetry Collector Recievers
- Send data from your product to an OpenTelemetry collector that outputs to the console and verify output.
- Optional: verify in an OpenTelemetry production tool of your choice
Make your code usable to as many people as possible! If you're looking for help here, contact us at [email protected]. We'd love to help support you!
-
Find the OpenTelemetry SDK for the language(s) used by your solution (i.e. nginx is written in C++)
-
Import the language-specific OpenTelemetry API and start creating metrics, logs, or traces
- Send data from your product to an OpenTelemetry collector that outputs to the console and verify output.
- Optional: verify in an OpenTelemetry production tool of your choice
-
Find the OpenTelemetry SDK for the language(s) or framework(s) used by your SDK
-
Import the language-specific OpenTelemetry API and patch your library method(s)
- Example: Aspecto AWS SDK Instrumentation
-
Use the OpenTelemetry docs to add spans, metrics, and logs to annotate requests to your cloud service from customer code with more actionable context
- Send data from your product to an OpenTelemetry collector that outputs to the console and verify output.
- Optional: verify in an OpenTelemetry production tool of your choice
Integration | Description |
---|---|
CockroachDB | Instructions for using CockroachDB's native OpenTracing support with Lightstep. |
nginx | Instructions for instrumenting nginx with OpenTelemetry. |
Jenkins X | Publish Jenkins performance metrics and traces to an OpenTelemetry endpoint |
Ambassador k8s Initializer | Automatically configure a Kubernetes cluster to emit traces using Ambassador's k8s initializer. |
Integration | Description |
---|---|
AWS Distro for OpenTelemetry | OpenTelemetry distribution for multiple AWS services. |
Lightstep Prometheus Sidecar | Convert existing Prometheus metrics into OpenTelemetry metrics. |
donut shop demo (EKS) | Example AWS Kubernetes environment that forwards Prometheus metrics to an OpenTelemetry collector. |
Instrumentation Package | Description |
---|---|
AWS SDK Instrumentation (Node.js) | Node.js AWS SDK Instrumentation from Aspecto. |
MongoDB Python SDK (pymongo) | pymongo library instrumentation (open-source). |
MySQL Instrumentation | MySQL client instrumentation for Javascript/Node.js. |