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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Qyl.OpenTelemetry.SemanticConventions" Version="3.0.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Qyl.OpenTelemetry.SemanticConventions" Version="3.0.2" />
                    
Directory.Packages.props
<PackageReference Include="Qyl.OpenTelemetry.SemanticConventions" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Qyl.OpenTelemetry.SemanticConventions --version 3.0.2
                    
#r "nuget: Qyl.OpenTelemetry.SemanticConventions, 3.0.2"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Qyl.OpenTelemetry.SemanticConventions@3.0.2
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Qyl.OpenTelemetry.SemanticConventions&version=3.0.2
                    
Install as a Cake Addin
#tool nuget:?package=Qyl.OpenTelemetry.SemanticConventions&version=3.0.2
                    
Install as a Cake Tool

Qyl.OpenTelemetry.SemanticConventions

NuGet Qyl.OpenTelemetry.SemanticConventions NuGet Qyl.OpenTelemetry.SemanticConventions.Incubating NuGet Qyl.OpenTelemetry.SemanticConventions.SourceGeneration NuGet Qyl.OpenTelemetry.SemanticConventions.Analyzers NuGet Qyl.OpenTelemetry.SemanticConventions.Nuke CI .NET License: Apache 2.0

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-render docs/Qyl.OpenTelemetry.SemanticConventions.Analyzers.md from 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, and DiagnosticId const agree with the runtime descriptor it registers.
  • EnforceIdsApply — rewrite analyzer sources to realign those after an intentional rule-id change.
  • VerifyAttributesHash — hash the committed Attributes/**/*.g.cs against eng/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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .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.

Version Downloads Last Updated
3.0.2 64 6/24/2026
3.0.1 2,119 6/4/2026
3.0.0 604 5/25/2026
2.0.1 100 5/25/2026
2.0.0 253 5/23/2026
1.11.0 272 4/24/2026