public static HoundResult LogException(string apiKey, Exception exception) { try { HoundException houndException = CastException(exception); return(Task.Run(async() => await Log(apiKey).Publish(houndException)).Result); } catch (Exception ex) { return(HoundResultMapper.GetFailureResponse(ex)); } }
public async Task <HoundResult> RaiseMetric(HoundMetricCollection houndMetricCollection) { using (var client = _datadogApi.GetClient()) { try { HttpContent content = HoundMetricCollectionMapper.GetHttpContent(houndMetricCollection, _prefix); HttpResponseMessage response = await client.PostAsync(_datadogApi.PostMetricUrl, content); response.EnsureSuccessStatusCode(); return(HoundResultMapper.GetSuccessResponse()); } catch (HttpRequestException httpRequestException) { Trace.WriteLine(httpRequestException.Message); return(HoundResultMapper.GetFailureResponse(httpRequestException)); } } }
public async Task <HoundResult> Publish(HoundEvent houndEvent) { using (var client = _datadogApi.GetClient()) { try { HttpContent content = HoundEventMapper.GetHttpContent(houndEvent); HttpResponseMessage response = await client.PostAsync(_datadogApi.PostEventUrl, content); response.EnsureSuccessStatusCode(); return(HoundResultMapper.GetHoundResult(await response.Content.ReadAsStringAsync(), _datadogApi)); } catch (HttpRequestException httpRequestException) { Trace.WriteLine(httpRequestException.Message); return(HoundResultMapper.GetFailureResponse(httpRequestException)); } } }