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); }
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; } }
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); }
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); }
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); }
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); } }
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); } }