OpenTelemetry.AutoInstrumentation 1.7.0

前缀已预留
dotnet add package OpenTelemetry.AutoInstrumentation --version 1.7.0                
NuGet\Install-Package OpenTelemetry.AutoInstrumentation -Version 1.7.0                
此命令旨在在 Visual Studio 的包管理器控制台中使用,因为它使用了 NuGet 模块的 Install-Package 版本。
<PackageReference Include="OpenTelemetry.AutoInstrumentation" Version="1.7.0" />                
对于支持 PackageReference 的项目,将此 XML 节点复制到项目文件中,以引用此包。
paket add OpenTelemetry.AutoInstrumentation --version 1.7.0                
#r "nuget: OpenTelemetry.AutoInstrumentation, 1.7.0"                
#r 指令可以用于 F# Interactive 和多语言笔记本。将此内容复制到交互式工具或脚本的源代码中,以引用包。
// Install OpenTelemetry.AutoInstrumentation as a Cake Addin
#addin nuget:?package=OpenTelemetry.AutoInstrumentation&version=1.7.0

// Install OpenTelemetry.AutoInstrumentation as a Cake Tool
#tool nuget:?package=OpenTelemetry.AutoInstrumentation&version=1.7.0                

使用 OpenTelemetry.AutoInstrumentation NuGet 包

何时使用 NuGet 包

在以下场景中使用 NuGet 包

  1. 您控制应用构建,但不控制应用运行的机器/容器。
  2. 支持对 self-contained 应用的仪器化。
  3. 通过 NuGet 包方便开发者进行自动仪器化的实验。
  4. 解决应用程序使用的依赖项与自动仪器化之间的版本冲突。

限制

虽然 NuGet 包是部署自动仪器化的便利方式,但不能在所有情况下使用。不使用 NuGet 包的最常见原因包括以下

  1. 您无法将包添加到应用项目。例如,该应用是第三方应用,无法添加包。
  2. 当多个将要仪器化的应用安装在同一台机器上时,可以减少磁盘使用量或虚拟机的容量。在这种情况下,您可以对该机器上运行的所有 .NET 应用使用单个部署。
  3. 无法迁移到 SDK 风格项目 的遗留应用。

使用 NuGet 包

要使用 OpenTelemetry .NET 自动 Instrumentation 自动对应用程序进行配置,请将 OpenTelemetry.AutoInstrumentation 包添加到您的项目中

dotnet add [<PROJECT>] package OpenTelemetry.AutoInstrumentation

如果应用程序引用了可以配置的包,但是配置需要其他包,则构建将失败,并提示您添加缺少的配置包或跳过相应包的配置

~packages/opentelemetry.autoinstrumentation.buildtasks/1.1.0/build/OpenTelemetry.AutoInstrumentation.BuildTasks.targets(29,5): error : OpenTelemetry.AutoInstrumentation: add a reference to the instrumentation package 'MongoDB.Driver.Core.Extensions.DiagnosticSources' version 1.3.0 or add 'MongoDB.Driver.Core' to the property 'SkippedInstrumentations' to suppress this error.

要解决错误,要么添加推荐的配置包,要么将列出的包添加到 SkippedInstrumentation 属性中跳过配置。例如

  <PropertyGroup>
    <SkippedInstrumentations>MongoDB.Driver.Core;StackExchange.Redis</SkippedInstrumentations>
  </PropertyGroup>

该属性也可以直接在终端中指定。注意,; 分隔符需要正确转义为 '%3B'

  dotnet build -p:SkippedInstrumentations=StackExchange.Redis%3BMongoDB.Driver.Core

为了与 .NET 应用程序一起分发适当的本地运行时组件,指定一个 运行时标识符 (RID),使用 dotnet builddotnet publish 构建应用程序。这可能需要您在分发 自包含框架依赖 的应用程序之间进行选择。这两种类型都与自动配置兼容。

使用构建输出文件夹中的脚本启动应用程序,以激活自动配置。

  • 在 Windows 上,使用 instrument.cmd <应用程序可执行文件>
  • 在 Linux 或 Unix 上,使用 instrument.sh <应用程序可执行文件>

如果您使用 dotnet CLI 启动应用程序,请将 dotnet 添加到脚本之后。

  • 在 Windows 上,使用 instrument.cmd dotnet <应用程序>
  • 在 Linux 和 Unix 上,使用 instrument.sh dotnet <应用程序>

该脚本将传递您提供的所有命令行参数到应用程序。

本包不包含受支持的框架资源。

有关目标框架的信息,请参阅目标框架和有关.NET Standard的信息,请参阅.NET Standard

NuGet 包 (7)

显示依赖于 OpenTelemetry.AutoInstrumentation 的前5个 NuGet 包

下载
Splunk.OpenTelemetry.AutoInstrumentation

Splunk 分发的 OpenTelemetry .NET 包,包含启用自动配置所需的所有组件。

VRSPRO.Common.Web

一套用于处理缓存、数据库、队列、消息代理、文件、反射、错误、分页、集合、字符串和 ASP NET CORE 的内部通用类和扩展。您可以将此代码直接用于您的项目中。您可以复制、修改和分发它而无需任何限制。您不需要提供任何版权信息或引用。

AElf.OpenTelemetry

ABP 和 Orleans 框架使用的 OpenTelemetry 模块。

Vistahub.DotnetCommon.Infraestructure

一个包含为微服务模式提供更简化子系统的简单项目。

ChrisKaczor.Common.OpenTelemetry

OpenTelemetry 的通用设置。

GitHub 仓库

此包在没有任何知名 GitHub 仓库中使用。

版本 下载 最近更新
1.7.0 30,103 6/18/2024
1.6.0 22,787 4/29/2024
1.5.0 29,960 4/9/2024
1.4.0 46,126 2/12/2024
1.3.0 44,246 1/18/2024
1.2.0 35,963 11/22/2023
1.1.0 15,142 10/20/2023
1.0.2 57,714 9/27/2023
1.0.1 1,992 9/21/2023
1.0.0 6,453 9/7/2023
1.0.0-rc.2 16,925 8/3/2023
1.0.0-rc.1 4,233 6/27/2023