---
title: Google Gemini
description: Monitor Google Gemini usage and health at the application level
breadcrumbs: Docs > Integrations > Google Gemini
---

# Google Gemini
Supported OS Integration version1.0.0
## Overview{% #overview %}

Monitor, troubleshoot, and evaluate your LLM-powered applications, such as chatbots or data extraction tools, using [Google Gemini](https://gemini.google.com/).

If you are building LLM applications, use Datadog's LLM Observability to investigate the root cause of issues, monitor operational performance, and evaluate the quality, privacy, and safety of your LLM applications.

See the [LLM Observability tracing view video](https://imgix.datadoghq.com/video/products/llm-observability/expedite-troubleshooting.mp4?fm=webm&fit=max) for an example of how you can investigate a trace.

## Setup{% #setup %}

### LLM Observability: Get end-to-end visibility into your LLM application using Google Gemini{% #llm-observability-get-end-to-end-visibility-into-your-llm-application-using-google-gemini %}

You can enable LLM Observability in different environments. Follow the appropriate setup based on your scenario:

#### Installation for Python{% #installation-for-python %}

##### If you do not have the Datadog Agent:{% #if-you-do-not-have-the-datadog-agent %}

1. Install the `ddtrace` package:

```shell
  pip install ddtrace
```
Start your application with the following command, enabling Agentless mode:
```shell
  DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_AGENTLESS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME> ddtrace-run python <YOUR_APP>.py
```

##### If you already have the Datadog Agent installed:{% #if-you-already-have-the-datadog-agent-installed %}

1. Make sure the Agent is running and that APM and StatsD are enabled. For example, use the following command with Docker:

```shell
docker run -d \
  --cgroupns host \
  --pid host \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  -v /proc/:/host/proc/:ro \
  -v /sys/fs/cgroup/:/host/sys/fs/cgroup:ro \
  -e DD_API_KEY=<DATADOG_API_KEY> \
  -p 127.0.0.1:8126:8126/tcp \
  -p 127.0.0.1:8125:8125/udp \
  -e DD_DOGSTATSD_NON_LOCAL_TRAFFIC=true \
  -e DD_APM_ENABLED=true \
  gcr.io/datadoghq/agent:latest
```
If you haven't already, install the `ddtrace` package:
```shell
  pip install ddtrace
```
Start your application using the `ddtrace-run` command to automatically enable tracing:
```shell
   DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME> ddtrace-run python <YOUR_APP>.py
```

**Note**: If the Agent is running on a custom host or port, set `DD_AGENT_HOST` and `DD_TRACE_AGENT_PORT` accordingly.

##### If you are running LLM Observability in a serverless environment:{% #if-you-are-running-llm-observability-in-a-serverless-environment %}

Enable LLM Observability by setting the following environment variables:

```shell
   DD_SITE=<YOUR_DATADOG_SITE> DD_API_KEY=<YOUR_API_KEY> DD_LLMOBS_ENABLED=1 DD_LLMOBS_ML_APP=<YOUR_ML_APP_NAME>
```

**Note**: In serverless environments, Datadog automatically flushes spans when the serverless function finishes running.

##### Automatic Google Gemini tracing{% #automatic-google-gemini-tracing %}

The Google Gemini integration provides automatic tracing for the Google AI Python SDK's content generation calls. This captures latency, errors, input and output messages, as well as token usage for Google Gemini operations.

The following methods are traced for both synchronous and asynchronous Google Gemini operations:

- Generating content (including streamed calls): `model.generate_content()`, `model.generate_content_async()`
- Chat messages: `chat.send_message()`, `chat.send_message_async()`

No additional setup is required for these methods.

##### Validation{% #validation %}

Validate that LLM Observability is properly capturing spans by checking your application logs for successful span creation. You can also run the following command to check the status of the `ddtrace` integration:

```shell
ddtrace-run --info
```

Look for the following message to confirm the setup:

```shell
Agent error: None
```

##### Debugging{% #debugging %}

If you encounter issues during setup, enable debug logging by passing the `--debug` flag:

```shell
ddtrace-run --debug
```

This displays any errors related to data transmission or instrumentation, including issues with Google Gemini traces.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

The Google Gemini integration does not include any metrics.

### Service Checks{% #service-checks %}

The Google Gemini integration does not include any service checks.

### Events{% #events %}

The Google Gemini integration does not include any events.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
