foreach (var counter in _counters)
{
- counter.WritePayload((float)elapsed.TotalSeconds);
+ counter.WritePayload((float)elapsed.TotalSeconds, _pollingIntervalInMilliseconds);
}
_timeStampSinceCollectionStarted = now;
}
public float IntervalSec { get; internal set; }
+ public string? Series { get; set; }
+
+ public string? CounterType { get; set; }
+
public string? Metadata { get; set; }
#region Implementation of the IEnumerable interface
public string? Metadata { get; set; }
+ public string? Series { get; set; }
+
+ public string? CounterType { get; set; }
+
#region Implementation of the IEnumerable interface
public IEnumerator<KeyValuePair<string, object?>> GetEnumerator()
private CounterGroup _group;
private Dictionary<string, string>? _metadata;
- internal abstract void WritePayload(float intervalSec);
+ internal abstract void WritePayload(float intervalSec, int pollingIntervalMillisec);
// arbitrarily we use name as the lock object.
internal object MyLock { get { return Name; } }
_count++;
}
- internal override void WritePayload(float intervalSec)
+ internal override void WritePayload(float intervalSec, int pollingIntervalMillisec)
{
lock (MyLock)
{
}
payload.Min = _min;
payload.Max = _max;
-
+ payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session
+ payload.CounterType = "Mean";
payload.Metadata = GetMetadataString();
payload.DisplayName = DisplayName;
payload.Name = Name;
public override string ToString() => $"IncrementingEventCounter '{Name}' Increment {_increment}";
- internal override void WritePayload(float intervalSec)
+ internal override void WritePayload(float intervalSec, int pollingIntervalMillisec)
{
lock (MyLock) // Lock the counter
{
payload.IntervalSec = intervalSec;
payload.DisplayName = DisplayName ?? "";
payload.DisplayRateTimeScale = (DisplayRateTimeScale == TimeSpan.Zero) ? "" : DisplayRateTimeScale.ToString("c");
+ payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session
+ payload.CounterType = "Sum";
payload.Metadata = GetMetadataString();
payload.Increment = _increment - _prevIncrement;
_prevIncrement = _increment;
}
}
- internal override void WritePayload(float intervalSec)
+ internal override void WritePayload(float intervalSec, int pollingIntervalMillisec)
{
UpdateMetric();
lock (MyLock) // Lock the counter
payload.DisplayName = DisplayName ?? "";
payload.DisplayRateTimeScale = (DisplayRateTimeScale == TimeSpan.Zero) ? "" : DisplayRateTimeScale.ToString("c");
payload.IntervalSec = intervalSec;
+ payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session
+ payload.CounterType = "Sum";
payload.Metadata = GetMetadataString();
payload.Increment = _increment - _prevIncrement;
_prevIncrement = _increment;
private Func<double> _metricProvider;
private double _lastVal;
- internal override void WritePayload(float intervalSec)
+ internal override void WritePayload(float intervalSec, int pollingIntervalMillisec)
{
lock (MyLock)
{
payload.DisplayName = DisplayName ?? "";
payload.Count = 1; // NOTE: These dumb-looking statistics is intentional
payload.IntervalSec = intervalSec;
+ payload.Series = $"Interval={pollingIntervalMillisec}"; // TODO: This may need to change when we support multi-session
+ payload.CounterType = "Mean";
payload.Mean = value;
payload.Max = value;
payload.Min = value;