Model\Otlp\SpanWaterfallViewModel.cs (5)
14public required OtlpSpan Span { get; init; }
123public static string GetTitle(OtlpSpan span, List<OtlpResource> allResources)
134TraceHelpers.VisitSpans(trace, (OtlpSpan span, SpanWaterfallViewModelState s) =>
147static SpanWaterfallViewModel CreateViewModel(OtlpSpan span, int depth, bool hidden, TraceDetailState state, List<OtlpLogEntry>? spanLogs, ref int currentSpanLogIndex)
216private static string? ResolveUninstrumentedPeerName(OtlpSpan span, IOutgoingPeerResolver[] outgoingPeerResolvers, List<OtlpResource> allResources)
Model\TraceHelpers.cs (17)
16public static void VisitSpans<TState>(OtlpTrace trace, Func<OtlpSpan, TState, TState> spanAction, TState state)
19var spanLookup = new Dictionary<OtlpSpan, List<OtlpSpan>>();
20var unrootedSpans = new List<OtlpSpan>();
21foreach (var item in trace.Spans)
23if (string.IsNullOrEmpty(item.ParentSpanId) || !trace.Spans.TryGetValue(item.ParentSpanId, out var parentSpan))
35var orderByFunc = static (OtlpSpan s) => s.StartTime;
37foreach (var unrootedSpan in unrootedSpans.OrderBy(orderByFunc))
44static void Visit(Dictionary<OtlpSpan, List<OtlpSpan>> spanLookup, OtlpSpan span, Func<OtlpSpan, TState, TState> spanAction, TState state, Func<OtlpSpan, DateTime> orderByFunc)
48foreach (var childSpan in childSpans.OrderBy(orderByFunc))
69VisitSpans(trace, (OtlpSpan span, OrderedResourcesState state) =>
89private static void ProcessSpanResource(OtlpSpan span, OtlpResource resource, Dictionary<OtlpResource, OrderedResource> resourceFirstTimes, DateTime currentMinDate)
128public static Icon? TryGetSpanIcon(OtlpSpan span, IconVariant iconVariant)
Otlp\Storage\TelemetryRepository.cs (16)
90foreach (var span in trace.Spans)
613foreach (var span in t.Spans)
673foreach (var span in t.Spans)
888foreach (var span in trace.Spans)
890var values = OtlpSpan.GetFieldValue(span, attributeName);
1000private OtlpSpan? GetSpanAndCloneUnsynchronized(string traceId, string spanId)
1008foreach (var span in trace.Spans)
1020public OtlpSpan? GetSpan(string traceId, string spanId)
1152var newSpan = CreateSpan(resourceView, span, trace, scope, _otlpContext);
1170var linkedSpan = GetSpanAndCloneUnsynchronized(link.TraceId, link.SpanId);
1280public OtlpResource? GetPeerResource(OtlpSpan span)
1295foreach (var span in trace.Spans)
1321private static ResourceViewModel? ResolveUninstrumentedPeerResource(OtlpSpan span, IEnumerable<IOutgoingPeerResolver> outgoingPeerResolvers)
1361foreach (var span in trace.Spans)
1387private static OtlpSpan CreateSpan(OtlpResourceView resourceView, Span span, OtlpTrace trace, OtlpScope scope, OtlpContext context)
1411var newSpan = new OtlpSpan(resourceView, trace, scope)