Quartz.OpenTelemetry.Instrumentation 提供与 OpenTelemetry 的集成。
提示
需要 Quartz 3.1 或更高版本。
警告
集成库仍然可以存活一段时间,因此集成 API 可以有重大更改和更改行为。
安装
您需要将 NuGet 包引用添加到使用 Quartz 的项目中。
Install-Package Quartz.OpenTelemetry.Instrumentation
为 exporter 安装软件包以在某处实际获得结果也是有意义的。
使用
您可以通过在 TracerProviderBuilder 上调用扩展方法 AddQuartzInstrumentation 来添加 Quartz 配置。
在下一个示例中,我们将与 Jaeger 集成。 我们希望您还安装了依赖项:
您可以使用以下命令通过 docker 运行本地 Jaeger:
$ docker run -d --name jaeger \-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \-p 5775:5775/udp \-p 6831:6831/udp \-p 6832:6832/udp \-p 5778:5778 \-p 16686:16686 \-p 14268:14268 \-p 14250:14250 \-p 9411:9411 \jaegertracing/all-in-one:1.18
示例 Startup.ConfigureServices 配置
public void ConfigureServices(IServiceCollection services){// 确保在 quartz 服务之前配置日志记录和打开遥测services.AddOpenTelemetry(builder =>{builder.AddQuartzInstrumentation().UseJaegerExporter(o =>{o.ServiceName = "My Software Name";// 这些是默认值o.AgentHost = "localhost";o.AgentPort = 6831;});});}
