public async override Task SendAsync(TraceSpan traceSpan) { string deep = traceSpan.ParentId == null ? "Root" : "Child"; string time = ((int)((traceSpan.EndTime - traceSpan.StartTime).TotalMilliseconds + 0.5)).ToString(); string displayName = traceSpan.DisplayName; await Console.Out.WriteLineAsync("Tracer: " + deep.PadLeft(5, ' ') + " [" + time.PadLeft(5, ' ') + "] " + displayName); }
public void Dispose() { TraceSpan traceSpan = new TraceSpan(); traceSpan.Id = SpanId; traceSpan.ParentId = _parentSpanId; traceSpan.TraceId = TraceId; traceSpan.StartTime = _startTime; traceSpan.EndTime = DateTime.UtcNow; traceSpan.DisplayName = _displayName; traceSpan.Attributes = Attributes; _tracer.Send(traceSpan); }
internal void Send(TraceSpan traceSpan) { Task.Factory.StartNew(async() => { try { await SendAsync(traceSpan); } catch { } }, _cancellationToken, TaskCreationOptions.DenyChildAttach, _taskScheduler); }
public abstract Task SendAsync(TraceSpan traceSpan);