private void Send(WavefrontSpan span) { try { var context = (WavefrontSpanContext)span.Context; var parentReferences = span.GetParents(); var followReferences = span.GetFollows(); var parents = parentReferences? .Select(parent => parent.SpanContext.GetSpanId()) .ToList(); var follows = followReferences? .Select(follow => follow.SpanContext.GetSpanId()) .ToList(); WavefrontSender.SendSpan( span.GetOperationName(), span.GetStartTimeMicros() / 1000, span.GetDurationMicros() / 1000, Source, context.GetTraceId(), context.GetSpanId(), parents, follows, span.GetTagsAsList().ToList(), reportSpanLogs ? span.GetSpanLogs().ToList() : null ); } catch (IOException e) { if (LoggingAllowed()) { logger.LogWarning(0, e, "Error reporting span: " + span); } spansDropped?.Inc(); reportErrors?.Inc(); } }
/// <inheritdoc /> public int GetFailureCount() { return(WavefrontSender.GetFailureCount()); }