Skip to content

Commit fc75ad2

Browse files
committed
del otel
1 parent 5ac9705 commit fc75ad2

File tree

1 file changed

+10
-86
lines changed

1 file changed

+10
-86
lines changed

apps/api/src/index.ts

Lines changed: 10 additions & 86 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,27 @@
11
import "./polyfills/compression";
22
import { auth } from "@databuddy/auth";
3-
import {
4-
appRouter,
5-
createAbortSignalInterceptor,
6-
createRPCContext,
7-
recordORPCError,
8-
setupUncaughtErrorHandlers,
9-
} from "@databuddy/rpc";
3+
import { appRouter, createRPCContext } from "@databuddy/rpc";
104
import { logger } from "@databuddy/shared/logger";
115
import cors from "@elysiajs/cors";
12-
import { context } from "@opentelemetry/api";
13-
import { ORPCError, onError } from "@orpc/server";
6+
import { onError } from "@orpc/server";
147
import { RPCHandler } from "@orpc/server/fetch";
158
import { autumnHandler } from "autumn-js/elysia";
169
import { Elysia } from "elysia";
17-
import {
18-
endRequestSpan,
19-
initTracing,
20-
shutdownTracing,
21-
startRequestSpan,
22-
} from "./lib/tracing";
2310
import { assistant } from "./routes/assistant";
2411
import { exportRoute } from "./routes/export";
2512
import { health } from "./routes/health";
2613
import { publicApi } from "./routes/public";
2714
import { query } from "./routes/query";
2815

29-
initTracing();
30-
setupUncaughtErrorHandlers();
31-
3216
const rpcHandler = new RPCHandler(appRouter, {
3317
interceptors: [
34-
createAbortSignalInterceptor(),
3518
onError((error) => {
3619
logger.error(error);
3720
}),
3821
],
3922
});
4023

4124
const app = new Elysia()
42-
.state("tracing", {
43-
span: null as ReturnType<typeof startRequestSpan>["span"] | null,
44-
activeContext: null as ReturnType<typeof context.active> | null | undefined,
45-
startTime: 0,
46-
})
4725
.use(
4826
cors({
4927
credentials: true,
@@ -57,31 +35,6 @@ const app = new Elysia()
5735
)
5836
.use(publicApi)
5937
.use(health)
60-
.onBeforeHandle(function startTrace({ request, path, store }) {
61-
const method = request.method;
62-
const startTime = Date.now();
63-
64-
// Extract route from path (e.g., "/rpc/websites.list" -> "websites.list")
65-
const route = path.startsWith("/rpc/") ? path.slice(5) : path;
66-
const { span, activeContext } = startRequestSpan(
67-
method,
68-
request.url,
69-
route
70-
);
71-
72-
// Store span, context, and start time in Elysia store
73-
store.tracing = {
74-
span,
75-
activeContext,
76-
startTime,
77-
};
78-
})
79-
.onAfterHandle(function endTrace({ response, store }) {
80-
if (store.tracing?.span && store.tracing.startTime) {
81-
const statusCode = response instanceof Response ? response.status : 200;
82-
endRequestSpan(store.tracing.span, statusCode, store.tracing.startTime);
83-
}
84-
})
8538
.use(
8639
autumnHandler({
8740
identify: async ({ request }) => {
@@ -109,35 +62,17 @@ const app = new Elysia()
10962
.use(exportRoute)
11063
.all(
11164
"/rpc/*",
112-
async ({ request, store }) => {
65+
async ({ request }) => {
11366
try {
11467
const rpcContext = await createRPCContext({
11568
headers: request.headers,
11669
});
117-
118-
const handler = async () => {
119-
const { response } = await rpcHandler.handle(request, {
120-
prefix: "/rpc",
121-
context: rpcContext,
122-
});
123-
return response;
124-
};
125-
126-
const activeContext = store.tracing?.activeContext;
127-
const response = activeContext
128-
? await context.with(activeContext, handler)
129-
: await handler();
130-
70+
const { response } = await rpcHandler.handle(request, {
71+
prefix: "/rpc",
72+
context: rpcContext,
73+
});
13174
return response ?? new Response("Not Found", { status: 404 });
13275
} catch (error) {
133-
// Record ORPC errors in OpenTelemetry
134-
if (error instanceof ORPCError) {
135-
recordORPCError({
136-
code: error.code,
137-
message: error.message,
138-
});
139-
}
140-
14176
logger.error({ error }, "RPC handler failed");
14277
return new Response("Internal Server Error", { status: 500 });
14378
}
@@ -146,12 +81,7 @@ const app = new Elysia()
14681
parse: "none",
14782
}
14883
)
149-
.onError(function handleError({ error, code, store }) {
150-
if (store.tracing?.span && store.tracing.startTime) {
151-
const statusCode = code === "NOT_FOUND" ? 404 : 500;
152-
endRequestSpan(store.tracing.span, statusCode, store.tracing.startTime);
153-
}
154-
84+
.onError(function handleError({ error, code }) {
15585
const errorMessage = error instanceof Error ? error.message : String(error);
15686
logger.error({ error, code }, errorMessage);
15787

@@ -170,18 +100,12 @@ export default {
170100
port: 3001,
171101
};
172102

173-
process.on("SIGINT", async () => {
103+
process.on("SIGINT", () => {
174104
logger.info("SIGINT received, shutting down gracefully...");
175-
await shutdownTracing().catch((error) =>
176-
logger.error({ error }, "Shutdown error")
177-
);
178105
process.exit(0);
179106
});
180107

181-
process.on("SIGTERM", async () => {
108+
process.on("SIGTERM", () => {
182109
logger.info("SIGTERM received, shutting down gracefully...");
183-
await shutdownTracing().catch((error) =>
184-
logger.error({ error }, "Shutdown error")
185-
);
186110
process.exit(0);
187111
});

0 commit comments

Comments
 (0)