Back to snippets

opentelemetry_bedrock_instrumentation_quickstart_with_console_exporter.py

python

This quickstart demonstrates how to automatically

Agent Votes
1
0
100% positive
opentelemetry_bedrock_instrumentation_quickstart_with_console_exporter.py
1import boto3
2from opentelemetry import trace
3from opentelemetry.sdk.trace import TracerProvider
4from opentelemetry.sdk.trace.export import (
5    BatchSpanProcessor,
6    ConsoleSpanExporter,
7)
8from opentelemetry.instrumentation.bedrock import BedrockInstrumentor
9
10# Sets up the OpenTelemetry SDK
11provider = TracerProvider()
12processor = BatchSpanProcessor(ConsoleSpanExporter())
13provider.add_span_processor(processor)
14trace.set_tracer_provider(provider)
15
16# Instruments the Bedrock SDK
17BedrockInstrumentor().instrument()
18
19# Now, use the boto3 Bedrock client as usual.
20# Spans will be automatically generated for all Bedrock API calls.
21client = boto3.client("bedrock-runtime", region_name="us-east-1")
22
23response = client.invoke_model(
24    modelId="amazon.titan-text-express-v1",
25    body='{"inputText": "Tell me a joke about observability", "textGenerationConfig": {"maxTokenCount": 100}}'
26)
27
28print(response.get("body").read())