public void Can_use_uds_socket_reporter_overriding_flush_interval()
        {
            // Arrange
            var formatter     = new TestMetricsFormatter();
            var flushInterval = TimeSpan.FromDays(1);
            var builder       = new MetricsBuilder().Report.OverUds(formatter, defaultAddress, flushInterval);

            // Act
            var metrics = builder.Build();

            // Assert
            metrics.Reporters.Should().Contain(reportMetrics => reportMetrics is SocketMetricsReporter);
            metrics.Reporters.First().FlushInterval.Should().Be(flushInterval);
        }
        public void Can_use_uds_socket_reporter()
        {
            // Arrange
            var formatter = new TestMetricsFormatter();
            var builder   = new MetricsBuilder().Report.OverUds(formatter, defaultUnixAddress);

            // Act
            var metrics = builder.Build();

            // Assert
            metrics.Reporters.Should().Contain(reportMetrics => reportMetrics is SocketMetricsReporter);
            metrics.Reporters.First().FlushInterval.Should().Be(AppMetricsConstants.Reporting.DefaultFlushInterval);
            metrics.Reporters.First().Filter.Should().BeOfType <NullMetricsFilter>();
            metrics.Reporters.First().Formatter.Should().BeOfType <TestMetricsFormatter>();
        }
        public void Socket_metrics_reporter_expect_socket_settings()
        {
            // Arrange
            Action action = () =>
            {
                var formatter = new TestMetricsFormatter();
                var options   = new MetricsReportingSocketOptions
                {
                    MetricsOutputFormatter = formatter
                };
                // Act
                var reporter = new SocketMetricsReporter(options);
            };

            // Assert
            action.Should().Throw <ArgumentNullException>();
        }
Esempio n. 4
0
        public async Task Can_flush_metrics_to_console_with_options()
        {
            // Arrange
            var filter    = new MetricsFilter().WhereType(MetricType.Apdex);
            var formatter = new TestMetricsFormatter();
            var interval  = TimeSpan.FromDays(1);
            var options   = new MetricsReportingConsoleOptions
            {
                Filter = filter,
                MetricsOutputFormatter = formatter,
                FlushInterval          = interval
            };
            var reporter = new ConsoleMetricsReporter(options);
            var snapshot = new MetricsDataValueSource(DateTime.Now, Enumerable.Empty <MetricsContextValueSource>());

            // Act
            var result = await reporter.FlushAsync(snapshot, CancellationToken.None);

            // Assert
            result.Should().BeTrue();
        }
        public async Task Can_flush_metrics_via_sockets_with_options()
        {
            // Arrange
            var filter    = new MetricsFilter().WhereType(MetricType.Apdex);
            var formatter = new TestMetricsFormatter();
            var interval  = TimeSpan.FromDays(1);
            var settings  = new SocketSettings(defaultProtocol, defaultAddress, defaultPort);
            var options   = new MetricsReportingSocketOptions
            {
                Filter                 = filter,
                FlushInterval          = interval,
                MetricsOutputFormatter = formatter,
                SocketSettings         = settings
            };
            var reporter = new SocketMetricsReporter(options);
            var snapshot = new MetricsDataValueSource(DateTime.Now, Enumerable.Empty <MetricsContextValueSource>());

            // Act
            var result = await reporter.FlushAsync(snapshot, CancellationToken.None);

            // Assert
            result.Should().BeTrue();
        }