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

ObservableInstrument<T>

public abstract class ObservableInstrument<T> : Instrument where T : struct
ObservableInstrument{T} is the base class from which all metrics observable instruments will inherit from.
protected ObservableInstrument(Meter meter, string name, string unit, string description)

Create the metrics observable instrument using the properties meter, name, description, and unit. All classes extending ObservableInstrument{T} need to call this constructor when constructing object of the extended class.

protected abstract IEnumerable<Measurement<T>> Observe()

Observe() fetches the current measurements being tracked by this instrument. All classes extending ObservableInstrument{T} need to implement this method.