Exemple #1
0
        public async Task SendGauges(Dictionary <string, double> metricNameAndValueDictionary)
        {
            var series = new DataDogSeries {
                Series = new List <DataDogSerie>()
            };

            series.Series.AddRange(metricNameAndValueDictionary.Select(m => CreateDataDogGaugeSerie(m.Key, m.Value)));
            await SendDataAsync(series);
        }
Exemple #2
0
        private async Task SendDataAsync(DataDogSeries series)
        {
            try
            {
                var payloadString = JsonConvert.SerializeObject(series);
                _logger.LogDebug($"Payload to be sent to datadog:{Environment.NewLine}{payloadString}");
                var content = new StringContent(payloadString);
                var result  = await _client.PostAsync(_url, content);

                var response = await result.Content.ReadAsStringAsync();

                var code = result.StatusCode;
                _logger.LogDebug($"Datadog post returned with HTTP {code} - '{response}'");
            }
            catch (Exception ex)
            {
                _logger.LogWarning($"Failed to post metrics to datadog. {ex}");
            }
        }