diff --git a/studio/frontend/src/features/recipe-studio/components/executions/execution-overview-tab.tsx b/studio/frontend/src/features/recipe-studio/components/executions/execution-overview-tab.tsx index 14037aff4f..f0808c1a5d 100644 --- a/studio/frontend/src/features/recipe-studio/components/executions/execution-overview-tab.tsx +++ b/studio/frontend/src/features/recipe-studio/components/executions/execution-overview-tab.tsx @@ -31,8 +31,6 @@ type ExecutionOverviewTabProps = { sideEffects: string[]; lowUniquenessColumns: string[]; modelUsageRows: ModelUsageRow[]; - totalInputTokens: number; - totalOutputTokens: number; terminalLines: string[]; terminalRef: RefObject; onTerminalScroll: (event: UIEvent) => void; @@ -50,8 +48,6 @@ export function ExecutionOverviewTab({ sideEffects, lowUniquenessColumns, modelUsageRows, - totalInputTokens, - totalOutputTokens, terminalLines, terminalRef, onTerminalScroll, @@ -69,22 +65,23 @@ export function ExecutionOverviewTab({ className="size-4 text-muted-foreground" /> -
-

- Records:{" "} +

+

+ Records {formatMetricValue(recordsMetric)} / {formatMetricValue(totalMetric)}

-

- Duration: {runDuration} +

+ Duration + {runDuration}

-

- Columns analyzed:{" "} +

+ Columns analyzed {formatMetricValue(columnCount)}

-

- Final stage:{" "} +

+ Final stage {execution.stage ?? "--"}

@@ -97,45 +94,50 @@ export function ExecutionOverviewTab({ className="size-4 text-muted-foreground" />
-
-

- LLM columns:{" "} +

+

+ LLM columns {formatMetricValue(llmColumnCount)}

-

- Null rate: {nullRate?.toFixed(1) ?? "--"}% +

+ Null rate + {nullRate?.toFixed(1) ?? "--"}%

-

- Dropped columns:{" "} +

+ Dropped columns {formatMetricValue(sideEffects.length)}

{sideEffects.length > 0 && ( -
- {sideEffects.map((name) => ( - - {name} - - ))} +
+
+ {sideEffects.map((name) => ( + + {name} + + ))} +
)} -

- Low uniqueness flags:{" "} +

+ Low uniqueness flags {formatMetricValue(lowUniquenessColumns.length)}

{lowUniquenessColumns.length > 0 && ( -
- {lowUniquenessColumns.slice(0, 3).map((name) => ( - - {name} - - ))} - {lowUniquenessColumns.length > 3 && ( - - +{lowUniquenessColumns.length - 3} more - - )} +
+
+ {lowUniquenessColumns.slice(0, 3).map((name) => ( + + {name} + + ))} + {lowUniquenessColumns.length > 3 && ( + + +{lowUniquenessColumns.length - 3} more + + )} +
)}
@@ -149,45 +151,29 @@ export function ExecutionOverviewTab({ {modelUsageRows.length === 0 ? (

No model usage yet.

) : ( -
-
-
-

Total input

-

- {formatMetricValue(totalInputTokens)} -

-
-
-

Total output

-

- {formatMetricValue(totalOutputTokens)} -

-
-
-
- - - - Model - Input - Output +
+
+ + + Model + Input + Output + + + + {modelUsageRows.map((usage) => ( + + {usage.model} + + {formatMetricValue(usage.input)} + + + {formatMetricValue(usage.output)} + - - - {modelUsageRows.map((usage) => ( - - {usage.model} - - {formatMetricValue(usage.input)} - - - {formatMetricValue(usage.output)} - - - ))} - -
-
+ ))} + +
)}
diff --git a/studio/frontend/src/features/recipe-studio/components/executions/executions-view.tsx b/studio/frontend/src/features/recipe-studio/components/executions/executions-view.tsx index 5b4f30bb06..285017a624 100644 --- a/studio/frontend/src/features/recipe-studio/components/executions/executions-view.tsx +++ b/studio/frontend/src/features/recipe-studio/components/executions/executions-view.tsx @@ -145,22 +145,6 @@ export function ExecutionsView({ () => parseModelUsageRows(selectedExecution?.model_usage ?? null), [selectedExecution?.model_usage], ); - const totalInputTokens = useMemo( - () => - modelUsageRows.reduce( - (acc, item) => acc + (typeof item.input === "number" ? item.input : 0), - 0, - ), - [modelUsageRows], - ); - const totalOutputTokens = useMemo( - () => - modelUsageRows.reduce( - (acc, item) => acc + (typeof item.output === "number" ? item.output : 0), - 0, - ), - [modelUsageRows], - ); const sideEffects = useMemo(() => { const values = selectedExecution?.analysis?.side_effect_column_names; return Array.isArray(values) @@ -459,8 +443,6 @@ export function ExecutionsView({ sideEffects={sideEffects} lowUniquenessColumns={lowUniquenessColumns} modelUsageRows={modelUsageRows} - totalInputTokens={totalInputTokens} - totalOutputTokens={totalOutputTokens} terminalLines={terminalLines} terminalRef={terminalRef} onTerminalScroll={(event) => {