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"); }
public void TestConstruction() { // ReSharper disable once AssignNullToNotNullAttribute Assert.That(() => new LabelDict((string)null), Throws.TypeOf <ArgumentNullException>()); Assert.That(() => new LabelDict(""), Throws.TypeOf <ArgumentNullException>()); var d = new LabelDict("foo"); Assert.That(d.Environment, Is.EqualTo("foo")); Assert.That(d.Count, Is.EqualTo(0)); var d2 = new LabelDict(d); Assert.That(d2.Environment, Is.EqualTo("foo")); Assert.That(d2.Count, Is.EqualTo(0)); }
public void TestSet() { var d = new LabelDict("foo"); d.Set("baz", "baz"); Assert.That(d.Count, Is.EqualTo(1)); Assert.That(d.Get("baz"), Is.EqualTo("baz")); d.Set("baz", "baz2"); Assert.That(d.Count, Is.EqualTo(1)); Assert.That(d.Get("baz"), Is.EqualTo("baz2")); d.Set("foo", "bar"); Assert.That(d.Count, Is.EqualTo(2)); Assert.That(d.Get("baz"), Is.EqualTo("baz2")); Assert.That(d.Get("foo"), Is.EqualTo("bar")); }
public void TestToString() { var d = new LabelDict("foo"); Assert.That(d.ToString(null), Is.EqualTo("environment=\"foo\"")); Assert.That(d.ToString(""), Is.EqualTo("environment=\"foo\"")); Assert.That(d.ToString("123"), Is.EqualTo("environment=\"foo\",le=\"123\"")); d = new LabelDict("foo\nbar"); Assert.That(d.ToString(null), Is.EqualTo("environment=\"foo\\nbar\"")); d = new LabelDict("foo\"bar"); Assert.That(d.ToString(null), Is.EqualTo("environment=\"foo\\\"bar\"")); d = new LabelDict("foo\\bar"); Assert.That(d.ToString(null), Is.EqualTo("environment=\"foo\\\\bar\"")); d = new LabelDict("foo"); d.Set("a", "b"); Assert.That(d.ToString(null), Is.EqualTo("environment=\"foo\",a=\"b\"")); }
private bool Equals([NotNull] LabelDict other) { if (Environment != other.Environment) { return(false); } if (_labels.Count != other._labels.Count) { return(false); } for (var i = 0; i < _labels.Count; ++i) { if (_labels[i].Key != other._labels[i].Key || _labels[i].Value != other._labels[i].Value) { return(false); } } return(true); }
public void TestEquality() { var d1 = new LabelDict("foo"); var d2 = new LabelDict(d1); var d3 = new LabelDict("foo"); var d4 = new LabelDict("bar"); var d5 = new LabelDict("foo"); d5.Set("bar", "baz"); var d6 = new LabelDict("foo"); d6.Set("bar", "baz2"); Assert.That(d1, Is.EqualTo(d1)); Assert.That(d1, Is.Not.EqualTo(null)); Assert.That(d1, Is.EqualTo(d2)); Assert.That(d1, Is.EqualTo(d3)); Assert.That(d1, Is.EqualTo(d2)); Assert.That(d1, Is.Not.EqualTo(d4)); Assert.That(d1, Is.Not.EqualTo(d5)); Assert.That(d5, Is.Not.EqualTo(d6)); }
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(); }
public LabelDict([NotNull] LabelDict other) { Environment = other.Environment; _labels = new List <KeyValuePair <string, string> >(other._labels); }