Skip to content

Commit 2302051

Browse files
committed
fix: resource name to tracer
1 parent 05f2f4f commit 2302051

File tree

1 file changed

+24
-7
lines changed

1 file changed

+24
-7
lines changed

apps/basket/src/lib/tracing.ts

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import { type Span, SpanStatusCode, trace } from "@opentelemetry/api";
22
import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-proto";
3+
import { resourceFromAttributes } from "@opentelemetry/resources";
34
import { NodeSDK } from "@opentelemetry/sdk-node";
45
import { BatchSpanProcessor } from "@opentelemetry/sdk-trace-node";
6+
import {
7+
ATTR_SERVICE_NAME,
8+
ATTR_SERVICE_VERSION,
9+
} from "@opentelemetry/semantic-conventions";
10+
import pkg from "../../package.json";
511

612
let sdk: NodeSDK | null = null;
713

@@ -14,6 +20,10 @@ export function initTracing(): void {
1420
}
1521

1622
sdk = new NodeSDK({
23+
resource: resourceFromAttributes({
24+
[ATTR_SERVICE_NAME]: "basket",
25+
[ATTR_SERVICE_VERSION]: pkg.version,
26+
}),
1727
traceExporter: new OTLPTraceExporter({
1828
url: "https://api.axiom.co/v1/traces",
1929
headers: {
@@ -50,10 +60,7 @@ function getTracer() {
5060
/**
5161
* Create a span - replaces @elysiajs/opentelemetry record
5262
*/
53-
export function record<T>(
54-
name: string,
55-
fn: () => Promise<T> | T
56-
): Promise<T> {
63+
export function record<T>(name: string, fn: () => Promise<T> | T): Promise<T> {
5764
const tracer = getTracer();
5865
return tracer.startActiveSpan(name, async (span) => {
5966
try {
@@ -65,7 +72,9 @@ export function record<T>(
6572
code: SpanStatusCode.ERROR,
6673
message: error instanceof Error ? error.message : String(error),
6774
});
68-
span.recordException(error instanceof Error ? error : new Error(String(error)));
75+
span.recordException(
76+
error instanceof Error ? error : new Error(String(error))
77+
);
6978
throw error;
7079
} finally {
7180
span.end();
@@ -90,7 +99,11 @@ export function setAttributes(
9099
/**
91100
* Start HTTP request span
92101
*/
93-
export function startRequestSpan(method: string, path: string, route?: string): Span {
102+
export function startRequestSpan(
103+
method: string,
104+
path: string,
105+
route?: string
106+
): Span {
94107
const tracer = getTracer();
95108
return tracer.startSpan(`${method} ${route ?? path}`, {
96109
kind: 1, // SERVER
@@ -105,7 +118,11 @@ export function startRequestSpan(method: string, path: string, route?: string):
105118
/**
106119
* End HTTP request span
107120
*/
108-
export function endRequestSpan(span: Span, statusCode: number, startTime: number): void {
121+
export function endRequestSpan(
122+
span: Span,
123+
statusCode: number,
124+
startTime: number
125+
): void {
109126
span.setAttribute("http.status_code", statusCode);
110127
span.setAttribute("http.response.duration_ms", Date.now() - startTime);
111128
span.setStatus({

0 commit comments

Comments
 (0)