public async Task ExportAsync(IEnumerable <SpanData> spanDataList) { var lsReport = new LightStepReport { Auth = new Authentication { AccessToken = this.options.AccessToken }, Reporter = new Reporter { // TODO: ReporterID should be randomly generated. ReporterId = 219, Tags = new List <Tag> { new Tag { Key = "lightstep.component_name", StringValue = this.options.ServiceName }, }, }, }; foreach (var data in spanDataList) { lsReport.Spans.Add(data.ToLightStepSpan()); } try { await this.SendSpansAsync(lsReport); } catch (Exception) { // ignore } }
private Task SendSpansAsync(LightStepReport report) { var requestUri = this.options.Satellite; var request = new HttpRequestMessage(HttpMethod.Post, requestUri); var jsonReport = JsonConvert.SerializeObject(report); request.Content = new StringContent(jsonReport, Encoding.UTF8, "application/json"); return(this.PostSpans(this.httpClient, request)); }