public void CanCollectAll()
        {
            var registry = new CollectorRegistry();
            var factory  = new MetricFactory(registry);

            factory.CreateCounter("test", "with help text").Inc();
            var gauge = factory.CreateGauge("gauge", "with help text", "group", "type");

            gauge.Inc();
            gauge.WithLabels("any", "2").Dec(5);

            string formattedText = null;

            using (var stream = new MemoryStream())
            {
                using (var writer = new MetricsTextWriter(stream))
                {
                    registry.CollectTo(writer);
                }

                stream.Seek(0, SeekOrigin.Begin);

                using (var streamReader = new StreamReader(stream))
                {
                    formattedText = streamReader.ReadToEnd();
                }
            }

            Assert.Equal(ResourcesHelper.GetFileContent("CollectorRegistryTests_Collection.txt"), formattedText);
        }
Пример #2
0
        public void GetMetricsCheckSize()
        {
            // Arrange
            MetricConfig metricConfigLastGames = new MetricConfig
            {
                name  = "LastGamesMetric",
                depth = 1
            };
            MetricConfig metricConfigGoalsScored = new MetricConfig
            {
                name  = "GoalsScoredMetric",
                depth = 2
            };

            List <MetricConfig> configs = new List <MetricConfig>
            {
                metricConfigLastGames,
                metricConfigGoalsScored
            };

            // Act
            List <MetricInterface> metrics = MetricFactory.GetMetrics(configs, year, configManagerMock.Object, fixtureRetrieverMock.Object);

            // Assert
            Assert.AreEqual(metrics.Count, 2);
        }
Пример #3
0
        public async Task EmptyCollection()
        {
            var registry = new CollectorRegistry();
            var factory  = new MetricFactory(registry);

            var counter = factory.CreateCounter("test", "with help text", false, false, "category");

            string formattedText = null;

            using (var stream = new MemoryStream())
            {
                using (var writer = new MetricsTextWriter(stream))
                {
                    ((ICollector)counter).Collect(writer);
                    await writer.CloseWriterAsync();
                }

                stream.Seek(0, SeekOrigin.Begin);

                using (var streamReader = new StreamReader(stream))
                {
                    formattedText = streamReader.ReadToEnd();
                }
            }

            Assert.Equal(ResourcesHelper.GetFileContent("CounterTests_Empty.txt"), formattedText);
        }
Пример #4
0
        public void ThrowOnLabelNamesMismatch(string[] labels1, string[] labels2)
        {
            var registry = new CollectorRegistry();
            var factory  = new MetricFactory(registry);

            factory.CreateCounter("test", "", labels1);
            Assert.Throws <ArgumentException>(() => factory.CreateCounter("test", "", labels2));
        }