open-telemetry / open-telemetry/sig-developer-experience

.NET developer experience survey

Open
#13 2 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
3
Forks
7
Avg merge
10h 46m
Merged PRs (30d)
3

Description

  • differences from upstream spec:
  • discrepancies - why?
  • extra convenience
  • Typically try to keep to the spec, and not have extra [convenience] functionality specific to .NET, if it's not in the spec it goes in the contrib repo.
  • Integration with Hosting APIs in .NET which are convenience mechanisms for configuring .NET
  • UseOtlpExporter - simple way to add OTLP for logs/traces/metrics in one API call
  • MetricsBuilder (.NET runtime) enables specifying metrics to listen to based on .NET config files
  • Have to explicitly configure which spans to listen to telemetry for (eg. microsoft.aspnet.*)
  • Most requested features
  • API
  • SDK
  • Spec says to always create a spanID - which would mean creating Activities in .NET for each sub operation - as that is a high expense. .NET only creates a root so we have a TraceId/SpanId. (.NET is out of spec compliance because of this, but don't see this as a user issue)
  • Where to put a Durable ID for LogRecord - so backends can drop spammy log messages
  • Better way to decorate metrics with context - what is the equivalent of a span processor for metrics
  • Carry-on baggage - adding additional data to a context that is propagated to each span to in the context.
  • Ability to define a scope and then all spans/logs within the scope will include its baggage
  • No good way to designate a node as ingress and to ignore all context on requests that come into that node
  • Instrumentations/semantic conventions
  • (sarcastic) when will they be stable?
  • Instrumentation libraries can't be marked as stable as the corresponding conventions are not stable
  • things to consider from other telemetry projects
  • Some of the Java agent lifecycle extensions should be part of the common spec

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the OpenTelemetry spec compliance matrix and review the listed .NET APIs, including ILogger, Meter, Activity/ActivitySource, UseOtlpExporter, and MetricsBuilder. Compare the requested API, SDK, baggage, metrics, ingress, and lifecycle topics with the Java agent extensions. Done means a current survey of .NET gaps, compliance differences, and requested features.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
developer-experience
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.