|
@@ -618,7 +618,7 @@ export function Trace({
|
|
|
<TraceStylingWrapper
|
|
|
ref={r => {
|
|
|
containerRef.current = r;
|
|
|
- manager.onContainerRef(r);
|
|
|
+ manager.registerContainerRef(r);
|
|
|
}}
|
|
|
className={`${trace.indicators.length > 0 ? 'WithIndicators' : ''} ${trace.type !== 'trace' || scrollQueueRef.current ? 'Loading' : ''}`}
|
|
|
>
|
|
@@ -678,6 +678,16 @@ export function Trace({
|
|
|
</div>
|
|
|
<div ref={r => setScrollContainer(r)}>
|
|
|
<div>{virtualizedList.rendered}</div>
|
|
|
+ <div className="TraceRow Hidden">
|
|
|
+ <div
|
|
|
+ className="TraceLeftColumn"
|
|
|
+ ref={r => manager.registerGhostRowRef('list', r)}
|
|
|
+ />
|
|
|
+ <div
|
|
|
+ className="TraceRightColumn"
|
|
|
+ ref={r => manager.registerGhostRowRef('span_list', r)}
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</TraceStylingWrapper>
|
|
|
);
|
|
@@ -776,7 +786,7 @@ function RenderRow(props: {
|
|
|
</div>
|
|
|
<div
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -895,7 +905,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1010,7 +1020,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1085,7 +1095,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1094,7 +1104,6 @@ function RenderRow(props: {
|
|
|
props.manager.onZoomIntoSpace(props.node.space!);
|
|
|
}}
|
|
|
>
|
|
|
- {' '}
|
|
|
<TraceBar
|
|
|
virtualized_index={virtualized_index}
|
|
|
manager={props.manager}
|
|
@@ -1150,6 +1159,7 @@ function RenderRow(props: {
|
|
|
paddingLeft: props.node.depth * props.manager.row_depth_padding,
|
|
|
}}
|
|
|
>
|
|
|
+ {' '}
|
|
|
<div className="TraceChildrenCountWrapper Root">
|
|
|
<Connectors node={props.node} manager={props.manager} />
|
|
|
{props.node.children.length > 0 || props.node.canFetch ? (
|
|
@@ -1160,7 +1170,6 @@ function RenderRow(props: {
|
|
|
</ChildrenButton>
|
|
|
) : null}
|
|
|
</div>
|
|
|
-
|
|
|
<span className="TraceOperation">{t('Trace')}</span>
|
|
|
<strong className="TraceEmDash"> — </strong>
|
|
|
<span className="TraceDescription">{props.trace_id}</span>
|
|
@@ -1171,7 +1180,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1236,7 +1245,7 @@ function RenderRow(props: {
|
|
|
}}
|
|
|
>
|
|
|
<div className="TraceChildrenCountWrapper">
|
|
|
- <Connectors node={props.node} manager={props.manager} />
|
|
|
+ <Connectors node={props.node} manager={props.manager} />{' '}
|
|
|
</div>
|
|
|
<PlatformIcon
|
|
|
platform={props.projects[props.node.value.project_slug] ?? 'default'}
|
|
@@ -1251,7 +1260,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1309,7 +1318,7 @@ function RenderRow(props: {
|
|
|
<div className="TraceChildrenCountWrapper">
|
|
|
<Connectors node={props.node} manager={props.manager} />
|
|
|
</div>
|
|
|
- <span className="TraceOperation">{t('Empty')}</span>
|
|
|
+ <span className="TraceOperation">{t('Empty')}</span>{' '}
|
|
|
<strong className="TraceEmDash"> — </strong>
|
|
|
<span className="TraceDescription">
|
|
|
{tct('[type] did not report any span data', {
|
|
@@ -1329,7 +1338,7 @@ function RenderRow(props: {
|
|
|
props.manager.registerColumnRef('span_list', r, virtualized_index, props.node)
|
|
|
}
|
|
|
className={
|
|
|
- props.index % 2 === 0
|
|
|
+ props.index % 2 === 1
|
|
|
? RIGHT_COLUMN_ODD_CLASSNAME
|
|
|
: RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
@@ -1400,12 +1409,10 @@ function RenderPlaceholderRow(props: {
|
|
|
</div>
|
|
|
<div
|
|
|
className={
|
|
|
- props.index % 2 === 0 ? RIGHT_COLUMN_ODD_CLASSNAME : RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
+ props.index % 2 === 1 ? RIGHT_COLUMN_ODD_CLASSNAME : RIGHT_COLUMN_EVEN_CLASSNAME
|
|
|
}
|
|
|
style={{
|
|
|
width: props.manager.columns.span_list.width * 100 + '%',
|
|
|
- backgroundColor:
|
|
|
- props.index % 2 === 0 ? props.theme.backgroundSecondary : undefined,
|
|
|
}}
|
|
|
>
|
|
|
<Placeholder
|
|
@@ -2074,6 +2081,20 @@ const TraceStylingWrapper = styled('div')`
|
|
|
--row-background-hover: ${p => p.theme.translucentSurface100};
|
|
|
--row-background-focused: ${p => p.theme.translucentSurface200};
|
|
|
|
|
|
+ &.Hidden {
|
|
|
+ position: absolute;
|
|
|
+ height: 100%;
|
|
|
+ width: 100%;
|
|
|
+ top: 0;
|
|
|
+ z-index: -1;
|
|
|
+ &:hover {
|
|
|
+ background-color: transparent;
|
|
|
+ }
|
|
|
+ * {
|
|
|
+ cursor: default !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
.TraceError {
|
|
|
position: absolute;
|
|
|
top: 50%;
|
|
@@ -2225,7 +2246,8 @@ const TraceStylingWrapper = styled('div')`
|
|
|
will-change: width;
|
|
|
box-shadow: inset 1px 0 0px 0px transparent;
|
|
|
cursor: pointer;
|
|
|
- width: calc(var(--width) * 100%);
|
|
|
+
|
|
|
+ width: calc(var(--list-column-width) * 100%);
|
|
|
|
|
|
.TraceLeftColumnInner {
|
|
|
height: 100%;
|
|
@@ -2252,7 +2274,8 @@ const TraceStylingWrapper = styled('div')`
|
|
|
will-change: width;
|
|
|
z-index: 1;
|
|
|
cursor: pointer;
|
|
|
- width: calc(var(--width) * 100%);
|
|
|
+
|
|
|
+ width: calc(var(--span-column-width) * 100%);
|
|
|
|
|
|
&:hover {
|
|
|
.TraceArrow.Visible {
|