Skip to content

Commit

Permalink
Remove opentelemetry-dynatrace source. (#1321)
Browse files Browse the repository at this point in the history
We will no longer build/support it as Dynatrace is migrating towards
OTLP ingestion.

Relates #1099
  • Loading branch information
hdost committed Oct 27, 2023
1 parent 2022ace commit ed97a1b
Show file tree
Hide file tree
Showing 13 changed files with 7 additions and 2,205 deletions.
1 change: 0 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ members = [
"opentelemetry-aws",
"opentelemetry-contrib",
"opentelemetry-datadog",
"opentelemetry-dynatrace",
"opentelemetry-http",
"opentelemetry-jaeger",
"opentelemetry-jaeger/examples/actix-udp",
Expand Down
85 changes: 0 additions & 85 deletions opentelemetry-dynatrace/Cargo.toml

This file was deleted.

99 changes: 6 additions & 93 deletions opentelemetry-dynatrace/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,100 +4,13 @@

# Dynatrace

*This is the last release of the crate!*
The final release of this crate was 0.4.0. Dynatrace now recommends using the OTLP exporter. They also provide a [migration guide]
For an example on how to configure the OTLP exporter in a Rust application, check out the [Rust integration walk-through] page in the Dynatrace documentation.

[Dynatrace](https://www.dynatrace.com/integrations/opentelemetry) supports native
OpenTelemetry protocol (OTLP) ingest for traces, metrics and logs.
All signals can be sent directly to Dynatrace via **OTLP protobuf over HTTP**
using the built-in OTLP/HTTP Exporter available in the OpenTelemetry Rust SDK.
More information on configuring your Rust applications to use the OTLP exporter can be found in the
[Dynatrace documentation](https://www.dynatrace.com/support/help/shortlink/otel-wt-rust).
[migration guide]: https://www.dynatrace.com/support/help/shortlink/migrating-dynatrace-metrics-exporter-otlp-exporter#migrate-applications
[Rust integration walk-through]: https://www.dynatrace.com/support/help/shortlink/otel-wt-rust

## Dynatrace OpenTelemetry Metrics Exporter for Rust

![Static Badge](https://img.shields.io/badge/status-deprecated-orange)
[![Crates.io: opentelemetry-dynatrace](https://img.shields.io/crates/v/opentelemetry-dynatrace.svg)](https://crates.io/crates/opentelemetry-dynatrace)
[![Documentation](https://docs.rs/opentelemetry-dynatrace/badge.svg)](https://docs.rs/opentelemetry-dynatrace)
[![LICENSE](https://img.shields.io/crates/l/opentelemetry-dynatrace)](./LICENSE)
[![GitHub Actions CI](https://github.com/open-telemetry/opentelemetry-rust/workflows/CI/badge.svg)](https://github.com/open-telemetry/opentelemetry-rust/actions?query=workflow%3ACI+branch%3Amain)
[![Slack](https://img.shields.io/badge/slack-@cncf/otel/rust-brightgreen.svg?logo=slack)](https://cloud-native.slack.com/archives/C03GDP0H023)
## Notice Removal

> **Warning**
> Dynatrace supports native OpenTelemetry protocol (OTLP) ingest for traces, metrics and logs.
> Therefore, the proprietary Dynatrace OpenTelemetry metrics exporter is deprecated in favor of exporting via OTLP/HTTP.
>
> The exporter is still available but after the end of 2023, no support, updates, or compatibility with newer OTel versions will be provided.
>
> Please refer to the [migration guide](https://www.dynatrace.com/support/help/shortlink/migrating-dynatrace-metrics-exporter-otlp-exporter#migrate-applications) for instructions on how to migrate to the OTLP HTTP exporter, as well as reasoning and benefits for this transition.
>
> For an example on how to configure the OTLP exporter in a Rust application, check out the [Rust integration walk-through](https://www.dynatrace.com/support/help/shortlink/otel-wt-rust) page in the Dynatrace documentation.
### Overview

[`OpenTelemetry`] is a collection of tools, APIs, and SDKs used to instrument,
generate, collect, and export telemetry data (metrics, logs, and traces) for
analysis in order to understand your software's performance and behavior. This
crate provides additional propagators and exporters for sending telemetry data
to [`Dynatrace`].

### Exporter features

* **Metrics** - Ingest metric data to Dynatrace using the [Dynatrace Metrics ingestion protocol].

This exporter only supports the ingestion of metric data. For trace data, use
[`opentelemetry-otlp`] as described in the
[Dynatrace documentation for Rust]. This exporter is based on the OpenTelemetry
Metrics SDK for Rust, which is currently in an alpha state and neither
considered stable nor complete as of this writing. As such, this exporter is
not intended for production use until the underlying OpenTelemetry Metrics API
and SDK are stable. See [`open-telemetry/opentelemetry-rust`] for the current
state of the OpenTelemetry SDK for Rust.

[Dynatrace]: https://www.dynatrace.com/
[Dynatrace Metrics ingestion protocol]: https://www.dynatrace.com/support/help/how-to-use-dynatrace/metrics/metric-ingestion/metric-ingestion-protocol/
[Dynatrace documentation for Rust]: https://www.dynatrace.com/support/help/shortlink/opent-rust
[`open-telemetry/opentelemetry-rust`]: https://github.com/open-telemetry/opentelemetry-rust

#### Examples

The examples directory contains an [advanced example](../examples/dynatrace)
showing the ingestion of trace data and metric data together.

[`opentelemetry-otlp`]: https://crates.io/crates/opentelemetry-otlp
[`opentelemetry-dynatrace`]: https://crates.io/crates/opentelemetry-dynatrace

### Performance

For optimal performance, a batch exporter is used. You can enable the `rt-tokio`
feature flag to use the [`tokio`] runtime, or enable the `rt-async-std` feature
flag to use the [`async-std`] runtime to have a batch exporter configured for
you automatically.

[`tokio`]: https://tokio.rs
[`async-std`]: https://async.rs

### Choosing an HTTP client

The HTTP client that this exporter will use can be overridden with feature
flags. By default the `reqwest-client` feature flag is enabled which will use
the [`reqwest`] http client.

- `reqwest-client` (enabled by default): use the [`reqwest`] http client to send metric data.
- `reqwest-tls` (enabled by default): use the [`reqwest`] http client with [`rustls`] to enable TLS support.
- `reqwest-blocking-client`: use the [`reqwest`] blocking http client to send metric data.
- `isahc-client`: use the [`isahc`] http client to send metric data.
- `surf-client`: use the [`surf`] http client to send metric data.

You can also configure your own http client implementation using the `HttpClient` trait.

[`reqwest`]: https://docs.rs/reqwest/latest/reqwest/
[`rustls`]: https://docs.rs/rustls/latest/rustls/
[`isahc`]: https://docs.rs/isahc/latest/isahc/
[`surf`]: https://docs.rs/surf/latest/surf/

### WebAssembly

WebAssembly support can be enabled with the `wasm` feature flag.

[`Dynatrace`]: https://www.dynatrace.com/
[`OpenTelemetry`]: https://crates.io/crates/opentelemetry
This README and directory can be removed after any time in 2024 at least 6 months from the last release date of `opentelemetry-dynatrace`.
52 changes: 0 additions & 52 deletions opentelemetry-dynatrace/src/exporter/mod.rs

This file was deleted.

Loading

0 comments on commit ed97a1b

Please sign in to comment.