Skip to main content
The OpenInference VertexAI instrumentor traces calls made with the Vertex AI SDK (vertexai, shipped in google-cloud-aiplatform) — model, token usage, and content — as OTLP spans. Point the exporter at AgentMark and the traces arrive normalized.

Setup

1

Install the instrumentor and the OTLP exporter

pip install openinference-instrumentation-vertexai google-cloud-aiplatform \
  opentelemetry-sdk opentelemetry-exporter-otlp-proto-http
2

Point the exporter at AgentMark and instrument Vertex AI

Use your AgentMark API key and app id from project settings.
from openinference.instrumentation.vertexai import VertexAIInstrumentor
from opentelemetry.sdk.trace import TracerProvider
from opentelemetry.sdk.trace.export import BatchSpanProcessor
from opentelemetry.exporter.otlp.proto.http.trace_exporter import OTLPSpanExporter

provider = TracerProvider()
provider.add_span_processor(
    BatchSpanProcessor(
        OTLPSpanExporter(
            endpoint="https://api.agentmark.co/v1/traces",
            headers={
                "Authorization": "<YOUR_API_KEY>",  # raw key, no "Bearer" prefix
                "X-Agentmark-App-Id": "<YOUR_APP_ID>",
            },
        )
    )
)

VertexAIInstrumentor().instrument(tracer_provider=provider)
3

Run your calls

Initialize Vertex AI for your project, then use a model as usual — model.generate_content(...). Each call arrives in AgentMark as a span, grouped into a trace. See Traces and logs.
import vertexai
from vertexai.generative_models import GenerativeModel

vertexai.init(project="<GCP_PROJECT>", location="us-central1")
model = GenerativeModel("gemini-1.5-flash")
model.generate_content("What is the capital of France?")

What AgentMark captures

Vertex AI spans use the OpenInference attribute conventions — model, token usage, input and output content, and span kind are all mapped onto AgentMark’s normalized trace fields, and token counts feed cost tracking. See OpenInference for the full attribute mapping.

Next steps

OpenInference

How AgentMark reads OpenInference attributes

Traces and logs

Explore traces once they arrive

Have questions?

Reach out any time: