OpenTelemetry .NET 自动插桩项目教程
1. 项目的目录结构及介绍
OpenTelemetry .NET 自动插桩项目的目录结构如下:
opentelemetry-dotnet-instrumentation/
├── docs/
│ ├── config.md
│ ├── design.md
│ └── README.md
├── examples/
│ └── demo/
│ └── README.md
├── src/
│ ├── OpenTelemetry.AutoInstrumentation.csproj
│ └── OpenTelemetry.AutoInstrumentation.AdditionalDeps/
│ └── Directory.Build.props
└── README.md
目录结构介绍
- docs/: 包含项目的文档文件,如配置文件说明 (
config.md
)、设计文档 (design.md
) 和项目介绍 (README.md
)。 - examples/: 包含示例代码,特别是
demo/
目录下的示例,展示了如何使用 Docker Compose 进行演示。 - src/: 包含项目的源代码,主要文件包括
OpenTelemetry.AutoInstrumentation.csproj
和OpenTelemetry.AutoInstrumentation.AdditionalDeps/
目录下的构建属性文件。 - README.md: 项目的主介绍文件,包含了项目的概述、使用方法和相关链接。
2. 项目的启动文件介绍
项目的启动文件主要是通过环境变量来配置和启动自动插桩功能。以下是启动文件的介绍:
环境变量配置
在启动应用程序之前,需要设置以下环境变量为 true
:
OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED=true
OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED=true
OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED=true
Docker Compose 示例
可以通过克隆项目并使用 examples/demo/README.md
中的示例来启动 Docker Compose 演示。
3. 项目的配置文件介绍
项目的配置文件主要位于 docs/config.md
中,包含了如何配置 OpenTelemetry .NET 自动插桩的详细说明。
配置文件内容
- RuleEngine: 该功能用于验证 OpenTelemetry API、SDK、插桩和导出器组件,确保在不受支持的场景下不会出现问题。
- 环境变量: 通过设置特定的环境变量来启用不同的导出器,如日志、指标和追踪的控制台导出器。
配置示例
以下是一个配置示例,展示了如何通过环境变量启用控制台导出器:
export OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED=true
export OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED=true
export OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED=true
通过这些配置,可以确保 OpenTelemetry .NET 自动插桩功能在应用程序启动时正确加载并运行。