Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions ai-engineering/quickstart.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -109,16 +105,16 @@ 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";
import { initAxiomAI, RedactionPolicy } from 'axiom/ai';

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
},
Expand All @@ -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 });
Expand Down
11 changes: 5 additions & 6 deletions guides/opentelemetry-nextjs.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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`,
Expand All @@ -58,7 +57,7 @@ OpenTelemetry provides a standardized way to collect and export telemetry data f
),
});

sdk.start();
provider.register();
}
```

Expand Down