Logfire.Fleet.AutoInstrumentation
0.2.1
dotnet add package Logfire.Fleet.AutoInstrumentation --version 0.2.1
NuGet\Install-Package Logfire.Fleet.AutoInstrumentation -Version 0.2.1
<PackageReference Include="Logfire.Fleet.AutoInstrumentation" Version="0.2.1" />
<PackageVersion Include="Logfire.Fleet.AutoInstrumentation" Version="0.2.1" />
<PackageReference Include="Logfire.Fleet.AutoInstrumentation" />
paket add Logfire.Fleet.AutoInstrumentation --version 0.2.1
#r "nuget: Logfire.Fleet.AutoInstrumentation, 0.2.1"
#:package Logfire.Fleet.AutoInstrumentation@0.2.1
#addin nuget:?package=Logfire.Fleet.AutoInstrumentation&version=0.2.1
#tool nuget:?package=Logfire.Fleet.AutoInstrumentation&version=0.2.1
Logfire.Fleet.AutoInstrumentation
A plugin for upstream's OpenTelemetry .NET automatic instrumentation that puts the SDK it sets up under an OpAMP server. For an SDK set up in code, see Logfire.Fleet.Extensions.Hosting.
Quickstart
Add the plugin next to the automatic instrumentation package:
dotnet add package OpenTelemetry.AutoInstrumentation --version 1.17.0
dotnet add package Logfire.Fleet.AutoInstrumentation
Then name it in OTEL_DOTNET_AUTO_PLUGINS and run the application with the server's address and
key:
OTEL_DOTNET_AUTO_PLUGINS="Logfire.Fleet.AutoInstrumentation.Plugin, Logfire.Fleet.AutoInstrumentation" \
OTEL_SERVICE_NAME=checkout \
OTEL_OPAMP_ENDPOINT=https://opamp.example.com/v1/opamp \
OTEL_OPAMP_HEADERS="Authorization=Bearer%20<key>" \
./instrument.sh dotnet Checkout.dll
When it works, it says on standard error:
OpAMP: connected to https://opamp.example.com/v1/opamp; this SDK is managed as checkout, instance <uid>
It shows with no logging setup (an OTEL_LOG_LEVEL other than info or debug hides it). In Logfire, Fleet →
Connect an application gives the endpoint and the key. When it can't connect, it warns once,
with what to check; warnings always show.
The instance keeps its UID across restarts with no configuration (default-state-dir.md).
The server can also send the application settings of its own (a feature flag, say), which it reads
with Logfire.Fleet.OpAmpAppSettings.Get("checkout.new_flow", "off") and can be told of with
OpAmpAppSettings.OnChange (the application's own settings).
Everything else is in docs/dotnet-otel.md.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. |
-
net10.0
- Logfire.Fleet.Client (>= 0.2.1)
- OpenTelemetry.AutoInstrumentation.PluginApi (>= 1.17.0)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.19.1)
-
net8.0
- Logfire.Fleet.Client (>= 0.2.1)
- OpenTelemetry.AutoInstrumentation.PluginApi (>= 1.17.0)
- OpenTelemetry.Exporter.OpenTelemetryProtocol (>= 1.19.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.