diff --git a/genkit-tools/common/src/types/trace.ts b/genkit-tools/common/src/types/trace.ts index 4a3fa222b3..ea3626dd5b 100644 --- a/genkit-tools/common/src/types/trace.ts +++ b/genkit-tools/common/src/types/trace.ts @@ -81,7 +81,7 @@ export const SpanDataSchema = z status: SpanStatusSchema.optional(), timeEvents: z .object({ - timeEvent: z.array(TimeEventSchema), + timeEvent: z.array(TimeEventSchema).optional(), }) .optional(), truncated: z.boolean().optional(), diff --git a/go/genkit/file_trace_store.go b/go/genkit/file_trace_store.go index 24e79815e2..e61b9c9b48 100644 --- a/go/genkit/file_trace_store.go +++ b/go/genkit/file_trace_store.go @@ -50,6 +50,7 @@ func (s *FileTraceStore) Save(ctx context.Context, id string, td *TraceData) err for k, v := range td.Spans { existing.Spans[k] = v } + existing.TraceID = id existing.DisplayName = td.DisplayName existing.StartTime = td.StartTime existing.EndTime = td.EndTime diff --git a/go/genkit/file_trace_store_test.go b/go/genkit/file_trace_store_test.go index e29836fb5c..04b0d851ef 100644 --- a/go/genkit/file_trace_store_test.go +++ b/go/genkit/file_trace_store_test.go @@ -63,6 +63,7 @@ func TestFileTraceStore(t *testing.T) { t.Fatal(err) } want := &TraceData{ + TraceID: "id1", DisplayName: "td2", StartTime: 30, EndTime: 40, diff --git a/go/genkit/testdata/trace.json b/go/genkit/testdata/trace.json index a6875f4843..10ec1e9741 100644 --- a/go/genkit/testdata/trace.json +++ b/go/genkit/testdata/trace.json @@ -157,6 +157,7 @@ } } }, + "traceId": "0eede9d8c037dddbf32a307be30dc9a0", "displayName": "dev-run-action-wrapper", "startTime": 1710862641406000, "endTime": 1710862641430246.5 diff --git a/go/genkit/trace_store.go b/go/genkit/trace_store.go index 0f0d1211bf..6675176024 100644 --- a/go/genkit/trace_store.go +++ b/go/genkit/trace_store.go @@ -59,6 +59,7 @@ type TraceQuery struct { // TraceData is information about a trace. type TraceData struct { + TraceID string `json:"traceId"` DisplayName string `json:"displayName"` StartTime Milliseconds `json:"startTime"` EndTime Milliseconds `json:"endTime"`