<PackageReference Include="System.Diagnostics.DiagnosticSource" Version="10.0.4" />

System.Diagnostics.Metrics.Instrument<T>

public abstract class Instrument<T> : Instrument where T : struct
The base class for all non-observable instruments.
namespace System.Diagnostics.Metrics { public abstract class Instrument<T> : Instrument where T : struct { public InstrumentAdvice<T> Advice { get; } protected Instrument(Meter meter, string name); protected Instrument(Meter meter, string name, string unit, string description); protected Instrument(Meter meter, string name, string unit, string description, IEnumerable<KeyValuePair<string, object>> tags); protected Instrument(Meter meter, string name, string unit = null, string description = null, IEnumerable<KeyValuePair<string, object>> tags = null, InstrumentAdvice<T> advice = null); protected void RecordMeasurement(T measurement); protected void RecordMeasurement(T measurement, ReadOnlySpan<KeyValuePair<string, object>> tags); protected void RecordMeasurement(T measurement, KeyValuePair<string, object> tag); protected void RecordMeasurement(T measurement, KeyValuePair<string, object> tag1, KeyValuePair<string, object> tag2); protected void RecordMeasurement(T measurement, KeyValuePair<string, object> tag1, KeyValuePair<string, object> tag2, KeyValuePair<string, object> tag3); protected void RecordMeasurement(T measurement, ref TagList tagList); } }