blob: 5c4ae43cd8298e4cbb84437e5ba57f1ecdcf0f8f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
// Copyright 2018-2024 the Deno authors. All rights reserved. MIT license.
import { trace } from "npm:@opentelemetry/api@1.9.0";
import "jsr:@deno/otel@0.0.2/register";
const tracer = trace.getTracer("example-tracer");
async function inner() {
await tracer.startActiveSpan("inner span", async (span) => {
console.log("log 1");
await 1;
console.log("log 2");
span.end();
});
}
const server = Deno.serve({
port: 0,
async onListen({ port }) {
try {
await fetch(`http://localhost:${port}`);
} finally {
server.shutdown();
}
},
handler: async (_req) => {
return await tracer.startActiveSpan("outer span", async (span) => {
await inner();
const resp = new Response(null, { status: 200 });
span.end();
return resp;
});
},
});
|