Example #1
0
        private DataDogReporter CreateDefaultReporter(Metrics metrics)
        {
            ITransport transport = new UdpTransport.Builder().WithPort(8125)
                                   .WithStatsdHost("appdev")
                                   .Build();

            string[]             path      = { APP, DOMAIN };
            IMetricNameFormatter formatter = new AppendMetricNameToPathFormatter();
            var reporter = new DataDogReporter(metrics, transport, formatter, ENVIRONMENT, HOST, path);

            reporter.Start(5, TimeUnit.Seconds);
            return(reporter);
        }
Example #2
0
        static void Main(string[] args)
        {
            try
            {
                var metrics = new Metrics();
                //DataDogReporterConfigModel dataDogReporterConfigModel = new DataDogReporterConfigModel("appdev", 8125, "ApplicationName", "DomainName", "Development");

                ITransport transport = new UdpTransport.Builder().WithPort(8125)
                                       .WithStatsdHost("appdev")
                                       .Build();

                string   host        = "hostName";
                string   environment = "testEnv";
                string[] path        = { "ApplicationName", "DomainName" };

                //IMetricNameFormatter formatter = new AppendMetricNameToPathFormatter();
                IMetricNameFormatter formatter = new AppendMetricNameToPathFormatter();

                var reporter = new DataDogReporter(metrics, transport, formatter, environment, host, path);
                reporter.Start(5, TimeUnit.Seconds);

                CounterMetric   counter         = metrics.Counter("test", "CounterMetric");
                HistogramMetric histogramMetric = metrics.Histogram("test", "HistogramMetric");
                GaugeMetric     gaugeMetric     = metrics.Gauge("test", "GaugeMetric", GetNumberOfUsersLoggedIn);
                var             rand            = new Random();

                int runs = 0;
                while (runs < 1000)
                {
                    System.Console.WriteLine("Loop " + (runs++) + " of 1000");
                    counter.Increment();
                    counter.Increment();
                    counter.Increment();

                    histogramMetric.Update(rand.Next(100));
                    histogramMetric.Update(rand.Next(100));
                    histogramMetric.Update(rand.Next(100));
                    histogramMetric.Update(rand.Next(100));
                    histogramMetric.Update(rand.Next(100));

                    Thread.Sleep(5000);
                }
            }
            catch (Exception e)
            {
                throw;
            }
        }
Example #3
0
        public void MetricConverterTest()
        {
            var             metrics         = new Metrics();
            CounterMetric   counter         = metrics.Counter("test", "CounterMetric");
            HistogramMetric histogramMetric = metrics.Histogram("test", "HistogramMetric");
            GaugeMetric     gaugeMetric     = metrics.Gauge("test", "GaugeMetric", GetNumberOfUsersLoggedIn);

            DataDogReporter reporter = CreateDefaultReporter(metrics);

            TestRequest request = new TestRequest();

            reporter.TransformMetrics(request, metrics, 0);

            IDictionary <string, DatadogSeries> convertedMetrics = request.Metrics;

            Assert.AreEqual(12, convertedMetrics.Count);
        }
Example #4
0
        public void SingleCounterTest()
        {
            var           metrics    = new Metrics();
            string        metricName = "CounterMetric";
            CounterMetric counter    = metrics.Counter("test", metricName);

            DataDogReporter reporter = CreateDefaultReporter(metrics);

            TestRequest request = new TestRequest();

            reporter.TransformMetrics(request, metrics, 0);

            IDictionary <string, DatadogSeries> convertedMetrics = request.Metrics;

            Assert.AreEqual(1, convertedMetrics.Count);
            DatadogSeries metric = convertedMetrics[APP + "." + DOMAIN + "." + metricName];

            Assert.NotNull(metric);
            Assert.IsTrue(metric is DatadogCounter);
            ValidateDefaultTags(metric.Tags);
        }
Example #5
0
        public void SingleGaugeTest()
        {
            var         metrics     = new Metrics();
            string      metricName  = "GaugeMetric";
            GaugeMetric gaugeMetric = metrics.Gauge("test", metricName, GetNumberOfUsersLoggedIn);

            DataDogReporter reporter = CreateDefaultReporter(metrics);

            TestRequest request = new TestRequest();

            reporter.TransformMetrics(request, metrics, 0);

            IDictionary <string, DatadogSeries> convertedMetrics = request.Metrics;

            Assert.AreEqual(1, convertedMetrics.Count);
            DatadogSeries metric = convertedMetrics[APP + "." + DOMAIN + "." + metricName];

            Assert.NotNull(metric);
            Assert.IsTrue(metric is DatadogGauge);
            ValidateDefaultTags(metric.Tags);
        }
Example #6
0
        public void SingleTimerTest()
        {
            var         metrics     = new Metrics();
            string      metricName  = "TimerMetric";
            TimerMetric timerMetric = metrics.Timer("test", metricName, TimeUnit.Seconds, TimeUnit.Seconds);

            DataDogReporter reporter = CreateDefaultReporter(metrics);

            TestRequest request = new TestRequest();

            reporter.TransformMetrics(request, metrics, 0);

            IDictionary <string, DatadogSeries> convertedMetrics = request.Metrics;

            Assert.AreEqual(8, convertedMetrics.Count);
            foreach (TimerMetrics timerName in TimerMetrics.AllMetrics)
            {
                DatadogSeries metric = convertedMetrics[APP + "." + DOMAIN + "." + metricName + "." + timerName.GetDatadogName()];
                Assert.NotNull(metric);
                Assert.IsTrue(metric is DatadogGauge);
                ValidateDefaultTags(metric.Tags);
            }
        }
Example #7
0
        public void SingleHistogramTest()
        {
            var             metrics         = new Metrics();
            string          metricName      = "HistogramrMetric";
            HistogramMetric histogramMetric = metrics.Histogram("test", metricName);

            DataDogReporter reporter = CreateDefaultReporter(metrics);

            TestRequest request = new TestRequest();

            reporter.TransformMetrics(request, metrics, 0);

            IDictionary <string, DatadogSeries> convertedMetrics = request.Metrics;

            Assert.AreEqual(10, convertedMetrics.Count);
            foreach (HistogramMetrics histoName in HistogramMetrics.AllMetrics)
            {
                DatadogSeries metric = convertedMetrics[APP + "." + DOMAIN + "." + metricName + "." + histoName.GetDatadogName()];
                Assert.NotNull(metric);
                Assert.IsTrue(metric is DatadogGauge);
                ValidateDefaultTags(metric.Tags);
            }
        }