Ejemplo n.º 1
0
 string IDictionary <string, string> .this[string key]
 {
     get => this[key];
     set
     {
         var transformedName  = _options.TagNameTransformer(key);
         var transformedValue = _options.TagValueTransformer(key, value);
         this[transformedName] = transformedValue;
         SyncFrozen();
     }
 }
Ejemplo n.º 2
0
        public void Constructor_CanOverrideDefaultTags()
        {
            var options = new MetricSourceOptions();

            options.DefaultTags.Clear();
            options.DefaultTags[StringTag.Name] = "default_value";

            // create a metric and make sure the tags on its readings
            // do not have the default tag value
            var source = new MetricSource(options);
            var metric = CreateTaggedMetric(source, StringTag);

            UpdateMetric(metric, "value");
            var readings = metric.GetReadings(DateTime.UtcNow).ToList();

            Assert.NotEmpty(readings);
            var reading = readings[0];

            Assert.Collection(
                reading.Tags,
                tag =>
            {
                var transformedKey   = options.TagNameTransformer(StringTag.Name);
                var transformedValue = options.TagValueTransformer(transformedKey, "value");

                Assert.Equal(transformedKey, tag.Key);
                Assert.Equal(transformedValue, tag.Value);
            });
        }
Ejemplo n.º 3
0
        public void GetReadings_HasDefaultTags()
        {
            var options = new MetricSourceOptions
            {
                DefaultTags =
                {
                    ["host"] = Environment.MachineName
                }
            };

            var source = new MetricSource(options);
            var metric = CreateMetric(source);

            UpdateMetric(metric);
            var readings = metric.GetReadings(DateTime.UtcNow).ToList();

            Assert.NotEmpty(readings);
            var reading = readings[0];

            Assert.Collection(
                reading.Tags,
                tag =>
            {
                var transformedKey   = options.TagNameTransformer("host");
                var transformedValue = options.TagValueTransformer(transformedKey, Environment.MachineName);

                Assert.Equal(transformedKey, tag.Key);
                Assert.Equal(transformedValue, tag.Value);
            });
        }