public async Task <PostMetricResponse> PostMetric(MetricSubmission metricSubmission) { var returnVal = new PostMetricResponse(); var json = JsonConvert.SerializeObject(metricSubmission, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver(), Converters = new List <Newtonsoft.Json.JsonConverter> { new MetricListJsonConverter() } }); using (var content = new StringContent(json)) { content.Headers.ContentType = new MediaTypeHeaderValue(JsonMediaType); var result = await _httpClient.PostAsync("platform/v1/metrics", content); returnVal.IsSuccessStatusCode = result.IsSuccessStatusCode; returnVal.StatusCode = result.StatusCode; if (result.IsSuccessStatusCode) { } } return(returnVal); }
public async Task PostMetricTest() { var metricSubmission = new MetricSubmission { Agent = new Agent { Host = "adamdesktop.mytrusense.com", Pid = 1234, Version = "0.0.1" }, Components = new List <Component> { new Component { Duration = 60, Guid = "com.mytrusense.JiliaMonitor", Name = "Jilia", Metrics = new List <Metric> { new Metric { Value = new MetricValue { Total = 22, Count = 1 }, Category = "servers", Label = "online", Units = "Count" } } } } }; var postMetricResponse = await GetNewRelicClient.PostMetric(metricSubmission); Assert.IsNotNull(postMetricResponse); Assert.IsTrue(postMetricResponse.IsSuccessStatusCode); }