@mastra/playground-ui 64.0.1-alpha.0 → 65.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -2
- package/components.css +340 -0
- package/dist/code-DJReJPSX.cjs.map +1 -1
- package/dist/code-DLuATvYu.js.map +1 -1
- package/dist/components/Breadcrumb.cjs.js +4 -2
- package/dist/components/Breadcrumb.cjs.js.map +1 -1
- package/dist/components/Breadcrumb.es.js +5 -3
- package/dist/components/Breadcrumb.es.js.map +1 -1
- package/dist/components/ChatShell.cjs.js +2 -2
- package/dist/components/ChatShell.cjs.js.map +1 -1
- package/dist/components/ChatShell.es.js +2 -2
- package/dist/components/ChatShell.es.js.map +1 -1
- package/dist/components/Composer.cjs.js +1 -1
- package/dist/components/Composer.cjs.js.map +1 -1
- package/dist/components/Composer.es.js +1 -1
- package/dist/components/Composer.es.js.map +1 -1
- package/dist/components/DataList.cjs.js +5 -5
- package/dist/components/DataList.es.js +5 -5
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/MessageScroller.cjs.js +1 -1
- package/dist/components/MessageScroller.es.js +1 -1
- package/dist/components/SavedViews.cjs.js +0 -1
- package/dist/components/SavedViews.cjs.js.map +1 -1
- package/dist/components/SavedViews.es.js +0 -1
- package/dist/components/SavedViews.es.js.map +1 -1
- package/dist/components/fluid-hover-highlight.cjs.js +7 -1
- package/dist/components/fluid-hover-highlight.cjs.js.map +1 -1
- package/dist/components/fluid-hover-highlight.es.js +7 -1
- package/dist/components/fluid-hover-highlight.es.js.map +1 -1
- package/dist/{data-list-DUfXIhyC.cjs → data-list-CmjTe8xE.cjs} +3 -3
- package/dist/{data-list-DUfXIhyC.cjs.map → data-list-CmjTe8xE.cjs.map} +1 -1
- package/dist/{data-list-DXQY_iQW.js → data-list-DT1LVR29.js} +3 -3
- package/dist/{data-list-DXQY_iQW.js.map → data-list-DT1LVR29.js.map} +1 -1
- package/dist/{data-list-skeleton-B_SXAeE0.js → data-list-skeleton-bNfITSHs.js} +2 -2
- package/dist/{data-list-skeleton-B_SXAeE0.js.map → data-list-skeleton-bNfITSHs.js.map} +1 -1
- package/dist/{data-list-skeleton-BqC9Gggi.cjs → data-list-skeleton-sdcaabdX.cjs} +2 -2
- package/dist/{data-list-skeleton-BqC9Gggi.cjs.map → data-list-skeleton-sdcaabdX.cjs.map} +1 -1
- package/dist/{data-list-spacer-tQaBaum4.cjs → data-list-spacer-CdlT6bDd.cjs} +2 -2
- package/dist/{data-list-spacer-tQaBaum4.cjs.map → data-list-spacer-CdlT6bDd.cjs.map} +1 -1
- package/dist/{data-list-spacer-ByA4ce2a.js → data-list-spacer-D--gDmOm.js} +2 -2
- package/dist/{data-list-spacer-ByA4ce2a.js.map → data-list-spacer-D--gDmOm.js.map} +1 -1
- package/dist/{data-list-top-ByT2Mo77.cjs → data-list-top-DJh08vFA.cjs} +2 -9
- package/dist/data-list-top-DJh08vFA.cjs.map +1 -0
- package/dist/{data-list-top-DSr_ocKA.js → data-list-top-T-mtdIUp.js} +2 -9
- package/dist/data-list-top-T-mtdIUp.js.map +1 -0
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +104 -92
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js.map +1 -1
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +105 -93
- package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js.map +1 -1
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +3 -3
- package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +3 -3
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js +6 -10
- package/dist/domains/observability/components/trace-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/observability/components/trace-as-item-dialog.es.js +7 -11
- package/dist/domains/observability/components/trace-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js +3 -9
- package/dist/domains/scores/components/score-as-item-dialog.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-as-item-dialog.es.js +4 -10
- package/dist/domains/scores/components/score-as-item-dialog.es.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js +9 -1
- package/dist/domains/scores/components/score-data-panel.cjs.js.map +1 -1
- package/dist/domains/scores/components/score-data-panel.es.js +9 -1
- package/dist/domains/scores/components/score-data-panel.es.js.map +1 -1
- package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
- package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js +12 -13
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js.map +1 -1
- package/dist/domains/traces/components/format-hierarchical-spans.es.js +12 -13
- package/dist/domains/traces/components/format-hierarchical-spans.es.js.map +1 -1
- package/dist/domains/traces/components/span-rows.cjs.js +2 -1
- package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
- package/dist/domains/traces/components/span-rows.es.js +2 -1
- package/dist/domains/traces/components/span-rows.es.js.map +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-list.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-root.es.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
- package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
- package/dist/domains/traces/components/trace-span-timeline.cjs.js +2 -1
- package/dist/domains/traces/components/trace-span-timeline.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js +2 -1
- package/dist/domains/traces/components/trace-span-timeline.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +4 -4
- package/dist/domains/traces/components/traces-list-view.es.js +4 -4
- package/dist/domains/traces/components/traces-page-skeleton.cjs.js +1 -1
- package/dist/domains/traces/components/traces-page-skeleton.es.js +1 -1
- package/dist/domains/traces/utils/span-timing.cjs.js +10 -0
- package/dist/domains/traces/utils/span-timing.cjs.js.map +1 -1
- package/dist/domains/traces/utils/span-timing.es.js +10 -1
- package/dist/domains/traces/utils/span-timing.es.js.map +1 -1
- package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
- package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
- package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
- package/dist/ee/signals/components/entity-index-list.es.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +1 -1
- package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
- package/dist/hooks/use-fluid-hover.cjs.js +3 -2
- package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
- package/dist/hooks/use-fluid-hover.es.js +3 -2
- package/dist/hooks/use-fluid-hover.es.js.map +1 -1
- package/dist/layout/tabbed-container.cjs.js +1 -1
- package/dist/layout/tabbed-container.es.js +1 -1
- package/dist/{logs-data-list-CoER2Hst.js → logs-data-list-Cb85LPcT.js} +3 -3
- package/dist/{logs-data-list-CoER2Hst.js.map → logs-data-list-Cb85LPcT.js.map} +1 -1
- package/dist/{logs-data-list-DRR6cMgl.cjs → logs-data-list-DlQxxrNw.cjs} +3 -3
- package/dist/{logs-data-list-DRR6cMgl.cjs.map → logs-data-list-DlQxxrNw.cjs.map} +1 -1
- package/dist/{message-scroller-CS1KxKn6.js → message-scroller-C6gXU5d5.js} +2 -2
- package/dist/{message-scroller-CS1KxKn6.js.map → message-scroller-C6gXU5d5.js.map} +1 -1
- package/dist/{message-scroller-C4fH6uJg.cjs → message-scroller-fjucuCuw.cjs} +2 -2
- package/dist/{message-scroller-C4fH6uJg.cjs.map → message-scroller-fjucuCuw.cjs.map} +1 -1
- package/dist/primitives/raised-surface.cjs.js.map +1 -1
- package/dist/primitives/raised-surface.es.js.map +1 -1
- package/dist/scroll-area-CAY0DNQj.cjs.map +1 -1
- package/dist/scroll-area-MaMqo4l8.js.map +1 -1
- package/dist/src/domains/datasets/components/index.d.ts +1 -1
- package/dist/src/domains/datasets/components/save-as-dataset-item-dialog.d.ts +14 -3
- package/dist/src/domains/observability/components/trace-as-item-dialog.d.ts +5 -3
- package/dist/src/domains/scores/components/score-as-item-dialog.d.ts +3 -3
- package/dist/src/domains/traces/utils/span-timing.d.ts +2 -0
- package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +2 -2
- package/dist/src/ds/components/ChatShell/chat-shell.d.ts +3 -2
- package/dist/src/ds/components/Code/code.d.ts +1 -1
- package/dist/src/ds/components/ScrollArea/scroll-area.d.ts +4 -0
- package/dist/src/ds/primitives/raised-surface.d.ts +1 -1
- package/dist/src/hooks/use-fluid-hover.d.ts +1 -0
- package/dist/style.css +32 -31
- package/dist/toast.css +1 -1
- package/dist/tokens.cjs.js.map +1 -1
- package/dist/tokens.es.js.map +1 -1
- package/dist/{traces-data-list-BgjeB-BF.cjs → traces-data-list-Bhhg9drs.cjs} +4 -4
- package/dist/{traces-data-list-BgjeB-BF.cjs.map → traces-data-list-Bhhg9drs.cjs.map} +1 -1
- package/dist/{traces-data-list-Zoai0OW_.js → traces-data-list-DMWPJFBc.js} +4 -4
- package/dist/{traces-data-list-Zoai0OW_.js.map → traces-data-list-DMWPJFBc.js.map} +1 -1
- package/dist/use-text-highlight.css +4 -4
- package/package.json +15 -11
- package/sources.css +1 -0
- package/theme/code.css +17 -0
- package/theme/surfaces.css +2 -2
- package/theme.css +2 -0
- package/dist/data-list-top-ByT2Mo77.cjs.map +0 -1
- package/dist/data-list-top-DSr_ocKA.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-rows.cjs.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = spans
|
|
1
|
+
{"version":3,"file":"span-rows.cjs.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["getOverallLatency","jsx","Fragment","getSpanDescendantIds","getSpanTypeUi","useEffect","jsxs"],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useEffect, Fragment as Fragment$1 } from 'react';
|
|
3
3
|
import { getSpanDescendantIds } from '../hooks/get-all-span-ids.es.js';
|
|
4
|
+
import { getOverallLatency } from '../utils/span-timing.es.js';
|
|
4
5
|
import { getSpanTypeUi } from './shared.es.js';
|
|
5
6
|
|
|
6
7
|
function SpanRows({ spans, ...rowProps }) {
|
|
7
|
-
const overallLatency = spans
|
|
8
|
+
const overallLatency = getOverallLatency(spans);
|
|
8
9
|
const overallStartTime = spans[0]?.startTime || "";
|
|
9
10
|
return /* @__PURE__ */ jsx(Fragment, { children: spans.map((span, idx) => /* @__PURE__ */ jsx(
|
|
10
11
|
SpanRow,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-rows.es.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = spans
|
|
1
|
+
{"version":3,"file":"span-rows.es.js","sources":["../../../../src/domains/traces/components/span-rows.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport { Fragment, useEffect } from 'react';\nimport { getSpanDescendantIds } from '../hooks/get-all-span-ids';\nimport type { UISpan, UISpanStyle } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { getSpanTypeUi } from './shared';\n\nexport type SpanRowExpansion = {\n hasChildren: boolean;\n numOfChildren: number;\n toggleChildren: () => void;\n};\n\nexport type SpanRowContext = {\n span: UISpan;\n spanUI: UISpanStyle | null | undefined;\n depth: number;\n isRootSpan: boolean;\n isLastChild: boolean;\n isExpanded: boolean;\n isSelected: boolean;\n isFaded: boolean;\n isRevealed: boolean;\n overallLatency: number;\n overallStartTime: string;\n onSpanClick?: (id: string) => void;\n expansion: SpanRowExpansion;\n};\n\ntype SharedRowProps = {\n renderRow: (ctx: SpanRowContext) => ReactNode;\n onSpanClick?: (id: string) => void;\n selectedSpanId?: string;\n /** Row flagged as revealed once mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n fadedTypes?: string[];\n featuredSpanIds?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n};\n\nexport type SpanRowsProps = SharedRowProps & {\n spans: UISpan[];\n};\n\n/**\n * Headless depth-first walker over a span hierarchy. Owns the expansion / fade /\n * reveal state of each row and delegates all markup to `renderRow`. Children are\n * only mounted while their parent is expanded.\n */\nexport function SpanRows({ spans, ...rowProps }: SpanRowsProps) {\n const overallLatency = getOverallLatency(spans);\n const overallStartTime = spans[0]?.startTime || '';\n\n return (\n <>\n {spans.map((span, idx) => (\n <SpanRow\n key={span.id}\n span={span}\n depth={0}\n isLastChild={idx === spans.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n {...rowProps}\n />\n ))}\n </>\n );\n}\n\ntype SpanRowProps = SharedRowProps & {\n span: UISpan;\n depth: number;\n isLastChild: boolean;\n overallLatency: number;\n overallStartTime: string;\n};\n\nfunction SpanRow({\n span,\n depth,\n isLastChild,\n overallLatency,\n overallStartTime,\n renderRow,\n onSpanClick,\n selectedSpanId,\n revealSpanId,\n fadedTypes,\n featuredSpanIds,\n expandedSpanIds,\n setExpandedSpanIds,\n}: SpanRowProps) {\n const hasChildren = Boolean(span.spans && span.spans.length > 0);\n const numOfChildren = span.spans ? span.spans.length : 0;\n const allDescendantIds = getSpanDescendantIds(span);\n const isRootSpan = depth === 0;\n const spanUI = getSpanTypeUi(span?.type);\n const isExpanded = expandedSpanIds ? expandedSpanIds.includes(span.id) : false;\n const isFadedBySearch = featuredSpanIds && featuredSpanIds.length > 0 ? !featuredSpanIds.includes(span.id) : false;\n const isFadedByType = fadedTypes && fadedTypes.length > 0 ? fadedTypes.includes(spanUI?.typePrefix || '') : false;\n const isFaded = isFadedByType || isFadedBySearch;\n\n useEffect(() => {\n if (!featuredSpanIds || allDescendantIds.length === 0) return;\n if (isExpanded) return;\n const hasFeaturedDescendant = allDescendantIds.some(id => featuredSpanIds.includes(id));\n if (hasFeaturedDescendant && setExpandedSpanIds) {\n setExpandedSpanIds(prev => (!prev || prev.includes(span.id) ? (prev ?? [span.id]) : [...prev, span.id]));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [featuredSpanIds, allDescendantIds]);\n\n const toggleChildren = () => {\n if (!setExpandedSpanIds) return;\n setExpandedSpanIds(prev => {\n if (!prev) return prev;\n return isExpanded ? prev.filter(id => id !== span.id) : [...prev, span.id];\n });\n };\n\n const ctx: SpanRowContext = {\n span,\n spanUI,\n depth,\n isRootSpan,\n isLastChild,\n isExpanded,\n isSelected: selectedSpanId === span.id,\n isFaded,\n isRevealed: revealSpanId === span.id,\n overallLatency,\n overallStartTime,\n onSpanClick,\n expansion: {\n hasChildren,\n numOfChildren,\n toggleChildren,\n },\n };\n\n return (\n <Fragment>\n {renderRow(ctx)}\n {hasChildren &&\n isExpanded &&\n span.spans?.map((childSpan, idx, array) => (\n <SpanRow\n key={childSpan.id}\n span={childSpan}\n depth={depth + 1}\n isLastChild={idx === array.length - 1}\n overallLatency={overallLatency}\n overallStartTime={overallStartTime}\n renderRow={renderRow}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n />\n ))}\n </Fragment>\n );\n}\n"],"names":["Fragment"],"mappings":"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"}
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const reactResizablePanels = require('react-resizable-panels');
|
|
7
7
|
const domains_traces_components_threadTrace_threadTraceContext = require('./thread-trace-context.cjs.js');
|
|
8
|
-
const messageScroller = require('../../../../message-scroller-
|
|
8
|
+
const messageScroller = require('../../../../message-scroller-fjucuCuw.cjs');
|
|
9
9
|
const utils_cn = require('../../../../cn-DlOJCxrS.cjs');
|
|
10
10
|
|
|
11
11
|
function ThreadTraceList({ className, innerClassName, children, ...props }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { Panel } from 'react-resizable-panels';
|
|
3
3
|
import { useThreadTrace } from './thread-trace-context.es.js';
|
|
4
|
-
import { M as MessageScroller, e as MessageScrollerViewport, b as MessageScrollerContent } from '../../../../message-scroller-
|
|
4
|
+
import { M as MessageScroller, e as MessageScrollerViewport, b as MessageScrollerContent } from '../../../../message-scroller-C6gXU5d5.js';
|
|
5
5
|
import { c as cn } from '../../../../cn-CQUhN5Jx.js';
|
|
6
6
|
|
|
7
7
|
function ThreadTraceList({ className, innerClassName, children, ...props }) {
|
|
@@ -6,7 +6,7 @@ const jsxRuntime = require('react/jsx-runtime');
|
|
|
6
6
|
const React = require('react');
|
|
7
7
|
const domains_traces_hooks_useVisibleTraceRows = require('../../hooks/use-visible-trace-rows.cjs.js');
|
|
8
8
|
const domains_traces_components_threadTrace_threadTraceContext = require('./thread-trace-context.cjs.js');
|
|
9
|
-
const messageScroller = require('../../../../message-scroller-
|
|
9
|
+
const messageScroller = require('../../../../message-scroller-fjucuCuw.cjs');
|
|
10
10
|
const resize_panelGroup = require('../../../../resize/panel-group.cjs.js');
|
|
11
11
|
const utils_cn = require('../../../../cn-DlOJCxrS.cjs');
|
|
12
12
|
|
|
@@ -2,7 +2,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
2
2
|
import { useRef, useState, useCallback, useMemo } from 'react';
|
|
3
3
|
import { useVisibleTraceRows } from '../../hooks/use-visible-trace-rows.es.js';
|
|
4
4
|
import { ThreadTraceContext } from './thread-trace-context.es.js';
|
|
5
|
-
import { d as MessageScrollerProvider } from '../../../../message-scroller-
|
|
5
|
+
import { d as MessageScrollerProvider } from '../../../../message-scroller-C6gXU5d5.js';
|
|
6
6
|
import { PanelGroup } from '../../../../resize/panel-group.es.js';
|
|
7
7
|
import { c as cn } from '../../../../cn-CQUhN5Jx.js';
|
|
8
8
|
|
|
@@ -7,7 +7,7 @@ const React = require('react');
|
|
|
7
7
|
const domains_traces_components_threadTrace_threadTraceContext = require('./thread-trace-context.cjs.js');
|
|
8
8
|
const domains_traces_components_threadTrace_threadTraceRowContext = require('./thread-trace-row-context.cjs.js');
|
|
9
9
|
const transcriptDivider = require('../../../../transcript-divider-Bu73RoLY.cjs');
|
|
10
|
-
const messageScroller = require('../../../../message-scroller-
|
|
10
|
+
const messageScroller = require('../../../../message-scroller-fjucuCuw.cjs');
|
|
11
11
|
const tabsRoot = require('../../../../tabs-root-sOhEgFZ-.cjs');
|
|
12
12
|
const hooks_useMeasuredAutoHeight = require('../../../../hooks/use-measured-auto-height.cjs.js');
|
|
13
13
|
const utils_cn = require('../../../../cn-DlOJCxrS.cjs');
|
|
@@ -3,7 +3,7 @@ import { useState, useCallback, useMemo } from 'react';
|
|
|
3
3
|
import { useThreadTrace } from './thread-trace-context.es.js';
|
|
4
4
|
import { ThreadTraceRowContext } from './thread-trace-row-context.es.js';
|
|
5
5
|
import { T as TranscriptDivider } from '../../../../transcript-divider-DpcLz0a6.js';
|
|
6
|
-
import { c as MessageScrollerItem } from '../../../../message-scroller-
|
|
6
|
+
import { c as MessageScrollerItem } from '../../../../message-scroller-C6gXU5d5.js';
|
|
7
7
|
import { T as Tabs } from '../../../../tabs-root-CI7WQrJF.js';
|
|
8
8
|
import { useMeasuredAutoHeight } from '../../../../hooks/use-measured-auto-height.es.js';
|
|
9
9
|
import { c as cn } from '../../../../cn-CQUhN5Jx.js';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
const domains_traces_utils_spanTiming = require('../utils/span-timing.cjs.js');
|
|
6
7
|
const domains_traces_components_spanRows = require('./span-rows.cjs.js');
|
|
7
8
|
const domains_traces_components_spanTimelineRow = require('./span-timeline-row.cjs.js');
|
|
8
9
|
const domains_traces_components_spanTypeLegend = require('./span-type-legend.cjs.js');
|
|
@@ -25,7 +26,7 @@ function TraceSpanTimeline({
|
|
|
25
26
|
leadingSlot
|
|
26
27
|
}) {
|
|
27
28
|
if (isLoading) return /* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_traceSpanTree.TraceSpanTreeLoading, {});
|
|
28
|
-
const overallLatency = hierarchicalSpans
|
|
29
|
+
const overallLatency = domains_traces_utils_spanTiming.getOverallLatency(hierarchicalSpans);
|
|
29
30
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
30
31
|
leadingSlot,
|
|
31
32
|
/* @__PURE__ */ jsxRuntime.jsx(domains_traces_components_spanTypeLegend.SpanTypeLegend, { spans: hierarchicalSpans }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-span-timeline.cjs.js","sources":["../../../../src/domains/traces/components/trace-span-timeline.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport type { UISpan } from '../types';\nimport { SpanRows } from './span-rows';\nimport { SpanTimelineRow } from './span-timeline-row';\nimport { SpanTypeLegend } from './span-type-legend';\nimport { TraceSpanTreeLoading } from './trace-span-tree';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type TraceSpanTimelineProps = {\n hierarchicalSpans: UISpan[];\n onSpanClick: (id: string) => void;\n selectedSpanId?: string;\n isLoading?: boolean;\n fadedTypes?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n featuredSpanIds?: string[];\n /** Row scrolled into view once it is mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n /** Rendered full-width above the span type legend row. */\n leadingSlot?: ReactNode;\n};\n\nconst TICKS = [0, 0.25, 0.5, 0.75, 1];\n\n/**\n * Gantt-style view of a trace: the same hierarchy and expansion state as `TraceSpanTree`,\n * but each row is a compact name cell plus a bar on a shared time axis. Rendered with its\n * own row component (`SpanTimelineRow`), independent from the tree's rows.\n */\nexport function TraceSpanTimeline({\n hierarchicalSpans = [],\n onSpanClick,\n selectedSpanId,\n isLoading,\n fadedTypes,\n expandedSpanIds,\n setExpandedSpanIds,\n featuredSpanIds,\n revealSpanId,\n leadingSlot,\n}: TraceSpanTimelineProps) {\n if (isLoading) return <TraceSpanTreeLoading />;\n\n const overallLatency = hierarchicalSpans
|
|
1
|
+
{"version":3,"file":"trace-span-timeline.cjs.js","sources":["../../../../src/domains/traces/components/trace-span-timeline.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport type { UISpan } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { SpanRows } from './span-rows';\nimport { SpanTimelineRow } from './span-timeline-row';\nimport { SpanTypeLegend } from './span-type-legend';\nimport { TraceSpanTreeLoading } from './trace-span-tree';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type TraceSpanTimelineProps = {\n hierarchicalSpans: UISpan[];\n onSpanClick: (id: string) => void;\n selectedSpanId?: string;\n isLoading?: boolean;\n fadedTypes?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n featuredSpanIds?: string[];\n /** Row scrolled into view once it is mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n /** Rendered full-width above the span type legend row. */\n leadingSlot?: ReactNode;\n};\n\nconst TICKS = [0, 0.25, 0.5, 0.75, 1];\n\n/**\n * Gantt-style view of a trace: the same hierarchy and expansion state as `TraceSpanTree`,\n * but each row is a compact name cell plus a bar on a shared time axis. Rendered with its\n * own row component (`SpanTimelineRow`), independent from the tree's rows.\n */\nexport function TraceSpanTimeline({\n hierarchicalSpans = [],\n onSpanClick,\n selectedSpanId,\n isLoading,\n fadedTypes,\n expandedSpanIds,\n setExpandedSpanIds,\n featuredSpanIds,\n revealSpanId,\n leadingSlot,\n}: TraceSpanTimelineProps) {\n if (isLoading) return <TraceSpanTreeLoading />;\n\n const overallLatency = getOverallLatency(hierarchicalSpans);\n\n return (\n <>\n {leadingSlot}\n <SpanTypeLegend spans={hierarchicalSpans} />\n <div className=\"grid grid-cols-[minmax(10rem,2fr)_minmax(12rem,3fr)] content-start gap-y-px overflow-hidden py-1\">\n {/* Header row: empty name cell, then the axis aligned with the bars (same horizontal padding, minus the duration label). */}\n <div />\n <div aria-label=\"Trace time axis\" className=\"grid grid-cols-[minmax(0,1fr)_auto] gap-2 px-2 pb-1\">\n <div className=\"flex justify-between tabular-nums\">\n {TICKS.map((tick, index) => (\n <Txt\n tone=\"muted\"\n as=\"span\"\n variant=\"meta\"\n key={tick}\n className={cn('whitespace-nowrap', index > 0 && index < TICKS.length - 1 && 'hidden sm:inline')}\n >\n {formatDurationPrecise(overallLatency * tick)}\n </Txt>\n ))}\n </div>\n <div className=\"w-12\" />\n </div>\n <SpanRows\n spans={hierarchicalSpans}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n renderRow={ctx => <SpanTimelineRow ctx={ctx} />}\n />\n </div>\n </>\n );\n}\n"],"names":["jsx","TraceSpanTreeLoading","getOverallLatency","jsxs","Fragment","SpanTypeLegend","Txt","cn","formatDurationPrecise","SpanRows","SpanTimelineRow"],"mappings":";;;;;;;;;;;;;;AA0BA,MAAM,QAAQ,CAAC,CAAA,EAAG,IAAA,EAAM,GAAA,EAAK,MAAM,CAAC,CAAA;AAO7B,SAAS,iBAAA,CAAkB;AAAA,EAChC,oBAAoB,EAAC;AAAA,EACrB,WAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EAA2B;AACzB,EAAA,IAAI,SAAA,EAAW,uBAAOA,cAAA,CAACC,4DAAA,EAAA,EAAqB,CAAA;AAE5C,EAAA,MAAM,cAAA,GAAiBC,kDAAkB,iBAAiB,CAAA;AAE1D,EAAA,uBACEC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,WAAA;AAAA,oBACDJ,cAAA,CAACK,uDAAA,EAAA,EAAe,KAAA,EAAO,iBAAA,EAAmB,CAAA;AAAA,oBAC1CF,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kGAAA,EAEb,QAAA,EAAA;AAAA,sBAAAH,cAAA,CAAC,KAAA,EAAA,EAAI,CAAA;AAAA,sBACLG,eAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAW,iBAAA,EAAkB,WAAU,qDAAA,EAC1C,QAAA,EAAA;AAAA,wBAAAH,cAAA,CAAC,SAAI,SAAA,EAAU,mCAAA,EACZ,gBAAM,GAAA,CAAI,CAAC,MAAM,KAAA,qBAChBA,cAAA;AAAA,UAACM,OAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,EAAA,EAAG,MAAA;AAAA,YACH,OAAA,EAAQ,MAAA;AAAA,YAER,SAAA,EAAWC,YAAG,mBAAA,EAAqB,KAAA,GAAQ,KAAK,KAAA,GAAQ,KAAA,CAAM,MAAA,GAAS,CAAA,IAAK,kBAAkB,CAAA;AAAA,YAE7F,QAAA,EAAAC,oCAAA,CAAsB,iBAAiB,IAAI;AAAA,WAAA;AAAA,UAHvC;AAAA,SAKR,CAAA,EACH,CAAA;AAAA,wBACAR,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAO;AAAA,OAAA,EACxB,CAAA;AAAA,sBACAA,cAAA;AAAA,QAACS,2CAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,iBAAA;AAAA,UACP,WAAA;AAAA,UACA,cAAA;AAAA,UACA,YAAA;AAAA,UACA,UAAA;AAAA,UACA,eAAA;AAAA,UACA,eAAA;AAAA,UACA,kBAAA;AAAA,UACA,SAAA,EAAW,CAAA,GAAA,qBAAOT,cAAA,CAACU,yDAAA,EAAA,EAAgB,GAAA,EAAU;AAAA;AAAA;AAC/C,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { getOverallLatency } from '../utils/span-timing.es.js';
|
|
2
3
|
import { SpanRows } from './span-rows.es.js';
|
|
3
4
|
import { SpanTimelineRow } from './span-timeline-row.es.js';
|
|
4
5
|
import { SpanTypeLegend } from './span-type-legend.es.js';
|
|
@@ -21,7 +22,7 @@ function TraceSpanTimeline({
|
|
|
21
22
|
leadingSlot
|
|
22
23
|
}) {
|
|
23
24
|
if (isLoading) return /* @__PURE__ */ jsx(TraceSpanTreeLoading, {});
|
|
24
|
-
const overallLatency = hierarchicalSpans
|
|
25
|
+
const overallLatency = getOverallLatency(hierarchicalSpans);
|
|
25
26
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
26
27
|
leadingSlot,
|
|
27
28
|
/* @__PURE__ */ jsx(SpanTypeLegend, { spans: hierarchicalSpans }),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace-span-timeline.es.js","sources":["../../../../src/domains/traces/components/trace-span-timeline.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport type { UISpan } from '../types';\nimport { SpanRows } from './span-rows';\nimport { SpanTimelineRow } from './span-timeline-row';\nimport { SpanTypeLegend } from './span-type-legend';\nimport { TraceSpanTreeLoading } from './trace-span-tree';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type TraceSpanTimelineProps = {\n hierarchicalSpans: UISpan[];\n onSpanClick: (id: string) => void;\n selectedSpanId?: string;\n isLoading?: boolean;\n fadedTypes?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n featuredSpanIds?: string[];\n /** Row scrolled into view once it is mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n /** Rendered full-width above the span type legend row. */\n leadingSlot?: ReactNode;\n};\n\nconst TICKS = [0, 0.25, 0.5, 0.75, 1];\n\n/**\n * Gantt-style view of a trace: the same hierarchy and expansion state as `TraceSpanTree`,\n * but each row is a compact name cell plus a bar on a shared time axis. Rendered with its\n * own row component (`SpanTimelineRow`), independent from the tree's rows.\n */\nexport function TraceSpanTimeline({\n hierarchicalSpans = [],\n onSpanClick,\n selectedSpanId,\n isLoading,\n fadedTypes,\n expandedSpanIds,\n setExpandedSpanIds,\n featuredSpanIds,\n revealSpanId,\n leadingSlot,\n}: TraceSpanTimelineProps) {\n if (isLoading) return <TraceSpanTreeLoading />;\n\n const overallLatency = hierarchicalSpans
|
|
1
|
+
{"version":3,"file":"trace-span-timeline.es.js","sources":["../../../../src/domains/traces/components/trace-span-timeline.tsx"],"sourcesContent":["import type { Dispatch, ReactNode, SetStateAction } from 'react';\nimport type { UISpan } from '../types';\nimport { getOverallLatency } from '../utils/span-timing';\nimport { SpanRows } from './span-rows';\nimport { SpanTimelineRow } from './span-timeline-row';\nimport { SpanTypeLegend } from './span-type-legend';\nimport { TraceSpanTreeLoading } from './trace-span-tree';\nimport { Txt } from '@/ds/components/Txt';\nimport { cn } from '@/lib/utils';\nimport { formatDurationPrecise } from '@/utils/duration';\n\nexport type TraceSpanTimelineProps = {\n hierarchicalSpans: UISpan[];\n onSpanClick: (id: string) => void;\n selectedSpanId?: string;\n isLoading?: boolean;\n fadedTypes?: string[];\n expandedSpanIds?: string[];\n setExpandedSpanIds?: Dispatch<SetStateAction<string[]>>;\n featuredSpanIds?: string[];\n /** Row scrolled into view once it is mounted (ancestors auto-expand when the span is featured). */\n revealSpanId?: string;\n /** Rendered full-width above the span type legend row. */\n leadingSlot?: ReactNode;\n};\n\nconst TICKS = [0, 0.25, 0.5, 0.75, 1];\n\n/**\n * Gantt-style view of a trace: the same hierarchy and expansion state as `TraceSpanTree`,\n * but each row is a compact name cell plus a bar on a shared time axis. Rendered with its\n * own row component (`SpanTimelineRow`), independent from the tree's rows.\n */\nexport function TraceSpanTimeline({\n hierarchicalSpans = [],\n onSpanClick,\n selectedSpanId,\n isLoading,\n fadedTypes,\n expandedSpanIds,\n setExpandedSpanIds,\n featuredSpanIds,\n revealSpanId,\n leadingSlot,\n}: TraceSpanTimelineProps) {\n if (isLoading) return <TraceSpanTreeLoading />;\n\n const overallLatency = getOverallLatency(hierarchicalSpans);\n\n return (\n <>\n {leadingSlot}\n <SpanTypeLegend spans={hierarchicalSpans} />\n <div className=\"grid grid-cols-[minmax(10rem,2fr)_minmax(12rem,3fr)] content-start gap-y-px overflow-hidden py-1\">\n {/* Header row: empty name cell, then the axis aligned with the bars (same horizontal padding, minus the duration label). */}\n <div />\n <div aria-label=\"Trace time axis\" className=\"grid grid-cols-[minmax(0,1fr)_auto] gap-2 px-2 pb-1\">\n <div className=\"flex justify-between tabular-nums\">\n {TICKS.map((tick, index) => (\n <Txt\n tone=\"muted\"\n as=\"span\"\n variant=\"meta\"\n key={tick}\n className={cn('whitespace-nowrap', index > 0 && index < TICKS.length - 1 && 'hidden sm:inline')}\n >\n {formatDurationPrecise(overallLatency * tick)}\n </Txt>\n ))}\n </div>\n <div className=\"w-12\" />\n </div>\n <SpanRows\n spans={hierarchicalSpans}\n onSpanClick={onSpanClick}\n selectedSpanId={selectedSpanId}\n revealSpanId={revealSpanId}\n fadedTypes={fadedTypes}\n featuredSpanIds={featuredSpanIds}\n expandedSpanIds={expandedSpanIds}\n setExpandedSpanIds={setExpandedSpanIds}\n renderRow={ctx => <SpanTimelineRow ctx={ctx} />}\n />\n </div>\n </>\n );\n}\n"],"names":[],"mappings":";;;;;;;;;;AA0BA,MAAM,QAAQ,CAAC,CAAA,EAAG,IAAA,EAAM,GAAA,EAAK,MAAM,CAAC,CAAA;AAO7B,SAAS,iBAAA,CAAkB;AAAA,EAChC,oBAAoB,EAAC;AAAA,EACrB,WAAA;AAAA,EACA,cAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA;AAAA,EACA,eAAA;AAAA,EACA,kBAAA;AAAA,EACA,eAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,EAA2B;AACzB,EAAA,IAAI,SAAA,EAAW,uBAAO,GAAA,CAAC,oBAAA,EAAA,EAAqB,CAAA;AAE5C,EAAA,MAAM,cAAA,GAAiB,kBAAkB,iBAAiB,CAAA;AAE1D,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,WAAA;AAAA,oBACD,GAAA,CAAC,cAAA,EAAA,EAAe,KAAA,EAAO,iBAAA,EAAmB,CAAA;AAAA,oBAC1C,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kGAAA,EAEb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,CAAA;AAAA,sBACL,IAAA,CAAC,KAAA,EAAA,EAAI,YAAA,EAAW,iBAAA,EAAkB,WAAU,qDAAA,EAC1C,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mCAAA,EACZ,gBAAM,GAAA,CAAI,CAAC,MAAM,KAAA,qBAChB,GAAA;AAAA,UAAC,GAAA;AAAA,UAAA;AAAA,YACC,IAAA,EAAK,OAAA;AAAA,YACL,EAAA,EAAG,MAAA;AAAA,YACH,OAAA,EAAQ,MAAA;AAAA,YAER,SAAA,EAAW,GAAG,mBAAA,EAAqB,KAAA,GAAQ,KAAK,KAAA,GAAQ,KAAA,CAAM,MAAA,GAAS,CAAA,IAAK,kBAAkB,CAAA;AAAA,YAE7F,QAAA,EAAA,qBAAA,CAAsB,iBAAiB,IAAI;AAAA,WAAA;AAAA,UAHvC;AAAA,SAKR,CAAA,EACH,CAAA;AAAA,wBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,MAAA,EAAO;AAAA,OAAA,EACxB,CAAA;AAAA,sBACA,GAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,KAAA,EAAO,iBAAA;AAAA,UACP,WAAA;AAAA,UACA,cAAA;AAAA,UACA,YAAA;AAAA,UACA,UAAA;AAAA,UACA,eAAA;AAAA,UACA,eAAA;AAAA,UACA,kBAAA;AAAA,UACA,SAAA,EAAW,CAAA,GAAA,qBAAO,GAAA,CAAC,eAAA,EAAA,EAAgB,GAAA,EAAU;AAAA;AAAA;AAC/C,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|
|
@@ -8,11 +8,11 @@ const lucideReact = require('lucide-react');
|
|
|
8
8
|
const React = require('react');
|
|
9
9
|
const domains_traces_traceListColumns = require('../trace-list-columns.cjs.js');
|
|
10
10
|
const domains_traces_utils_spanUtils = require('../utils/span-utils.cjs.js');
|
|
11
|
-
const dataList = require('../../../data-list-
|
|
12
|
-
const dataListSkeleton = require('../../../data-list-skeleton-
|
|
13
|
-
const tracesDataList = require('../../../traces-data-list-
|
|
11
|
+
const dataList = require('../../../data-list-CmjTe8xE.cjs');
|
|
12
|
+
const dataListSkeleton = require('../../../data-list-skeleton-sdcaabdX.cjs');
|
|
13
|
+
const tracesDataList = require('../../../traces-data-list-Bhhg9drs.cjs');
|
|
14
14
|
const useDataListKeyboard = require('../../../use-data-list-keyboard-DF3tLe10.cjs');
|
|
15
|
-
const dataListTop = require('../../../data-list-top-
|
|
15
|
+
const dataListTop = require('../../../data-list-top-DJh08vFA.cjs');
|
|
16
16
|
const dropdownMenu = require('../../../dropdown-menu-CsynT1aD.cjs');
|
|
17
17
|
const Txt = require('../../../Txt-CIS2G5Jx.cjs');
|
|
18
18
|
const primitives_transitions = require('../../../primitives/transitions.cjs.js');
|
|
@@ -4,11 +4,11 @@ import { ListFilterIcon } from 'lucide-react';
|
|
|
4
4
|
import { useRef } from 'react';
|
|
5
5
|
import { buildTraceListColumns, buildTraceListColumnKeys, hasTraceColumn, DEFAULT_TRACE_COLUMN_PREFERENCES, TRACE_CUSTOM_COLUMN_LABELS, formatTraceMetadataValue } from '../trace-list-columns.es.js';
|
|
6
6
|
import { getInputPreview, getSpanDurationMs } from '../utils/span-utils.es.js';
|
|
7
|
-
import { D as DataList } from '../../../data-list-
|
|
8
|
-
import { a as DataListSkeletonRows } from '../../../data-list-skeleton-
|
|
9
|
-
import { T as TracesDataList } from '../../../traces-data-list-
|
|
7
|
+
import { D as DataList } from '../../../data-list-DT1LVR29.js';
|
|
8
|
+
import { a as DataListSkeletonRows } from '../../../data-list-skeleton-bNfITSHs.js';
|
|
9
|
+
import { T as TracesDataList } from '../../../traces-data-list-DMWPJFBc.js';
|
|
10
10
|
import { u as useDataListKeyboard } from '../../../use-data-list-keyboard-DFQr4t38.js';
|
|
11
|
-
import { s as splitColumns } from '../../../data-list-top-
|
|
11
|
+
import { s as splitColumns } from '../../../data-list-top-T-mtdIUp.js';
|
|
12
12
|
import { D as DropdownMenu } from '../../../dropdown-menu-CQ_48tVI.js';
|
|
13
13
|
import { T as Txt } from '../../../Txt-BtIGLRk1.js';
|
|
14
14
|
import { focusRing } from '../../../primitives/transitions.es.js';
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
4
4
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const domains_traces_traceListColumns = require('../trace-list-columns.cjs.js');
|
|
7
|
-
const dataListSkeleton = require('../../../data-list-skeleton-
|
|
7
|
+
const dataListSkeleton = require('../../../data-list-skeleton-sdcaabdX.cjs');
|
|
8
8
|
const skeleton = require('../../../skeleton-lkFwOzqL.cjs');
|
|
9
9
|
|
|
10
10
|
function TracesPageSkeleton({ columnPreferences = domains_traces_traceListColumns.DEFAULT_TRACE_COLUMN_PREFERENCES }) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
2
|
import { buildTraceListColumns, DEFAULT_TRACE_COLUMN_PREFERENCES } from '../trace-list-columns.es.js';
|
|
3
|
-
import { D as DataListSkeleton } from '../../../data-list-skeleton-
|
|
3
|
+
import { D as DataListSkeleton } from '../../../data-list-skeleton-bNfITSHs.js';
|
|
4
4
|
import { S as Skeleton } from '../../../skeleton-Q4fDAXcz.js';
|
|
5
5
|
|
|
6
6
|
function TracesPageSkeleton({ columnPreferences = DEFAULT_TRACE_COLUMN_PREFERENCES }) {
|
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
4
|
|
|
5
|
+
function getOverallLatency(spans) {
|
|
6
|
+
const [firstSpan] = spans;
|
|
7
|
+
if (!firstSpan) return 0;
|
|
8
|
+
const overallStart = new Date(firstSpan.startTime).getTime();
|
|
9
|
+
return spans.reduce(
|
|
10
|
+
(latest, span) => Math.max(latest, new Date(span.startTime).getTime() + span.latency - overallStart),
|
|
11
|
+
0
|
|
12
|
+
);
|
|
13
|
+
}
|
|
5
14
|
function getSpanTimingLayout(span, overallLatency, overallStartTime) {
|
|
6
15
|
const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;
|
|
7
16
|
const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;
|
|
@@ -12,5 +21,6 @@ function getSpanTimingLayout(span, overallLatency, overallStartTime) {
|
|
|
12
21
|
return { startShiftMs, leftPercent, widthPercent };
|
|
13
22
|
}
|
|
14
23
|
|
|
24
|
+
exports.getOverallLatency = getOverallLatency;
|
|
15
25
|
exports.getSpanTimingLayout = getSpanTimingLayout;
|
|
16
26
|
//# sourceMappingURL=span-timing.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-timing.cjs.js","sources":["../../../../src/domains/traces/utils/span-timing.ts"],"sourcesContent":["import type { UISpan } from '../types';\n\nexport type SpanTimingLayout = {\n /** Milliseconds between the trace start and the span start. */\n startShiftMs: number;\n /** Horizontal offset of the span bar, as a percentage of the trace duration. */\n leftPercent: number;\n /** Width of the span bar, as a percentage of the trace duration, clamped to the remaining track. */\n widthPercent: number;\n};\n\n/** Positions a span on a track spanning the whole trace (`overallLatency` ms from `overallStartTime`). */\nexport function getSpanTimingLayout(\n span: UISpan,\n overallLatency?: number,\n overallStartTime?: string,\n): SpanTimingLayout {\n const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;\n const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;\n const startShiftMs = Number.isNaN(overallStart) || Number.isNaN(spanStart) ? 0 : spanStart - overallStart;\n\n if (!overallLatency) return { startShiftMs, leftPercent: 0, widthPercent: 0 };\n\n const leftPercent = Math.min(100, Math.max(0, Math.floor((startShiftMs / overallLatency) * 100)));\n const widthPercent = Math.min(100 - leftPercent, Math.ceil((span.latency / overallLatency) * 100));\n\n return { startShiftMs, leftPercent, widthPercent };\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,mBAAA,CACd,IAAA,EACA,cAAA,EACA,gBAAA,EACkB;AAClB,EAAA,MAAM,eAAe,gBAAA,GAAmB,IAAI,KAAK,gBAAgB,CAAA,CAAE,SAAQ,GAAI,GAAA;AAC/E,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,GAAY,IAAI,KAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,GAAA;AACxE,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,IAAK,OAAO,KAAA,CAAM,SAAS,CAAA,GAAI,CAAA,GAAI,SAAA,GAAY,YAAA;AAE7F,EAAA,IAAI,CAAC,gBAAgB,OAAO,EAAE,cAAc,WAAA,EAAa,CAAA,EAAG,cAAc,CAAA,EAAE;AAE5E,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,KAAA,CAAO,YAAA,GAAe,cAAA,GAAkB,GAAG,CAAC,CAAC,CAAA;AAChG,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,GAAA,GAAM,WAAA,EAAa,IAAA,CAAK,IAAA,CAAM,IAAA,CAAK,OAAA,GAAU,cAAA,GAAkB,GAAG,CAAC,CAAA;AAEjG,EAAA,OAAO,EAAE,YAAA,EAAc,WAAA,EAAa,YAAA,EAAa;AACnD
|
|
1
|
+
{"version":3,"file":"span-timing.cjs.js","sources":["../../../../src/domains/traces/utils/span-timing.ts"],"sourcesContent":["import type { UISpan } from '../types';\n\nexport type SpanTimingLayout = {\n /** Milliseconds between the trace start and the span start. */\n startShiftMs: number;\n /** Horizontal offset of the span bar, as a percentage of the trace duration. */\n leftPercent: number;\n /** Width of the span bar, as a percentage of the trace duration, clamped to the remaining track. */\n widthPercent: number;\n};\n\n/** Length of a track spanning every top-level span, from the first span start to the latest span end. */\nexport function getOverallLatency(spans: Pick<UISpan, 'startTime' | 'latency'>[]): number {\n const [firstSpan] = spans;\n if (!firstSpan) return 0;\n\n const overallStart = new Date(firstSpan.startTime).getTime();\n return spans.reduce(\n (latest, span) => Math.max(latest, new Date(span.startTime).getTime() + span.latency - overallStart),\n 0,\n );\n}\n\n/** Positions a span on a track spanning the whole trace (`overallLatency` ms from `overallStartTime`). */\nexport function getSpanTimingLayout(\n span: UISpan,\n overallLatency?: number,\n overallStartTime?: string,\n): SpanTimingLayout {\n const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;\n const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;\n const startShiftMs = Number.isNaN(overallStart) || Number.isNaN(spanStart) ? 0 : spanStart - overallStart;\n\n if (!overallLatency) return { startShiftMs, leftPercent: 0, widthPercent: 0 };\n\n const leftPercent = Math.min(100, Math.max(0, Math.floor((startShiftMs / overallLatency) * 100)));\n const widthPercent = Math.min(100 - leftPercent, Math.ceil((span.latency / overallLatency) * 100));\n\n return { startShiftMs, leftPercent, widthPercent };\n}\n"],"names":[],"mappings":";;;;AAYO,SAAS,kBAAkB,KAAA,EAAwD;AACxF,EAAA,MAAM,CAAC,SAAS,CAAA,GAAI,KAAA;AACpB,EAAA,IAAI,CAAC,WAAW,OAAO,CAAA;AAEvB,EAAA,MAAM,eAAe,IAAI,IAAA,CAAK,SAAA,CAAU,SAAS,EAAE,OAAA,EAAQ;AAC3D,EAAA,OAAO,KAAA,CAAM,MAAA;AAAA,IACX,CAAC,MAAA,EAAQ,IAAA,KAAS,IAAA,CAAK,IAAI,MAAA,EAAQ,IAAI,IAAA,CAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,IAAA,CAAK,UAAU,YAAY,CAAA;AAAA,IACnG;AAAA,GACF;AACF;AAGO,SAAS,mBAAA,CACd,IAAA,EACA,cAAA,EACA,gBAAA,EACkB;AAClB,EAAA,MAAM,eAAe,gBAAA,GAAmB,IAAI,KAAK,gBAAgB,CAAA,CAAE,SAAQ,GAAI,GAAA;AAC/E,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,GAAY,IAAI,KAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,GAAA;AACxE,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,IAAK,OAAO,KAAA,CAAM,SAAS,CAAA,GAAI,CAAA,GAAI,SAAA,GAAY,YAAA;AAE7F,EAAA,IAAI,CAAC,gBAAgB,OAAO,EAAE,cAAc,WAAA,EAAa,CAAA,EAAG,cAAc,CAAA,EAAE;AAE5E,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,KAAA,CAAO,YAAA,GAAe,cAAA,GAAkB,GAAG,CAAC,CAAC,CAAA;AAChG,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,GAAA,GAAM,WAAA,EAAa,IAAA,CAAK,IAAA,CAAM,IAAA,CAAK,OAAA,GAAU,cAAA,GAAkB,GAAG,CAAC,CAAA;AAEjG,EAAA,OAAO,EAAE,YAAA,EAAc,WAAA,EAAa,YAAA,EAAa;AACnD;;;;;"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
|
+
function getOverallLatency(spans) {
|
|
2
|
+
const [firstSpan] = spans;
|
|
3
|
+
if (!firstSpan) return 0;
|
|
4
|
+
const overallStart = new Date(firstSpan.startTime).getTime();
|
|
5
|
+
return spans.reduce(
|
|
6
|
+
(latest, span) => Math.max(latest, new Date(span.startTime).getTime() + span.latency - overallStart),
|
|
7
|
+
0
|
|
8
|
+
);
|
|
9
|
+
}
|
|
1
10
|
function getSpanTimingLayout(span, overallLatency, overallStartTime) {
|
|
2
11
|
const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;
|
|
3
12
|
const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;
|
|
@@ -8,5 +17,5 @@ function getSpanTimingLayout(span, overallLatency, overallStartTime) {
|
|
|
8
17
|
return { startShiftMs, leftPercent, widthPercent };
|
|
9
18
|
}
|
|
10
19
|
|
|
11
|
-
export { getSpanTimingLayout };
|
|
20
|
+
export { getOverallLatency, getSpanTimingLayout };
|
|
12
21
|
//# sourceMappingURL=span-timing.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"span-timing.es.js","sources":["../../../../src/domains/traces/utils/span-timing.ts"],"sourcesContent":["import type { UISpan } from '../types';\n\nexport type SpanTimingLayout = {\n /** Milliseconds between the trace start and the span start. */\n startShiftMs: number;\n /** Horizontal offset of the span bar, as a percentage of the trace duration. */\n leftPercent: number;\n /** Width of the span bar, as a percentage of the trace duration, clamped to the remaining track. */\n widthPercent: number;\n};\n\n/** Positions a span on a track spanning the whole trace (`overallLatency` ms from `overallStartTime`). */\nexport function getSpanTimingLayout(\n span: UISpan,\n overallLatency?: number,\n overallStartTime?: string,\n): SpanTimingLayout {\n const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;\n const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;\n const startShiftMs = Number.isNaN(overallStart) || Number.isNaN(spanStart) ? 0 : spanStart - overallStart;\n\n if (!overallLatency) return { startShiftMs, leftPercent: 0, widthPercent: 0 };\n\n const leftPercent = Math.min(100, Math.max(0, Math.floor((startShiftMs / overallLatency) * 100)));\n const widthPercent = Math.min(100 - leftPercent, Math.ceil((span.latency / overallLatency) * 100));\n\n return { startShiftMs, leftPercent, widthPercent };\n}\n"],"names":[],"mappings":"AAYO,SAAS,mBAAA,CACd,IAAA,EACA,cAAA,EACA,gBAAA,EACkB;AAClB,EAAA,MAAM,eAAe,gBAAA,GAAmB,IAAI,KAAK,gBAAgB,CAAA,CAAE,SAAQ,GAAI,GAAA;AAC/E,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,GAAY,IAAI,KAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,GAAA;AACxE,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,IAAK,OAAO,KAAA,CAAM,SAAS,CAAA,GAAI,CAAA,GAAI,SAAA,GAAY,YAAA;AAE7F,EAAA,IAAI,CAAC,gBAAgB,OAAO,EAAE,cAAc,WAAA,EAAa,CAAA,EAAG,cAAc,CAAA,EAAE;AAE5E,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,KAAA,CAAO,YAAA,GAAe,cAAA,GAAkB,GAAG,CAAC,CAAC,CAAA;AAChG,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,GAAA,GAAM,WAAA,EAAa,IAAA,CAAK,IAAA,CAAM,IAAA,CAAK,OAAA,GAAU,cAAA,GAAkB,GAAG,CAAC,CAAA;AAEjG,EAAA,OAAO,EAAE,YAAA,EAAc,WAAA,EAAa,YAAA,EAAa;AACnD;;;;"}
|
|
1
|
+
{"version":3,"file":"span-timing.es.js","sources":["../../../../src/domains/traces/utils/span-timing.ts"],"sourcesContent":["import type { UISpan } from '../types';\n\nexport type SpanTimingLayout = {\n /** Milliseconds between the trace start and the span start. */\n startShiftMs: number;\n /** Horizontal offset of the span bar, as a percentage of the trace duration. */\n leftPercent: number;\n /** Width of the span bar, as a percentage of the trace duration, clamped to the remaining track. */\n widthPercent: number;\n};\n\n/** Length of a track spanning every top-level span, from the first span start to the latest span end. */\nexport function getOverallLatency(spans: Pick<UISpan, 'startTime' | 'latency'>[]): number {\n const [firstSpan] = spans;\n if (!firstSpan) return 0;\n\n const overallStart = new Date(firstSpan.startTime).getTime();\n return spans.reduce(\n (latest, span) => Math.max(latest, new Date(span.startTime).getTime() + span.latency - overallStart),\n 0,\n );\n}\n\n/** Positions a span on a track spanning the whole trace (`overallLatency` ms from `overallStartTime`). */\nexport function getSpanTimingLayout(\n span: UISpan,\n overallLatency?: number,\n overallStartTime?: string,\n): SpanTimingLayout {\n const overallStart = overallStartTime ? new Date(overallStartTime).getTime() : NaN;\n const spanStart = span.startTime ? new Date(span.startTime).getTime() : NaN;\n const startShiftMs = Number.isNaN(overallStart) || Number.isNaN(spanStart) ? 0 : spanStart - overallStart;\n\n if (!overallLatency) return { startShiftMs, leftPercent: 0, widthPercent: 0 };\n\n const leftPercent = Math.min(100, Math.max(0, Math.floor((startShiftMs / overallLatency) * 100)));\n const widthPercent = Math.min(100 - leftPercent, Math.ceil((span.latency / overallLatency) * 100));\n\n return { startShiftMs, leftPercent, widthPercent };\n}\n"],"names":[],"mappings":"AAYO,SAAS,kBAAkB,KAAA,EAAwD;AACxF,EAAA,MAAM,CAAC,SAAS,CAAA,GAAI,KAAA;AACpB,EAAA,IAAI,CAAC,WAAW,OAAO,CAAA;AAEvB,EAAA,MAAM,eAAe,IAAI,IAAA,CAAK,SAAA,CAAU,SAAS,EAAE,OAAA,EAAQ;AAC3D,EAAA,OAAO,KAAA,CAAM,MAAA;AAAA,IACX,CAAC,MAAA,EAAQ,IAAA,KAAS,IAAA,CAAK,IAAI,MAAA,EAAQ,IAAI,IAAA,CAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,IAAA,CAAK,UAAU,YAAY,CAAA;AAAA,IACnG;AAAA,GACF;AACF;AAGO,SAAS,mBAAA,CACd,IAAA,EACA,cAAA,EACA,gBAAA,EACkB;AAClB,EAAA,MAAM,eAAe,gBAAA,GAAmB,IAAI,KAAK,gBAAgB,CAAA,CAAE,SAAQ,GAAI,GAAA;AAC/E,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,GAAY,IAAI,KAAK,IAAA,CAAK,SAAS,CAAA,CAAE,OAAA,EAAQ,GAAI,GAAA;AACxE,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,KAAA,CAAM,YAAY,CAAA,IAAK,OAAO,KAAA,CAAM,SAAS,CAAA,GAAI,CAAA,GAAI,SAAA,GAAY,YAAA;AAE7F,EAAA,IAAI,CAAC,gBAAgB,OAAO,EAAE,cAAc,WAAA,EAAa,CAAA,EAAG,cAAc,CAAA,EAAE;AAE5E,EAAA,MAAM,WAAA,GAAc,IAAA,CAAK,GAAA,CAAI,GAAA,EAAK,IAAA,CAAK,GAAA,CAAI,CAAA,EAAG,IAAA,CAAK,KAAA,CAAO,YAAA,GAAe,cAAA,GAAkB,GAAG,CAAC,CAAC,CAAA;AAChG,EAAA,MAAM,YAAA,GAAe,IAAA,CAAK,GAAA,CAAI,GAAA,GAAM,WAAA,EAAa,IAAA,CAAK,IAAA,CAAM,IAAA,CAAK,OAAA,GAAU,cAAA,GAAkB,GAAG,CAAC,CAAA;AAEjG,EAAA,OAAO,EAAE,YAAA,EAAc,WAAA,EAAa,YAAA,EAAa;AACnD;;;;"}
|
|
@@ -9,8 +9,8 @@ const React = require('react');
|
|
|
9
9
|
const domains_workflows_components_workflowsList_workflowsSort = require('./workflows-sort.cjs.js');
|
|
10
10
|
const domains_workflows_utils_nestedWorkflows = require('../../utils/nested-workflows.cjs.js');
|
|
11
11
|
const Badge = require('../../../../Badge-63UxysBA.cjs');
|
|
12
|
-
const dataList = require('../../../../data-list-
|
|
13
|
-
const dataListSkeleton = require('../../../../data-list-skeleton-
|
|
12
|
+
const dataList = require('../../../../data-list-CmjTe8xE.cjs');
|
|
13
|
+
const dataListSkeleton = require('../../../../data-list-skeleton-sdcaabdX.cjs');
|
|
14
14
|
const useDataListKeyboard = require('../../../../use-data-list-keyboard-DF3tLe10.cjs');
|
|
15
15
|
const disclosureChevron = require('../../../../disclosure-chevron-D0KwJ8Zc.cjs');
|
|
16
16
|
const tooltip = require('../../../../tooltip-BppwIf6Y.cjs');
|
|
@@ -5,8 +5,8 @@ import { useState, useMemo, useRef } from 'react';
|
|
|
5
5
|
import { sortWorkflows } from './workflows-sort.es.js';
|
|
6
6
|
import { flattenWorkflowTree } from '../../utils/nested-workflows.es.js';
|
|
7
7
|
import { B as Badge } from '../../../../Badge-CHGARUEW.js';
|
|
8
|
-
import { D as DataList } from '../../../../data-list-
|
|
9
|
-
import { D as DataListSkeleton } from '../../../../data-list-skeleton-
|
|
8
|
+
import { D as DataList } from '../../../../data-list-DT1LVR29.js';
|
|
9
|
+
import { D as DataListSkeleton } from '../../../../data-list-skeleton-bNfITSHs.js';
|
|
10
10
|
import { u as useDataListKeyboard } from '../../../../use-data-list-keyboard-DFQr4t38.js';
|
|
11
11
|
import { D as DisclosureChevron } from '../../../../disclosure-chevron-qzDAjl55.js';
|
|
12
12
|
import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from '../../../../tooltip-DrsXZDAj.js';
|
|
@@ -5,7 +5,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
|
5
5
|
const jsxRuntime = require('react/jsx-runtime');
|
|
6
6
|
const ee_signals_components_entityIndexModel = require('./entity-index-model.cjs.js');
|
|
7
7
|
const ee_signals_components_entityIndexStatus = require('./entity-index-status.cjs.js');
|
|
8
|
-
const dataList = require('../../../data-list-
|
|
8
|
+
const dataList = require('../../../data-list-CmjTe8xE.cjs');
|
|
9
9
|
|
|
10
10
|
const columns = "minmax(12rem,1.5fr) minmax(7rem,0.6fr) minmax(8rem,0.7fr) minmax(8rem,0.7fr) minmax(12rem,1fr)";
|
|
11
11
|
function EntityIndexList({ entities, hasSearch, getEntityHref, LinkComponent }) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { entityIndexMetadata } from './entity-index-model.es.js';
|
|
3
3
|
import { EntityIndexStatus } from './entity-index-status.es.js';
|
|
4
|
-
import { D as DataList } from '../../../data-list-
|
|
4
|
+
import { D as DataList } from '../../../data-list-DT1LVR29.js';
|
|
5
5
|
|
|
6
6
|
const columns = "minmax(12rem,1.5fr) minmax(7rem,0.6fr) minmax(8rem,0.7fr) minmax(8rem,0.7fr) minmax(12rem,1fr)";
|
|
7
7
|
function EntityIndexList({ entities, hasSearch, getEntityHref, LinkComponent }) {
|
|
@@ -17,7 +17,7 @@ const domains_auth_components_permissionDenied = require('../../../domains/auth/
|
|
|
17
17
|
const domains_auth_components_sessionExpired = require('../../../domains/auth/components/session-expired.cjs.js');
|
|
18
18
|
const Button = require('../../../Button-DH1aTzbs.cjs');
|
|
19
19
|
const buttonsGroup = require('../../../buttons-group-Bg9Unm6G.cjs');
|
|
20
|
-
const dataListSkeleton = require('../../../data-list-skeleton-
|
|
20
|
+
const dataListSkeleton = require('../../../data-list-skeleton-sdcaabdX.cjs');
|
|
21
21
|
const EmptyState = require('../../../EmptyState-FNJu74e8.cjs');
|
|
22
22
|
const listSearch = require('../../../list-search-DHiQ1-O6.cjs');
|
|
23
23
|
const select = require('../../../select-CbNLtiAs.cjs');
|
|
@@ -13,7 +13,7 @@ import { PermissionDenied } from '../../../domains/auth/components/permission-de
|
|
|
13
13
|
import { SessionExpired } from '../../../domains/auth/components/session-expired.es.js';
|
|
14
14
|
import { B as Button } from '../../../Button-EGoajBQY.js';
|
|
15
15
|
import { B as ButtonsGroup } from '../../../buttons-group-DGWioDP3.js';
|
|
16
|
-
import { D as DataListSkeleton } from '../../../data-list-skeleton-
|
|
16
|
+
import { D as DataListSkeleton } from '../../../data-list-skeleton-bNfITSHs.js';
|
|
17
17
|
import { E as EmptyState } from '../../../EmptyState-qVoRkUMf.js';
|
|
18
18
|
import { L as ListSearch } from '../../../list-search-D3I6xt0B.js';
|
|
19
19
|
import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from '../../../select-CQtsggxJ.js';
|
|
@@ -7,7 +7,7 @@ const lucideReact = require('lucide-react');
|
|
|
7
7
|
const React = require('react');
|
|
8
8
|
const ee_topics_utils = require('../utils.cjs.js');
|
|
9
9
|
const Button = require('../../../Button-DH1aTzbs.cjs');
|
|
10
|
-
const dataList = require('../../../data-list-
|
|
10
|
+
const dataList = require('../../../data-list-CmjTe8xE.cjs');
|
|
11
11
|
const useDataListKeyboard = require('../../../use-data-list-keyboard-DF3tLe10.cjs');
|
|
12
12
|
const searchInput = require('../../../search-input-BUMYRaUW.cjs');
|
|
13
13
|
|
|
@@ -3,7 +3,7 @@ import { ChevronDown } from 'lucide-react';
|
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { getVisibleTraceSummaries } from '../utils.es.js';
|
|
5
5
|
import { B as Button } from '../../../Button-EGoajBQY.js';
|
|
6
|
-
import { D as DataList } from '../../../data-list-
|
|
6
|
+
import { D as DataList } from '../../../data-list-DT1LVR29.js';
|
|
7
7
|
import { u as useDataListKeyboard } from '../../../use-data-list-keyboard-DFQr4t38.js';
|
|
8
8
|
import { S as SearchInput } from '../../../search-input-BPqubJZC.js';
|
|
9
9
|
|
|
@@ -127,7 +127,8 @@ function useFluidHover(containerRef, options = {}) {
|
|
|
127
127
|
top,
|
|
128
128
|
height: element.offsetHeight,
|
|
129
129
|
left,
|
|
130
|
-
width: element.offsetWidth
|
|
130
|
+
width: element.offsetWidth,
|
|
131
|
+
radius: getComputedStyle(element).borderRadius
|
|
131
132
|
};
|
|
132
133
|
});
|
|
133
134
|
if (itemsRef.current.size > 0 && laidOutItemCount === 0) return false;
|
|
@@ -137,7 +138,7 @@ function useFluidHover(containerRef, options = {}) {
|
|
|
137
138
|
const p = prev[i];
|
|
138
139
|
const r = rects[i];
|
|
139
140
|
if (p === r) continue;
|
|
140
|
-
changed = !p || !r || p.top !== r.top || p.left !== r.left || p.width !== r.width || p.height !== r.height;
|
|
141
|
+
changed = !p || !r || p.top !== r.top || p.left !== r.left || p.width !== r.width || p.height !== r.height || p.radius !== r.radius;
|
|
141
142
|
}
|
|
142
143
|
if (changed) {
|
|
143
144
|
itemRectsRef.current = rects;
|