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 (18)
95foreach (var span in trace.Spans)
631foreach (var span in t.Spans)
691foreach (var span in t.Spans)
906foreach (var span in trace.Spans)
908var values = OtlpSpan.GetFieldValue(span, attributeName);
1018private OtlpSpan? GetSpanAndCloneUnsynchronized(string traceId, string spanId)
1026foreach (var span in trace.Spans)
1038public OtlpSpan? GetSpan(string traceId, string spanId)
1139List<OtlpSpan>? addedSpans = null;
1172var newSpan = CreateSpan(resourceView, span, trace, scope, _otlpContext);
1190var linkedSpan = GetSpanAndCloneUnsynchronized(link.TraceId, link.SpanId);
1260addedSpans ??= new List<OtlpSpan>();
1311public OtlpResource? GetPeerResource(OtlpSpan span)
1326foreach (var span in trace.Spans)
1352private static ResourceViewModel? ResolveUninstrumentedPeerResource(OtlpSpan span, IEnumerable<IOutgoingPeerResolver> outgoingPeerResolvers)
1392foreach (var span in trace.Spans)
1418private static OtlpSpan CreateSpan(OtlpResourceView resourceView, Span span, OtlpTrace trace, OtlpScope scope, OtlpContext context)
1442var newSpan = new OtlpSpan(resourceView, trace, scope)