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)
89foreach (var span in trace.Spans)
554foreach (var span in t.Spans)
614foreach (var span in t.Spans)
737foreach (var span in trace.Spans)
739var values = OtlpSpan.GetFieldValue(span, attributeName);
849private OtlpSpan? GetSpanAndCloneUnsynchronized(string traceId, string spanId)
857foreach (var span in trace.Spans)
869public OtlpSpan? GetSpan(string traceId, string spanId)
999var newSpan = CreateSpan(resourceView, span, trace, scope, _otlpContext);
1017var linkedSpan = GetSpanAndCloneUnsynchronized(link.TraceId, link.SpanId);
1127public OtlpResource? GetPeerResource(OtlpSpan span)
1142foreach (var span in trace.Spans)
1168private static ResourceViewModel? ResolveUninstrumentedPeerResource(OtlpSpan span, IEnumerable<IOutgoingPeerResolver> outgoingPeerResolvers)
1208foreach (var span in trace.Spans)
1234private static OtlpSpan CreateSpan(OtlpResourceView resourceView, Span span, OtlpTrace trace, OtlpScope scope, OtlpContext context)
1258var newSpan = new OtlpSpan(resourceView, trace, scope)