From ba62a57da35c704ebe013f5ab4c9d637292fc2f3 Mon Sep 17 00:00:00 2001 From: Cijo Thomas Date: Wed, 28 Feb 2024 09:30:41 -0800 Subject: [PATCH] Tweaks to readme docs --- README.md | 12 ++++++++---- opentelemetry/README.md | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index efd6ff8ae3..0a0080e711 100644 --- a/README.md +++ b/README.md @@ -100,10 +100,14 @@ The following crates are maintained in this repo: * [`opentelemetry-sdk`] This is the OpenTelemetry SDK crate, and contains the official OpenTelemetry SDK implementation. It contains Logging SDK, Metrics SDK, and Tracing SDK. It also contains propagator implementations. -* [`opentelemetry-otlp`] exporter for sending logs, metrics and traces in the - OTLP format to an endpoint accepting OTLP, like the [OpenTelemetry - collector](https://opentelemetry.io/docs/collector/), or [vendor specific - endpoints](https://opentelemetry.io/ecosystem/vendors/). +* [`opentelemetry-otlp`] - exporter to send telemetry (logs, metrics and traces) + in the [OTLP + format](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/protocol) + to an endpoint accepting OTLP. This could be the [OTel + Collector](https://github.com/open-telemetry/opentelemetry-collector), + telemetry backends like [Jaeger](https://www.jaegertracing.io/), + [Prometheus](https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver) + or [vendor specific endpoints](https://opentelemetry.io/ecosystem/vendors/). * [`opentelemetry-stdout`] exporter for sending logs, metrics and traces to stdout, for learning/debugging purposes. * [`opentelemetry-http`] This crate contains utility functions to help with diff --git a/opentelemetry/README.md b/opentelemetry/README.md index f336a2f9b1..85b3236709 100644 --- a/opentelemetry/README.md +++ b/opentelemetry/README.md @@ -86,6 +86,42 @@ also aligned with the design philosophy of existing telemetry solutions in the Rust ecosystem, like `tracing` or `log`, where these crates only offer a facade and the actual functionality is enabled through additional crates. +### Related crates + +Unless you are a library author, you will almost always need to use additional +crates along with this. Given this crate has no-op implementation only, an +OpenTelemetry SDK is always required. +[opentelemetry-sdk](https://crates.io/crates/opentelemetry-sdk) is the official +SDK implemented by OpenTelemetry itself, though it is possible to use a +different sdk. + +Additionally one or more exporters are also required to export telemetry to a +destination. OpenTelemetry provides the following exporters: + +- **[opentelemetry-stdout](https://crates.io/crates/opentelemetry-stdout):** + Prints telemetry to stdout, primarily used for learning/debugging purposes. +- **[opentelemetry-otlp](https://crates.io/crates/opentelemetry-otlp):** Exports + telemetry (logs, metrics and traces) in the [OTLP + format](https://github.com/open-telemetry/opentelemetry-specification/tree/main/specification/protocol) + to an endpoint accepting OTLP. This could be the [OTel + Collector](https://github.com/open-telemetry/opentelemetry-collector), + telemetry backends like [Jaeger](https://www.jaegertracing.io/), + [Prometheus](https://prometheus.io/docs/prometheus/latest/feature_flags/#otlp-receiver) + or [vendor specific endpoints](https://opentelemetry.io/ecosystem/vendors/). +- **[opentelemetry-zipkin](https://crates.io/crates/opentelemetry-zipkin):** + Exports telemetry (traces only) to Zipkin following [OpenTelemetry to Zipkin + specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/trace/sdk_exporters/zipkin.md) +- **[opentelemetry-prometheus](https://crates.io/crates/opentelemetry-prometheus):** + Exports telemetry (metrics only) to Prometheus following [OpenTelemetry to + Prometheus + specification](https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/metrics/sdk_exporters/prometheus.md) + +OpenTelemetry Rust also has a [contrib +repo](https://github.com/open-telemetry/opentelemetry-rust-contrib), where +additional exporters could be found. Check [OpenTelemetry +Registry](https://opentelemetry.io/ecosystem/registry/?language=rust) for +additional exporters and other related components as well. + ## Getting started See [docs](https://docs.rs/opentelemetry).