D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
usr
/
share
/
grafana
/
public
/
app
/
features
/
explore
/
TraceView
/
Filename :
TraceViewContainer.tsx
back
Copy
import React, { RefObject, useMemo } from 'react'; import { DataFrame, SplitOpen, PanelData } from '@grafana/data'; import { PanelChrome } from '@grafana/ui/src/components/PanelChrome/PanelChrome'; import { StoreState, useSelector } from 'app/types'; import { TraceView } from './TraceView'; import { TopOfViewRefType } from './components/TraceTimelineViewer/VirtualizedTraceView'; import { transformDataFrames } from './utils/transform'; interface Props { dataFrames: DataFrame[]; splitOpenFn: SplitOpen; exploreId: string; scrollElement?: Element; queryResponse: PanelData; topOfViewRef: RefObject<HTMLDivElement>; } export function TraceViewContainer(props: Props) { // At this point we only show single trace const frame = props.dataFrames[0]; const { dataFrames, splitOpenFn, exploreId, scrollElement, topOfViewRef, queryResponse } = props; const traceProp = useMemo(() => transformDataFrames(frame), [frame]); const datasource = useSelector( (state: StoreState) => state.explore.panes[props.exploreId]?.datasourceInstance ?? undefined ); if (!traceProp) { return null; } return ( <PanelChrome padding="none" title="Trace"> <TraceView exploreId={exploreId} dataFrames={dataFrames} splitOpenFn={splitOpenFn} scrollElement={scrollElement} traceProp={traceProp} queryResponse={queryResponse} datasource={datasource} topOfViewRef={topOfViewRef} topOfViewRefType={TopOfViewRefType.Explore} /> </PanelChrome> ); }