diff --git a/ai-engineering/quickstart.mdx b/ai-engineering/quickstart.mdx index 9f56e307..72058199 100644 --- a/ai-engineering/quickstart.mdx +++ b/ai-engineering/quickstart.mdx @@ -61,7 +61,6 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume dotenv \ @opentelemetry/exporter-trace-otlp-http \ @opentelemetry/resources \ - @opentelemetry/sdk-node \ @opentelemetry/sdk-trace-node \ @opentelemetry/semantic-conventions \ @opentelemetry/api @@ -72,7 +71,6 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume dotenv \ @opentelemetry/exporter-trace-otlp-http \ @opentelemetry/resources \ - @opentelemetry/sdk-node \ @opentelemetry/sdk-trace-node \ @opentelemetry/semantic-conventions \ @opentelemetry/api @@ -83,7 +81,6 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume dotenv \ @opentelemetry/exporter-trace-otlp-http \ @opentelemetry/resources \ - @opentelemetry/sdk-node \ @opentelemetry/sdk-trace-node \ @opentelemetry/semantic-conventions \ @opentelemetry/api @@ -94,7 +91,6 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume dotenv \ @opentelemetry/exporter-trace-otlp-http \ @opentelemetry/resources \ - @opentelemetry/sdk-node \ @opentelemetry/sdk-trace-node \ @opentelemetry/semantic-conventions \ @opentelemetry/api @@ -109,7 +105,7 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume import 'dotenv/config'; // Make sure to load environment variables import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'; import { resourceFromAttributes } from '@opentelemetry/resources'; - import { NodeSDK } from '@opentelemetry/sdk-node'; + import { NodeTracerProvider } from '@opentelemetry/sdk-trace-node'; import { SimpleSpanProcessor } from '@opentelemetry/sdk-trace-node'; import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions'; import { trace } from "@opentelemetry/api"; @@ -117,8 +113,8 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume const tracer = trace.getTracer("my-tracer"); - // Configure the NodeSDK to export traces to your Axiom dataset - const sdk = new NodeSDK({ + // Configure the provider to export traces to your Axiom dataset + const provider = new NodeTracerProvider({ resource: resourceFromAttributes({ [ATTR_SERVICE_NAME]: 'my-ai-app', // Replace with your service name }, @@ -134,12 +130,12 @@ To send data to Axiom, configure a tracer. For example, use a dedicated instrume Authorization: `Bearer ${process.env.AXIOM_TOKEN}`, 'X-Axiom-Dataset': process.env.AXIOM_DATASET!, }, - }), + }) ), }); - // Start the SDK - sdk.start(); + // Register the provider + provider.register(); // Initialize Axiom AI SDK with the configured tracer initAxiomAI({ tracer, redactionPolicy: RedactionPolicy.AxiomDefault }); diff --git a/guides/opentelemetry-nextjs.mdx b/guides/opentelemetry-nextjs.mdx index ada1c445..9577067b 100644 --- a/guides/opentelemetry-nextjs.mdx +++ b/guides/opentelemetry-nextjs.mdx @@ -25,28 +25,27 @@ OpenTelemetry provides a standardized way to collect and export telemetry data f 1. Run the following command to install the dependencies: ```bash - npm install @opentelemetry/exporter-trace-otlp-http @opentelemetry/sdk-trace-node @opentelemetry/sdk-node @opentelemetry/resources + npm install @opentelemetry/exporter-trace-otlp-http @opentelemetry/sdk-trace-node @opentelemetry/resources ``` 1. Create an `instrumentation.ts` file in the `src` folder of your project with the following content: ```ts /src/instrumentation.ts import { OTLPTraceExporter } from "@opentelemetry/exporter-trace-otlp-http"; - import type { Resource } from "@opentelemetry/resources"; import { resourceFromAttributes } from "@opentelemetry/resources"; - import { NodeSDK } from "@opentelemetry/sdk-node"; + import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node"; import { SimpleSpanProcessor } from "@opentelemetry/sdk-trace-node"; import { ATTR_SERVICE_NAME } from "@opentelemetry/semantic-conventions"; export function register() { - const sdk = new NodeSDK({ + const provider = new NodeTracerProvider({ resource: resourceFromAttributes({ [ATTR_SERVICE_NAME]: "nextjs-otel-example", }, { // Use the latest schema version // Info: https://opentelemetry.io/docs/specs/semconv/ schemaUrl: 'https://opentelemetry.io/schemas/1.37.0', - }) as Resource, + }), spanProcessor: new SimpleSpanProcessor( new OTLPTraceExporter({ url: `https://${process.env.AXIOM_DOMAIN}/v1/traces`, @@ -58,7 +57,7 @@ OpenTelemetry provides a standardized way to collect and export telemetry data f ), }); - sdk.start(); + provider.register(); } ```