public Histogram([NotNull] MetricBase metricBase, [NotNull] LabelDict labels, [NotNull] double[] buckets) : base(metricBase, labels) { Debug.Assert(metricBase.Type == MetricsType.Histogram); _buckets = buckets.OrderBy(_ => _).ToArray(); if (_buckets.Length == 0) { _buckets = DefaultBuckets; } else if (!double.IsPositiveInfinity(_buckets.Last())) { _buckets = _buckets.AsEnumerable().Concat(new[] { double.PositiveInfinity }).ToArray(); } if (_buckets.Length < 2) { throw new ArgumentException("Must at least provide one bucket", nameof(buckets)); } _counts = Enumerable.Repeat(0UL, _buckets.Length).ToArray(); _bucketName = ExtendBaseName(QualifiedName(LePlaceholder), "_bucket"); var name = QualifiedName(); _sumName = ExtendBaseName(name, "_sum"); _countName = ExtendBaseName(name, "_count"); }
public Summary([NotNull] MetricBase metricBase, [NotNull] LabelDict labels) : base(metricBase, labels) { Debug.Assert(metricBase.Type == MetricsType.Gauge); var name = QualifiedName(); _sumName = ExtendBaseName(name, "_sum"); _countName = ExtendBaseName(name, "_count"); }
protected LabeledMetric([NotNull] MetricBase metricBase, [NotNull] LabelDict labels) { _metricBase = metricBase; Labels = labels; }
public Counter([NotNull] MetricBase metricBase, [NotNull] LabelDict labels) : base(metricBase, labels) { Debug.Assert(metricBase.Type == MetricsType.Counter); _name = QualifiedName(); }