diff --git a/src/System.Diagnostics.Metrics.Temp/Counter.cs b/src/System.Diagnostics.Metrics.Temp/Counter.cs
index 9e611cc6348..7e02531fd74 100644
--- a/src/System.Diagnostics.Metrics.Temp/Counter.cs
+++ b/src/System.Diagnostics.Metrics.Temp/Counter.cs
@@ -26,10 +26,10 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public sealed class Counter : Instrument
- where T : unmanaged
+ where T : struct
{
- internal Counter(Meter meter, string name, string? description, string? unit)
- : base(meter, name, description, unit)
+ internal Counter(Meter meter, string name, string? unit, string? description)
+ : base(meter, name, unit, description)
{
this.Publish();
}
@@ -37,62 +37,62 @@ internal Counter(Meter meter, string name, string? description, string? unit)
///
/// TBD.
///
- public void Add(T measurement)
+ public void Add(T delta)
{
- this.RecordMeasurement(measurement);
+ this.RecordMeasurement(delta);
}
///
/// TBD.
///
public void Add(
- T measurement,
+ T delta,
KeyValuePair tag1)
{
- this.RecordMeasurement(measurement, tag1);
+ this.RecordMeasurement(delta, tag1);
}
///
/// TBD.
///
public void Add(
- T measurement,
+ T delta,
KeyValuePair tag1,
KeyValuePair tag2)
{
- this.RecordMeasurement(measurement, tag1, tag2);
+ this.RecordMeasurement(delta, tag1, tag2);
}
///
/// TBD.
///
public void Add(
- T measurement,
+ T delta,
KeyValuePair tag1,
KeyValuePair tag2,
KeyValuePair tag3)
{
- this.RecordMeasurement(measurement, tag1, tag2, tag3);
+ this.RecordMeasurement(delta, tag1, tag2, tag3);
}
///
/// TBD.
///
public void Add(
- T measurement,
+ T delta,
ReadOnlySpan> tags)
{
- this.RecordMeasurement(measurement, tags);
+ this.RecordMeasurement(delta, tags);
}
///
/// TBD.
///
public void Add(
- T measurement,
+ T delta,
params KeyValuePair[] tags)
{
- this.RecordMeasurement(measurement, tags);
+ this.RecordMeasurement(delta, tags);
}
}
}
diff --git a/src/System.Diagnostics.Metrics.Temp/Histogram.cs b/src/System.Diagnostics.Metrics.Temp/Histogram.cs
index daac125a833..a68104edc09 100644
--- a/src/System.Diagnostics.Metrics.Temp/Histogram.cs
+++ b/src/System.Diagnostics.Metrics.Temp/Histogram.cs
@@ -27,10 +27,10 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public sealed class Histogram : Instrument
- where T : unmanaged
+ where T : struct
{
- internal Histogram(Meter meter, string name, string? description, string? unit)
- : base(meter, name, description, unit)
+ internal Histogram(Meter meter, string name, string? unit, string? description)
+ : base(meter, name, unit, description)
{
this.Publish();
}
@@ -38,62 +38,62 @@ internal Histogram(Meter meter, string name, string? description, string? unit)
///
/// TBD.
///
- public void Record(T measurement)
+ public void Record(T value)
{
- this.RecordMeasurement(measurement);
+ this.RecordMeasurement(value);
}
///
/// TBD.
///
public void Record(
- T measurement,
+ T value,
KeyValuePair tag1)
{
- this.RecordMeasurement(measurement, tag1);
+ this.RecordMeasurement(value, tag1);
}
///
/// TBD.
///
public void Record(
- T measurement,
+ T value,
KeyValuePair tag1,
KeyValuePair tag2)
{
- this.RecordMeasurement(measurement, tag1, tag2);
+ this.RecordMeasurement(value, tag1, tag2);
}
///
/// TBD.
///
public void Record(
- T measurement,
+ T value,
KeyValuePair tag1,
KeyValuePair tag2,
KeyValuePair tag3)
{
- this.RecordMeasurement(measurement, tag1, tag2, tag3);
+ this.RecordMeasurement(value, tag1, tag2, tag3);
}
///
/// TBD.
///
public void Record(
- T measurement,
+ T value,
ReadOnlySpan> tags)
{
- this.RecordMeasurement(measurement, tags);
+ this.RecordMeasurement(value, tags);
}
///
/// TBD.
///
public void Record(
- T measurement,
+ T value,
params KeyValuePair[] tags)
{
- this.RecordMeasurement(measurement, tags);
+ this.RecordMeasurement(value, tags);
}
}
}
diff --git a/src/System.Diagnostics.Metrics.Temp/Instrument.cs b/src/System.Diagnostics.Metrics.Temp/Instrument.cs
index 1662bd02fba..5e3b5c531e9 100644
--- a/src/System.Diagnostics.Metrics.Temp/Instrument.cs
+++ b/src/System.Diagnostics.Metrics.Temp/Instrument.cs
@@ -34,12 +34,12 @@ public abstract class Instrument
/// Initializes a new instance of the class.
/// Protected constructor to initialize the common instrument properties.
///
- protected Instrument(Meter meter, string name, string? description, string? unit)
+ protected Instrument(Meter meter, string name, string? unit, string? description)
{
this.Meter = meter;
this.Name = name;
- this.Description = description;
this.Unit = unit;
+ this.Description = description;
}
///
diff --git a/src/System.Diagnostics.Metrics.Temp/InstrumentT.cs b/src/System.Diagnostics.Metrics.Temp/InstrumentT.cs
index dd9f7b6a07a..6976a91e3dd 100644
--- a/src/System.Diagnostics.Metrics.Temp/InstrumentT.cs
+++ b/src/System.Diagnostics.Metrics.Temp/InstrumentT.cs
@@ -27,14 +27,14 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public abstract class Instrument : Instrument
- where T : unmanaged
+ where T : struct
{
///
/// Initializes a new instance of the class.
/// Protected constructor to create the instrument with the common properties.
///
- protected Instrument(Meter meter, string name, string? description, string? unit)
- : base(meter, name, description, unit)
+ protected Instrument(Meter meter, string name, string? unit, string? description)
+ : base(meter, name, unit, description)
{
}
diff --git a/src/System.Diagnostics.Metrics.Temp/Measurement.cs b/src/System.Diagnostics.Metrics.Temp/Measurement.cs
index 1d04c6bd3b8..27a97efdcfe 100644
--- a/src/System.Diagnostics.Metrics.Temp/Measurement.cs
+++ b/src/System.Diagnostics.Metrics.Temp/Measurement.cs
@@ -27,7 +27,7 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public struct Measurement
- where T : unmanaged
+ where T : struct
{
///
/// Initializes a new instance of the struct.
diff --git a/src/System.Diagnostics.Metrics.Temp/Meter.cs b/src/System.Diagnostics.Metrics.Temp/Meter.cs
index 31229425446..a5c8b821fac 100644
--- a/src/System.Diagnostics.Metrics.Temp/Meter.cs
+++ b/src/System.Diagnostics.Metrics.Temp/Meter.cs
@@ -61,11 +61,11 @@ public Meter(string name, string? version)
/// TBD.
public Counter CreateCounter(
string name,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
- return new Counter(this, name, description, unit);
+ return new Counter(this, name, unit, description);
}
///
@@ -74,11 +74,11 @@ public Counter CreateCounter(
/// TBD.
public Histogram CreateHistogram(
string name,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
- return new Histogram(this, name, description, unit);
+ return new Histogram(this, name, unit, description);
}
///
@@ -88,9 +88,9 @@ public Histogram CreateHistogram(
public ObservableCounter CreateObservableCounter(
string name,
Func observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableCounter(
this,
@@ -99,8 +99,8 @@ public ObservableCounter CreateObservableCounter(
{
new Measurement(observeValue()),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -110,9 +110,9 @@ public ObservableCounter CreateObservableCounter(
public ObservableCounter CreateObservableCounter(
string name,
Func> observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableCounter(
this,
@@ -121,8 +121,8 @@ public ObservableCounter CreateObservableCounter(
{
observeValue(),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -132,11 +132,11 @@ public ObservableCounter CreateObservableCounter(
public ObservableCounter CreateObservableCounter(
string name,
Func>> observeValues,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
- return new ObservableCounter(this, name, observeValues, description, unit);
+ return new ObservableCounter(this, name, observeValues, unit, description);
}
///
@@ -146,9 +146,9 @@ public ObservableCounter CreateObservableCounter(
public ObservableGauge CreateObservableGauge(
string name,
Func observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableGauge(
this,
@@ -157,8 +157,8 @@ public ObservableGauge CreateObservableGauge(
{
new Measurement(observeValue()),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -168,9 +168,9 @@ public ObservableGauge CreateObservableGauge(
public ObservableGauge CreateObservableGauge(
string name,
Func> observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableGauge(
this,
@@ -179,8 +179,8 @@ public ObservableGauge CreateObservableGauge(
{
observeValue(),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -190,11 +190,11 @@ public ObservableGauge CreateObservableGauge(
public ObservableGauge CreateObservableGauge(
string name,
Func>> observeValues,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
- return new ObservableGauge(this, name, observeValues, description, unit);
+ return new ObservableGauge(this, name, observeValues, unit, description);
}
///
@@ -204,9 +204,9 @@ public ObservableGauge CreateObservableGauge(
public ObservableUpDownCounter CreateObservableUpDownCounter(
string name,
Func observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableUpDownCounter(
this,
@@ -215,8 +215,8 @@ public ObservableUpDownCounter CreateObservableUpDownCounter(
{
new Measurement(observeValue()),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -226,9 +226,9 @@ public ObservableUpDownCounter CreateObservableUpDownCounter(
public ObservableUpDownCounter CreateObservableUpDownCounter(
string name,
Func> observeValue,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
return new ObservableUpDownCounter(
this,
@@ -237,8 +237,8 @@ public ObservableUpDownCounter CreateObservableUpDownCounter(
{
observeValue(),
},
- description,
- unit);
+ unit,
+ description);
}
///
@@ -248,11 +248,11 @@ public ObservableUpDownCounter CreateObservableUpDownCounter(
public ObservableUpDownCounter CreateObservableUpDownCounter(
string name,
Func>> observeValues,
- string? description = null,
- string? unit = null)
- where T : unmanaged
+ string? unit = null,
+ string? description = null)
+ where T : struct
{
- return new ObservableUpDownCounter(this, name, observeValues, description, unit);
+ return new ObservableUpDownCounter(this, name, observeValues, unit, description);
}
///
diff --git a/src/System.Diagnostics.Metrics.Temp/MeterListener.cs b/src/System.Diagnostics.Metrics.Temp/MeterListener.cs
index 5d4efc1c10a..b33a54c1c91 100644
--- a/src/System.Diagnostics.Metrics.Temp/MeterListener.cs
+++ b/src/System.Diagnostics.Metrics.Temp/MeterListener.cs
@@ -31,7 +31,8 @@ public delegate void MeasurementCallback(
Instrument instrument,
T measurement,
ReadOnlySpan> tags,
- object? state);
+ object? state)
+ where T : struct;
///
/// The listener class can be used to listen to observable and non-observable instrument
@@ -94,6 +95,7 @@ public void EnableMeasurementEvents(Instrument instrument, object? state = null)
///
/// TBD.
public void SetMeasurementEventCallback(MeasurementCallback? measurementCallback)
+ where T : struct
{
this.Callbacks.TryAdd(typeof(T), (object?)measurementCallback);
}
@@ -105,13 +107,6 @@ public void Start()
{
}
- ///
- /// TBD.
- ///
- public void Stop()
- {
- }
-
///
/// Call all Observable instruments to get the recorded measurements reported to the
/// callbacks enabled by SetMeasurementEventCallback_T.
diff --git a/src/System.Diagnostics.Metrics.Temp/ObservableCounter.cs b/src/System.Diagnostics.Metrics.Temp/ObservableCounter.cs
index 29af86729c2..19c4bf806f0 100644
--- a/src/System.Diagnostics.Metrics.Temp/ObservableCounter.cs
+++ b/src/System.Diagnostics.Metrics.Temp/ObservableCounter.cs
@@ -27,12 +27,12 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public sealed class ObservableCounter : ObservableInstrument
- where T : unmanaged
+ where T : struct
{
private Func>> observeValues;
- internal ObservableCounter(Meter meter, string name, Func>> observeValues, string? description, string? unit)
- : base(meter, name, description, unit)
+ internal ObservableCounter(Meter meter, string name, Func>> observeValues, string? unit, string? description)
+ : base(meter, name, unit, description)
{
this.observeValues = observeValues;
this.Publish();
diff --git a/src/System.Diagnostics.Metrics.Temp/ObservableGauge.cs b/src/System.Diagnostics.Metrics.Temp/ObservableGauge.cs
index 6418655622e..94eca5c393e 100644
--- a/src/System.Diagnostics.Metrics.Temp/ObservableGauge.cs
+++ b/src/System.Diagnostics.Metrics.Temp/ObservableGauge.cs
@@ -27,12 +27,12 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public sealed class ObservableGauge : ObservableInstrument
- where T : unmanaged
+ where T : struct
{
private Func>> observeValues;
- internal ObservableGauge(Meter meter, string name, Func>> observeValues, string? description, string? unit)
- : base(meter, name, description, unit)
+ internal ObservableGauge(Meter meter, string name, Func>> observeValues, string? unit, string? description)
+ : base(meter, name, unit, description)
{
this.observeValues = observeValues;
this.Publish();
diff --git a/src/System.Diagnostics.Metrics.Temp/ObservableInstrument.cs b/src/System.Diagnostics.Metrics.Temp/ObservableInstrument.cs
index c8070f6da22..5ff3908afcb 100644
--- a/src/System.Diagnostics.Metrics.Temp/ObservableInstrument.cs
+++ b/src/System.Diagnostics.Metrics.Temp/ObservableInstrument.cs
@@ -26,7 +26,7 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public abstract class ObservableInstrument : Instrument
- where T : unmanaged
+ where T : struct
{
///
/// Initializes a new instance of the class.
@@ -35,8 +35,8 @@ public abstract class ObservableInstrument : Instrument
protected ObservableInstrument(
Meter meter,
string name,
- string? description,
- string? unit)
+ string? unit,
+ string? description)
: base(meter, name, description, unit)
{
}
diff --git a/src/System.Diagnostics.Metrics.Temp/ObservableUpDownCounter.cs b/src/System.Diagnostics.Metrics.Temp/ObservableUpDownCounter.cs
index d0ac83931fa..bf74eef8f8e 100644
--- a/src/System.Diagnostics.Metrics.Temp/ObservableUpDownCounter.cs
+++ b/src/System.Diagnostics.Metrics.Temp/ObservableUpDownCounter.cs
@@ -27,12 +27,12 @@ namespace System.Diagnostics.Metrics
///
/// TBD.
public sealed class ObservableUpDownCounter : ObservableInstrument
- where T : unmanaged
+ where T : struct
{
private Func>> observeValues;
internal ObservableUpDownCounter(Meter meter, string name, Func>> observeValues, string? description, string? unit)
- : base(meter, name, description, unit)
+ : base(meter, name, unit, description)
{
this.observeValues = observeValues;
this.Publish();