Sparkdo.Instrumentation.Compiler
2.0.0-preview.2
dotnet add package Sparkdo.Instrumentation.Compiler --version 2.0.0-preview.2
NuGet\Install-Package Sparkdo.Instrumentation.Compiler -Version 2.0.0-preview.2
<PackageReference Include="Sparkdo.Instrumentation.Compiler" Version="2.0.0-preview.2" />
<PackageVersion Include="Sparkdo.Instrumentation.Compiler" Version="2.0.0-preview.2" />
<PackageReference Include="Sparkdo.Instrumentation.Compiler" />
paket add Sparkdo.Instrumentation.Compiler --version 2.0.0-preview.2
#r "nuget: Sparkdo.Instrumentation.Compiler, 2.0.0-preview.2"
#:package Sparkdo.Instrumentation.Compiler@2.0.0-preview.2
#addin nuget:?package=Sparkdo.Instrumentation.Compiler&version=2.0.0-preview.2&prerelease
#tool nuget:?package=Sparkdo.Instrumentation.Compiler&version=2.0.0-preview.2&prerelease
Sparkdo.Instrumentation.Compiler
Sparkdo.Instrumentation.Compiler 是 instrumentation 的 Roslyn analyzer/source generator 包。
职责
- 发现可静态证明的
SparkdoInstrumentationDescriptor定义。 - 为 operation 生成 telemetry 常量和调用
IRuntimeInstrumentationHook的 bridge。 - 在
Applicationrole 下生成SparkdoInstrumentationBootstrapContribution;Packagerole 不生成该贡献。 - 对无法静态证明的 descriptor fail closed,并报告 generator diagnostic。
非职责
- 不创建 runtime sink、
ActivitySource、Meter或 recorder。 - 不执行 Manifest 合并、Hosting 启动或 OpenTelemetry 配置。
- 不扫描 reference assembly,也不通过反射发现 runtime 类型。
关键入口
| API / artifact | 用途 |
|---|---|
SparkdoInstrumentationGenerator |
incremental source generator 入口。 |
InstrumentationDiscovery |
解析 descriptor 语法与语义。 |
InstrumentationSourceEmitter |
生成 operation telemetry bridge。 |
SparkdoInstrumentationBootstrapContribution.g.cs |
Application bootstrap 贡献。 |
依赖
项目面向 netstandard2.0,编译期私有依赖 Microsoft.CodeAnalysis.CSharp、Sparkdo.Instrumentation.Abstractions 和 Sparkdo.Runtime。NuGet 包只把编译器 DLL 放入 analyzers/dotnet/cs。
集成
应用通常引用 Sparkdo.Instrumentation,由运行时包携带本 analyzer。编译器测试应通过 Sparkdo.SourceGenerationTesting.SourceGenerationSpec 提供源码、reference、SparkdoManifestRole 和 generator,再验证 artifact、diagnostic、generated compilation 与 determinism。
验证
dotnet test src/instrumentation/test/Sparkdo.Instrumentation.Compiler.Tests/Sparkdo.Instrumentation.Compiler.Tests.csproj --no-restore -p:UseSharedCompilation=false -nr:false
Learn more about Target Frameworks and .NET Standard.
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.0-preview.2 | 80 | 7/20/2026 |
| 2.0.0-preview.1 | 64 | 7/18/2026 |