public void timer_block() { using (_dogStatsdService.StartTimer("timer")) { Thread.Sleep(50); Thread.Sleep(60); } AssertWasReceivedMatches(@"timer:\d{3}\|ms"); }
public void Setting_prefix_starttimer() { using (var nonStaticServiceInstance = new DogStatsdService()) { var metricsConfig = new StatsdConfig { StatsdServerName = "127.0.0.1", StatsdPort = 8130, Prefix = "prefix", }; nonStaticServiceInstance.Configure(metricsConfig); var receivedData = ReceiveData( nonStaticServiceInstance, "127.0.0.1", 8130, () => { using (nonStaticServiceInstance.StartTimer("timer.test")) { Thread.Sleep(1000); } }); Assert.AreEqual(1, receivedData.Count); var metricResultSplit = receivedData[0].Split(':'); Assert.AreEqual(2, metricResultSplit.Length); var metricNameWithPrefix = metricResultSplit[0]; var metricTimeAndType = metricResultSplit[1]; Assert.AreEqual("prefix.timer.test", metricNameWithPrefix); var metricTimeInMsSplit = metricTimeAndType.Split('|'); Assert.AreEqual(2, metricTimeInMsSplit.Length); var metricTimeInMs = Convert.ToInt32(metricTimeInMsSplit[0]); Assert.IsTrue((metricTimeInMs >= 1000), "Processing should have taken at least 1000ms"); Assert.IsTrue((metricTimeInMs < 1300), $"Timer reported 30% higher than time taken in action: {metricTimeInMs} VS 1300"); } }