4个版本 (重大更新)

0.4.0 2023年10月26日
0.3.0 2023年3月26日
0.2.0 2022年9月13日
0.1.0 2022年1月22日

#24 in #metrics-exporter

Apache-2.0

1MB
19K SLoC

OpenTelemetry — An observability framework for cloud-native software.

Dynatrace

这是该crate的最后一个版本!

Dynatrace支持原生OpenTelemetry协议(OTLP)对跟踪、指标和日志的摄取。所有信号都可以通过OpenTelemetry Rust SDK中内置的OTLP/HTTP导出器直接发送到Dynatrace。有关如何配置Rust应用程序使用OTLP导出器的更多信息,请参阅Dynatrace文档

Dynatrace OpenTelemetry指标导出器用于Rust

Static Badge Crates.io: opentelemetry-dynatrace Documentation LICENSE GitHub Actions CI Slack

警告 Dynatrace支持原生OpenTelemetry协议(OTLP)对跟踪、指标和日志的摄取。因此,专有的Dynatrace OpenTelemetry指标导出器已被弃用,以支持通过OTLP/HTTP导出。

导出器仍然可用,但在2023年底之后,将不再提供支持、更新或与新版本OTel的兼容性。

请参阅迁移指南,了解如何迁移到OTLP HTTP导出器,以及这次过渡的原因和好处。

有关如何在Rust应用程序中配置OTLP导出器的示例,请参阅Dynatrace文档中的Rust集成演练页面。

概述

OpenTelemetry是一组用于对软件的性能和行为进行分析的工具、API和SDK,用于检测、生成、收集和导出遥测数据(指标、日志和跟踪)。这个crate提供额外的传播器和导出器,用于将遥测数据发送到Dynatrace

导出器功能

本导出器仅支持摄取指标数据。对于跟踪数据,请使用opentelemetry-otlp,如Rust的Dynatrace文档中所述。此导出器基于Rust的OpenTelemetry指标SDK,目前处于alpha状态,既不稳定也不完整。因此,在OpenTelemetry指标API和SDK稳定之前,不建议在生产环境中使用此导出器。有关Rust的OpenTelemetry SDK当前状态的更多信息,请参阅open-telemetry/opentelemetry-rust

示例

示例目录包含一个高级示例,展示了跟踪数据和指标数据的同时摄取。

性能

为了获得最佳性能,使用批导出器。您可以通过启用rt-tokio特性标志来使用tokio运行时,或者启用rt-async-std特性标志来使用async-std运行时,以便自动为您配置批导出器。

选择HTTP客户端

此导出器将要使用的HTTP客户端可以通过特性标志来覆盖。默认情况下,已启用reqwest-client特性标志,这将使用reqwest http客户端。

  • reqwest-client(默认启用):使用reqwest http客户端发送指标数据。
  • reqwest-tls(默认启用):使用带有rustlsreqwest http客户端以启用TLS支持。
  • reqwest-blocking-client:使用reqwest阻塞http客户端发送指标数据。
  • isahc-client:使用isahc http客户端发送指标数据。
  • surf-client:使用surf http客户端发送指标数据。

您还可以使用HttpClient特质配置您自己的http客户端实现。

WebAssembly

可以通过启用wasm特性标志来启用WebAssembly支持。

依赖

~3–21MB
~297K SLoC