11import * as Axiom from "alchemy/Axiom" ;
2- import * as Output from "alchemy/Output" ;
32import * as Effect from "effect/Effect" ;
43
54export const RELAY_OBSERVABILITY_SERVICE_NAME = "t3-code-relay-worker" ;
65export const RELAY_OBSERVABILITY_EXPORT_INTERVAL = "1 second" ;
7- export const RELAY_AXIOM_TRACE_DATASET = "t3-code-relay-events " ;
6+ export const RELAY_AXIOM_TRACE_DATASET = "t3-code-relay-traces " ;
87
98export const relayTraceQuery = ( query : string , dataset : string = RELAY_AXIOM_TRACE_DATASET ) =>
109 `['${ dataset } ']\n${ query } ` ;
@@ -22,9 +21,9 @@ export const relayAxiomQueryDatasetCapabilities = (
2221} ) ;
2322
2423export const provisionRelayObservability = Effect . gen ( function * ( ) {
25- const events = yield * Axiom . Dataset ( "RelayEventsDataset " , {
24+ const traces = yield * Axiom . Dataset ( "RelayTracesDataset " , {
2625 name : RELAY_AXIOM_TRACE_DATASET ,
27- kind : "axiom:events :v1" ,
26+ kind : "otel:traces :v1" ,
2827 description : "T3 Code relay Worker HTTP request spans." ,
2928 retentionDays : 30 ,
3029 useRetentionPeriod : true ,
@@ -33,25 +32,22 @@ export const provisionRelayObservability = Effect.gen(function* () {
3332 const ingestToken = yield * Axiom . ApiToken ( "RelayAxiomIngestToken" , {
3433 name : "t3-code-relay-otel-ingest" ,
3534 description : "Owned by Alchemy. Scoped OTLP ingest token for relay HTTP spans." ,
36- datasetCapabilities : Output . map ( events . name , relayAxiomIngestDatasetCapabilities ) ,
35+ datasetCapabilities : relayAxiomIngestDatasetCapabilities ( ) ,
3736 } ) ;
3837 const queryToken = yield * Axiom . ApiToken ( "RelayAxiomQueryToken" , {
3938 name : "t3-code-relay-readonly-query" ,
4039 description : "Owned by Alchemy. Read-only query token for relay HTTP span diagnostics." ,
41- datasetCapabilities : Output . map ( events . name , relayAxiomQueryDatasetCapabilities ) ,
40+ datasetCapabilities : relayAxiomQueryDatasetCapabilities ( ) ,
4241 } ) ;
4342
4443 yield * Axiom . View ( "RelayRecentSpansView" , {
4544 name : "t3-code-relay-recent-spans" ,
4645 description : "Recent relay HTTP request spans." ,
47- datasets : [ events . name ] ,
48- aplQuery : Output . map ( events . name , ( dataset ) =>
49- relayTraceQuery (
50- "| where isnotnull(span_id) or isnotnull(trace_id)\n| project _time, name, trace_id, span_id, duration, ['http.request.method'], ['url.path'], ['http.response.status_code'], ['relay.endpoint']\n| order by _time desc\n| limit 200" ,
51- dataset ,
52- ) ,
46+ datasets : [ RELAY_AXIOM_TRACE_DATASET ] ,
47+ aplQuery : relayTraceQuery (
48+ "| where isnotnull(span_id) or isnotnull(trace_id)\n| project _time, name, trace_id, span_id, duration, ['http.request.method'], ['url.path'], ['http.response.status_code'], ['relay.endpoint']\n| order by _time desc\n| limit 200" ,
5349 ) ,
5450 } ) ;
5551
56- return { events , ingestToken, queryToken } as const ;
52+ return { traces , ingestToken, queryToken } as const ;
5753} ) ;
0 commit comments