import {Fragment} from 'react'; import {t} from 'sentry/locale'; import {isTraceNode} from '../traceGuards'; import {TraceIcons} from '../traceIcons'; import type {TraceTree} from '../traceModels/traceTree'; import type {TraceTreeNode} from '../traceModels/traceTreeNode'; import {makeTraceNodeBarColor, TraceBar} from '../traceRow/traceBar'; import { maybeFocusTraceRow, TRACE_COUNT_FORMATTER, TraceChildrenButton, TraceRowConnectors, type TraceRowProps, } from '../traceRow/traceRow'; const NO_ERRORS = new Set(); const NO_PERFORMANCE_ISSUES = new Set(); const NO_PROFILES = []; export function TraceRootRow(props: TraceRowProps>) { if (!isTraceNode(props.node)) { throw new Error('Trace row rendered called on row that is not root'); } return (
props.tabIndex === 0 && !props.isEmbedded ? maybeFocusTraceRow(r, props.node, props.previouslyFocusedNodeRef) : null } tabIndex={props.tabIndex} className={`TraceRow ${props.rowSearchClassName} ${props.node.hasErrors ? props.node.maxIssueSeverity : ''}`} onClick={props.onRowClick} onKeyDown={props.onRowKeyDown} style={props.style} >
{' '}
{props.node.children.length > 0 || props.node.canFetch ? ( void 0} onDoubleClick={props.onExpandDoubleClick} > {props.node.fetchStatus === 'loading' ? null : props.node.children.length > 0 ? TRACE_COUNT_FORMATTER.format(props.node.children.length) : null} ) : null}
{t('Trace')} {props.trace_id ? ( {props.trace_id} ) : null}
); }