Google Gen AI

Adds instrumentation for Google Gen AI SDK.

Import name: Sentry.googleGenAIIntegration

The googleGenAIIntegration adds instrumentation for the @google/genai SDK to capture spans by automatically wrapping Google Gen AI client calls and recording LLM interactions with configurable input/output recording.

Type: boolean

Records inputs to Google Gen AI SDK method calls (such as prompts and messages).

Defaults to true if sendDefaultPii is true.

Copied
Sentry.init({
  integrations: [Sentry.googleGenAIIntegration({ recordInputs: true })],
});

Type: boolean

Records outputs from Google Gen AI SDK method calls (such as generated text and responses).

Defaults to true if sendDefaultPii is true.

Copied
Sentry.init({
  integrations: [Sentry.googleGenAIIntegration({ recordOutputs: true })],
});

By default this integration adds tracing support to Google Gen AI SDK method calls including:

  • models.generateContent() - Make an API request to generate content with a given model.
  • models.generateContentStream() - Make an API request to generate content with a given model and yields the response in chunks.
  • chats.create() - Create chat sessions.
  • sendMessage() - Send messages in chat sessions.
  • sendMessageStream() - Stream messages in chat sessions.

The integration will automatically detect streaming vs non-streaming requests and handle them appropriately.

This integration is automatically instrumented in the Node.js runtime. For Next.js applications using the Edge runtime, you need to manually instrument the Google Gen AI client:

Copied
import * as Sentry from "@sentry/nextjs";
import { GoogleGenAI } from "@google/genai";

const genAI = new GoogleGenAI(process.env.API_KEY);
const client = Sentry.instrumentGoogleGenAIClient(genAI, {
  recordInputs: true,
  recordOutputs: true,
});

// Use the wrapped client instead of the original genAI instance
const result = await client.models.generateContent("Hello!");

  • @google/genai: >=0.10.0 <2
Was this helpful?
Help improve this content
Our documentation is open source and available on GitHub. Your contributions are welcome, whether fixing a typo (drat!) or suggesting an update ("yeah, this would be better").