Skip to content

Commit 8ba0a95

Browse files
authored
add metadata to trace view (#947)
* add metadata to trace view * lint
1 parent dd7503f commit 8ba0a95

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

frontend/components/traces/trace-view/index.tsx

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import { get } from "lodash";
2-
import { AlertTriangle, ChartNoAxesGantt, ListFilter, Minus, Plus, Search, Sparkles } from "lucide-react";
2+
import { AlertTriangle, ChartNoAxesGantt, FileText,ListFilter, Minus, Plus, Search, Sparkles } from "lucide-react";
33
import { useParams, usePathname, useRouter, useSearchParams } from "next/navigation";
44
import React, { useCallback, useEffect, useMemo } from "react";
55

66
import Header from "@/components/traces/trace-view/header";
77
import { HumanEvaluatorSpanView } from "@/components/traces/trace-view/human-evaluator-span-view";
88
import LangGraphView from "@/components/traces/trace-view/lang-graph-view";
9+
import Metadata from "@/components/traces/trace-view/metadata";
910
import Minimap from "@/components/traces/trace-view/minimap.tsx";
1011
import SearchSpansInput from "@/components/traces/trace-view/search-spans-input.tsx";
1112
import TraceViewStoreProvider, {
@@ -436,6 +437,16 @@ const PureTraceView = ({ traceId, spanId, onClose, propsTrace }: TraceViewProps)
436437
<ChartNoAxesGantt size={14} className="mr-1" />
437438
<span>Timeline</span>
438439
</Button>
440+
<Button
441+
onClick={() => setTab("metadata")}
442+
variant="outline"
443+
className={cn("h-6 text-xs px-1.5", {
444+
"border-primary text-primary": tab === "metadata",
445+
})}
446+
>
447+
<FileText size={14} className="mr-1" />
448+
<span>Metadata</span>
449+
</Button>
439450
<Button
440451
onClick={() => setTab("chat")}
441452
variant="outline"
@@ -486,6 +497,7 @@ const PureTraceView = ({ traceId, spanId, onClose, propsTrace }: TraceViewProps)
486497
</div>
487498
) : (
488499
<>
500+
{tab === "metadata" && trace && <Metadata trace={trace} />}
489501
{tab === "chat" && trace && (
490502
<Chat
491503
trace={trace}
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import React from "react";
2+
3+
import { TraceViewTrace } from "@/components/traces/trace-view/trace-view-store";
4+
import CodeHighlighter from "@/components/ui/code-highlighter/index";
5+
6+
interface MetadataProps {
7+
trace: TraceViewTrace;
8+
}
9+
10+
const Metadata = ({ trace }: MetadataProps) => {
11+
const metadataValue = trace.metadata || "{}";
12+
13+
return (
14+
<div className="flex flex-col h-full w-full overflow-hidden">
15+
<div className="flex-1">
16+
<CodeHighlighter
17+
value={metadataValue}
18+
readOnly={true}
19+
defaultMode="json"
20+
className="h-full border-none"
21+
placeholder=""
22+
/>
23+
</div>
24+
</div>
25+
);
26+
};
27+
28+
export default Metadata;

frontend/components/traces/trace-view/trace-view-store.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ interface TraceViewStoreState {
6666
browserSession: boolean;
6767
langGraph: boolean;
6868
sessionTime?: number;
69-
tab: "tree" | "timeline" | "chat";
69+
tab: "tree" | "timeline" | "chat" | "metadata";
7070
search: string;
7171
zoom: number;
7272
treeWidth: number;

0 commit comments

Comments
 (0)