Skip to content

honeycombio/honeycomb-opentelemetry-dotnet

Repository files navigation

Honeycomb OpenTelemetry Distro for .NET

OSS Lifecycle CircleCI Dependencies Nuget

STATUS: This project is being Sunset. See this issue for more details.

This is Honeycomb's distribution of OpenTelemetry for .NET. It makes getting started with OpenTelemetry and Honeycomb easier!

Latest release built with:

NOTE

OpenTelemetry .NET SDK versions after 1.6.0 use updated HTTP semantic conventions that result in different telemetry attribute keys and can contribute to unexpected query results in Honeycomb. For this reason, we have decided the Honeycomb OpenTelemetry distro will not take further updates yet.

Please see our Migration guide for HTTP semantic conventions for more details.

Getting Started

Honeycomb's OpenTelemetry .NET SDK gives you the ability to add manual instrumentation to your applications.

Why would I want to use this?

  • Streamlined configuration for sending data to Honeycomb!
  • Easy interop with existing instrumentation with OpenTelemetry!
  • Deterministic sampling!
  • Multi-span attributes!

Overriding OpenTelemetry SDK Builder options

The OpenTelemetry SDK uses a builder pattern to set options and currently does not provide a way to know if a particular option has already been set. This can lead to the same option being set multiple times with the last one wins behaviour.

For example, the AddHoneycomb(options) function configures a Sampler so another call to SetSampler(sampler) will override the first sampler.

HTTP Semantic Conventions

The semantic conventions for attribute names used in HTTP instrumentation libraries is being updated and could cause distruption for existing users who rely on the existing names. For this reason, we have locked HTTP instrumentation packages to 1.6.0-beta.3 which includes the OTEL_SEMCONV_STABILITY_OPT_IN environment variable that allows users to opt-in to the new behaviour when they are ready to.

See this Migration Guide for details on how to switch between the old and new attribute keys when using Honeycomb.

License

Apache 2.0 License.