Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Arize-ai/openinference/llms.txt

Use this file to discover all available pages before exploring further.

This module provides automatic instrumentation for AWS Bedrock Runtime which may be used in conjunction with OpenTelemetry.

Installation

Install the instrumentation package:
npm install --save @arizeai/openinference-instrumentation-bedrock

Usage

To load the Bedrock instrumentation, specify it in the registerInstrumentations call along with any additional instrumentation you wish to enable.
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { BedrockInstrumentation } = require("@arizeai/openinference-instrumentation-bedrock");
const { registerInstrumentations } = require("@opentelemetry/instrumentation");

const provider = new NodeTracerProvider();
provider.register();

registerInstrumentations({
  instrumentations: [new BedrockInstrumentation()],
});

TypeScript Example with Custom Tracer Provider

You can specify a custom tracer provider when creating the Bedrock instrumentation. This is useful when you want to use a non-global tracer provider or have more control over the tracing configuration.
import { NodeTracerProvider } from "@opentelemetry/sdk-trace-node";
import { Resource } from "@opentelemetry/resources";
import { SEMRESATTRS_PROJECT_NAME } from "@arizeai/openinference-semantic-conventions";
import { BedrockInstrumentation } from "@arizeai/openinference-instrumentation-bedrock";
import { registerInstrumentations } from "@opentelemetry/instrumentation";

// Create a custom tracer provider
const customTracerProvider = new NodeTracerProvider({
  resource: new Resource({
    [SEMRESATTRS_PROJECT_NAME]: "my-bedrock-project",
  }),
});

// Pass the custom tracer provider to the instrumentation
const bedrockInstrumentation = new BedrockInstrumentation({
  tracerProvider: customTracerProvider,
});

// Register the instrumentation with the custom tracer provider
registerInstrumentations({
  instrumentations: [bedrockInstrumentation],
  tracerProvider: customTracerProvider,
});
Alternatively, you can set the tracer provider after creating the instrumentation:
const bedrockInstrumentation = new BedrockInstrumentation();
bedrockInstrumentation.setTracerProvider(customTracerProvider);

Compatibility

@arizeai/openinference-instrumentation-bedrock is compatible with the following versions of the @aws-sdk/client-bedrock-runtime package:
AWS SDK VersionOpenInference Instrumentation Version
^3.0.0^0.2.0

Resources