/usr/share/grafana/public/app/features/explore/TraceView/components/types
// Copyright (c) 2017 Uber Technologies, Inc. // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import { TraceKeyValuePair, TraceLog } from '@grafana/data'; /** * All timestamps are in microseconds */ export type TraceLink = { url: string; text: string; }; export type TraceProcess = { serviceName: string; tags: TraceKeyValuePair[]; }; export type TraceSpanReference = { refType: 'CHILD_OF' | 'FOLLOWS_FROM' | 'EXTERNAL'; // eslint-disable-next-line no-use-before-define span?: TraceSpan | null | undefined; spanID: string; traceID: string; tags?: TraceKeyValuePair[]; }; export type TraceSpanData = { spanID: string; traceID: string; processID: string; operationName: string; // Times are in microseconds startTime: number; duration: number; logs: TraceLog[]; tags?: TraceKeyValuePair[]; kind?: string; statusCode?: number; statusMessage?: string; instrumentationLibraryName?: string; instrumentationLibraryVersion?: string; traceState?: string; references?: TraceSpanReference[]; warnings?: string[] | null; stackTraces?: string[]; flags: number; errorIconColor?: string; dataFrameRowIndex?: number; childSpanIds?: string[]; }; export type TraceSpan = TraceSpanData & { depth: number; hasChildren: boolean; childSpanCount: number; process: TraceProcess; relativeStartTime: number; tags: NonNullable<TraceSpanData['tags']>; references: NonNullable<TraceSpanData['references']>; warnings: NonNullable<TraceSpanData['warnings']>; childSpanIds: NonNullable<TraceSpanData['childSpanIds']>; subsidiarilyReferencedBy: TraceSpanReference[]; }; export type TraceData = { processes: Record<string, TraceProcess>; traceID: string; warnings?: string[] | null; }; export type TraceResponse = TraceData & { spans: TraceSpanData[]; }; export type Trace = TraceData & { duration: number; endTime: number; spans: TraceSpan[]; startTime: number; traceName: string; services: Array<{ name: string; numberOfSpans: number }>; }; // It is a section of span that lies on critical path export type CriticalPathSection = { spanId: string; section_start: number; section_end: number; }; // Type for the plugin link context that includes trace data and datasource information export type TraceViewPluginExtensionContext = Trace & { datasource: { name: string; uid: string; type: string; }; };
.
Edit
..
Edit
TNil.tsx
Edit
TTraceTimeline.tsx
Edit
links.ts
Edit
trace.ts
Edit