1
0

GraphiteTest.cs 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. using System;
  2. using System.Net.Http;
  3. using System.Threading;
  4. using Xunit;
  5. namespace OhmGraphite.Test
  6. {
  7. public class GraphiteTest
  8. {
  9. [Fact, Trait("Category", "integration")]
  10. public async void InsertGraphiteTest()
  11. {
  12. var writer = new GraphiteWriter("graphite", 2003, "my-pc", tags: false);
  13. await writer.ReportMetrics(DateTime.Now, TestSensorCreator.Values());
  14. // wait for carbon to sync to disk
  15. Thread.Sleep(TimeSpan.FromSeconds(1));
  16. var client = new HttpClient();
  17. var resp = await client.GetAsync("http://graphite/render?format=csv&target=ohm.my-pc.intelcpu.0.temperature.cpucore.1");
  18. Assert.True(resp.IsSuccessStatusCode);
  19. var content = await resp.Content.ReadAsStringAsync();
  20. Assert.Contains("ohm.my-pc.intelcpu.0.temperature.cpucore.1", content);
  21. }
  22. [Fact, Trait("Category", "integration")]
  23. public async void InsertTagGraphiteTest()
  24. {
  25. var writer = new GraphiteWriter("graphite", 2003, "my-pc", tags: true);
  26. await writer.ReportMetrics(DateTime.Now, TestSensorCreator.Values());
  27. // wait for carbon to sync to disk
  28. Thread.Sleep(TimeSpan.FromSeconds(2));
  29. var client = new HttpClient();
  30. var resp = await client.GetAsync("http://graphite/render?format=csv&target=seriesByTag('sensor_type=Temperature','hardware_type=CPU')");
  31. Assert.True(resp.IsSuccessStatusCode);
  32. var content = await resp.Content.ReadAsStringAsync();
  33. Assert.Contains("host=my-pc", content);
  34. Assert.Contains("app=ohm", content);
  35. Assert.Contains("sensor_type=Temperature", content);
  36. }
  37. }
  38. }