using System.Diagnostics; using System.Diagnostics.Metrics; namespace BuildingBlocks.OpenTelemetryCollector.DiagnosticsProvider; public interface IDiagnosticsProvider : IDisposable { string InstrumentationName { get; } ActivitySource ActivitySource { get; } Meter Meter { get; } Task ExecuteActivityAsync( CreateActivityInfo createActivityInfo, Func action, CancellationToken cancellationToken = default ); Task ExecuteActivityAsync( CreateActivityInfo createActivityInfo, Func> action, CancellationToken cancellationToken = default ); }