Qyl.OpenTelemetry.SemanticConventions
3.0.2
dotnet add package Qyl.OpenTelemetry.SemanticConventions --version 3.0.2
NuGet\Install-Package Qyl.OpenTelemetry.SemanticConventions -Version 3.0.2
<PackageReference Include="Qyl.OpenTelemetry.SemanticConventions" Version="3.0.2" />
<PackageVersion Include="Qyl.OpenTelemetry.SemanticConventions" Version="3.0.2" />
<PackageReference Include="Qyl.OpenTelemetry.SemanticConventions" />
paket add Qyl.OpenTelemetry.SemanticConventions --version 3.0.2
#r "nuget: Qyl.OpenTelemetry.SemanticConventions, 3.0.2"
#:package Qyl.OpenTelemetry.SemanticConventions@3.0.2
#addin nuget:?package=Qyl.OpenTelemetry.SemanticConventions&version=3.0.2
#tool nuget:?package=Qyl.OpenTelemetry.SemanticConventions&version=3.0.2
Qyl.OpenTelemetry.SemanticConventions
Five .NET packages covering the OpenTelemetry semantic-conventions lifecycle end to end — from the upstream registry, through Weaver-generated attribute-key constants and Roslyn source generation, to compile-time analyzers that keep consumer telemetry conformant. The Weaver and TypeSpec build pipeline ships as a reusable Nuke component.
Compatible with: OpenTelemetry Semantic Conventions v1.41.0
Targets: net10.0, netstandard2.0
| Channel | Package | Contents |
|---|---|---|
| stable | Qyl.OpenTelemetry.SemanticConventions |
Stable attribute-key constants, pre-generated by Weaver against the registry pinned at SemConvSchemaVersion, plus the embedded resolved schema. |
| stable | Qyl.OpenTelemetry.SemanticConventions.Incubating |
Incubating attribute-key constants in a separate package — opt in to instability deliberately; breaking between minor versions. |
| stable | Qyl.OpenTelemetry.SemanticConventions.SourceGeneration |
Roslyn incremental source generator. Emits typed attribute constants, Activity tag setters, metric descriptors, Meter factories, and event payloads from the embedded resolved registry, driven by [SemanticConvention*] marker attributes at consumer build time. |
| stable | Qyl.OpenTelemetry.SemanticConventions.Analyzers |
Roslyn diagnostic analyzers + code fixes — flag deprecated semconv usage, missing required attributes, and schema-URL omission. |
| stable | Qyl.OpenTelemetry.SemanticConventions.Nuke |
Nuke build component (IUpstreamConventions, IDomainConventionsApi, LockstepPolicy) exposing the Weaver and TypeSpec pipelines. |
Analyzer reference: index · per-rule pages · migration catalog · SARIF v2.1.0 manifest · editorconfig profiles
Configuring analyzer severity
Switch the whole QYL00xx band from one MSBuild property instead of dropping editorconfig files:
<PropertyGroup>
<OtelSemConvAnalysisMode>AllAsErrors</OtelSemConvAnalysisMode>
</PropertyGroup>
| Value | Effect |
|---|---|
Default |
Descriptor-defined severities. |
AllAsErrors |
Whole band as errors (strict CI). |
Disabled |
Silence the band. |
| unset | No editorconfig injection; consumer-side editorconfig stays authoritative. |
The knob ships via buildTransitive/Qyl.OpenTelemetry.SemanticConventions.Analyzers.props in the NuGet. The name is deliberately not the bare <AnalysisMode> — that one is owned by Microsoft.CodeAnalysis.NetAnalyzers.
Build and regeneration
eng/build/ is a Nuke host; ./build.sh runs Compile — every project in the solution, with TreatWarningsAsErrors. Other targets:
GenerateDocs— re-renderdocs/Qyl.OpenTelemetry.SemanticConventions.Analyzers.mdfrom the analyzer assembly.CheckDocs— CI guard; fails when the committed markdown drifts from what the generator would emit.AuditDocs— print analyzer-catalog statistics (no file I/O).EnforceIds— verify each analyzer's class name, XML-doc summary, andDiagnosticIdconst agree with the runtime descriptor it registers.EnforceIdsApply— rewrite analyzer sources to realign those after an intentional rule-id change.VerifyAttributesHash— hash the committedAttributes/**/*.g.csagainsteng/semconv/attributes.lock.sha256; drift fails the build.SeedAttributesHash— refresh that lock after an intentional regeneration.
Attribute constants are regenerated out of band: a human runs Weaver against the OTel registry pinned at SemConvSchemaVersion, commits the new .g.cs, then runs SeedAttributesHash. The build itself never invokes Weaver — the committed .g.cs is the source of truth, guarded in CI by VerifyAttributesHash.
Upstream path
If the upstream OpenTelemetry .NET source-generator effort (open-telemetry/opentelemetry-dotnet-contrib#4424) lands, the SourceGeneration, Analyzers, and Nuke packages ship as one cohesive unit. Type identities are preserved, so the only consumer-side change is the PackageReference id.
Siblings: ANcpLua.Agents · ANcpLua.Roslyn.Utilities · ANcpLua.NET.Sdk · ANcpLua.Analyzers
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Qyl.OpenTelemetry.SemanticConventions:
| Package | Downloads |
|---|---|
|
Qyl.OpenTelemetry.AutoInstrumentation
AOT-native zero-code .NET instrumentation core. Source-generated semconv registry + Activity/Meter primitives. NO IL rewriting, NO CLR profiler attach. |
GitHub repositories
This package is not used by any popular GitHub repositories.