OpenTelemetry.Instrumentation.EventCounters 1.14.0-alpha.1

EventCounters Instrumentation for OpenTelemetry .NET

Status
Stability Alpha
Code Owners @hananiel, @mic-max

NuGet version badge NuGet download count badge codecov.io

This is an Instrumentation Library , which republishes EventCounters using OpenTelemetry Metrics API.

Steps to enable OpenTelemetry.Instrumentation.EventCounters

You can view an example project using EventCounters at /examples/event-counters/Examples.EventCounters.

Step 1: Install Package

Add a reference to the OpenTelemetry.Instrumentation.EventCounters package.

dotnet add package OpenTelemetry.Instrumentation.EventCounters --prerelease

Step 2: Enable EventCounters Instrumentation

EventCounters instrumentation should be enabled at application startup using the AddEventCountersInstrumentation extension on the MeterProviderBuilder:

using var meterProvider = Sdk.CreateMeterProviderBuilder()
    .AddEventCountersInstrumentation(options => {
        options.RefreshIntervalSecs = 1;
        options.AddEventSources("MyEventSource");
    })
    .AddPrometheusHttpListener()
    .Build();

Additionally, the above snippet sets up the OpenTelemetry Prometheus exporter, which requires adding the package OpenTelemetry.Exporter.Prometheus to the application.

Step 3: Create EventCounters

Learn about EventCounters in .NET .

EventSource eventSource = new("MyEventSource");

EventCounter eventCounter = new("MyEventCounterName", eventSource);
eventCounter.WriteMetric(0);
eventCounter.WriteMetric(1000);

PollingCounter pollingCounter = new("MyPollingCounterName", eventSource, () => new Random().NextDouble());

Notes

The metrics will only be available after EventCounterIntervalSec seconds. Before that nothing will be exported, if anything is present at the Prometheus metrics endpoint it is from a prior execution. This is more evident when using longer polling intervals.

References

Showing the top 20 packages that depend on OpenTelemetry.Instrumentation.EventCounters.

Packages Downloads
Aspire.Npgsql.EntityFrameworkCore.PostgreSQL
A PostgreSQL® provider for Entity Framework Core that integrates with Aspire, including connection pooling, health checks, logging, and telemetry.
3

For detailed changes see: https://github.com/open-telemetry/opentelemetry-dotnet-contrib/blob/5ffa40df33527be88758bb5f67ddffeec9fb5c5b/src/OpenTelemetry.Instrumentation.EventCounters/CHANGELOG.md.

.NET Standard 2.0

Version Downloads Last updated
1.14.0-alpha.1 1 11.12.2025
1.13.0-alpha.1 0 23.10.2025
1.5.1-alpha.1 5 20.03.2025
1.0.0-alpha.2 3 20.03.2025
1.0.0-alpha.1 4 20.03.2025
0.1.0-alpha.1 4 20.03.2025