summaryrefslogtreecommitdiff
path: root/docs/core
AgeCommit message (Collapse)Author
2025-06-14docs: clarify telemetry script usage (#1034)Jerop Kipruto
Updates the telemetry documentation and the GCP telemetry script to make it clearer that the Gemini CLI needs to be run in a separate terminal session after starting the collector script. This addresses potential user confusion where they might expect telemetry data to appear without actively using the CLI. #750
2025-06-13Add GCP telemetry script (#1033)Jerop Kipruto
Adds a script - `scripts/telemetry_gcp.js` - to simplify setting up a local OpenTelemetry collector that forwards data to Google Cloud. This is a follow up to the script for local telemetry `scripts/local_telemetry.js` added in #1015. This script automates downloading necessary binaries, configuring the collector, and updating workspace settings. Also includes `scripts/telemetry_utils.js` with shared helper functions for telemetry scripts. Will refactor `scripts/local_t elemetry.js` in next steps to use this shared functionality. Updates `docs/core/telemetry.md` to include: - A new "Quick Start" section - Detailed instructions for the new GCP automated script - Reorganization of existing sections for clarity #750 --- ``` โœจ Starting Local Telemetry Exporter for Google Cloud โœจ โš™๏ธ Enabled telemetry in workspace settings. ๐Ÿ”ง Set telemetry OTLP endpoint to http://localhost:4317. โœ… Workspace settings updated. โœ… Using Google Cloud Project ID: foo-bar ๐Ÿ”‘ Please ensure you are authenticated with Google Cloud: - Run `gcloud auth application-default login` OR ensure `GOOGLE_APPLICATION_CREDENTIALS` environment variable points to a valid service account key. - The account needs "Cloud Trace Agent", "Monitoring Metric Writer", and "Logs Writer" roles. โœ… otelcol-contrib already exists at /Users/jerop/github/gemini-cli/.gemini/otel/bin/otelcol-contrib ๐Ÿงน Cleaning up old processes and logs... โœ… Deleted old GCP collector log. ๐Ÿ“„ Wrote OTEL collector config to /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.yaml ๐Ÿš€ Starting OTEL collector for GCP... Logs: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log โณ Waiting for OTEL collector to start (PID: 65145)... โœ… OTEL collector started successfully on port 4317. โœจ Local OTEL collector for GCP is running. ๐Ÿ“„ Collector logs are being written to: /Users/jerop/github/gemini-cli/.gemini/otel/collector-gcp.log ๐Ÿ“Š View your telemetry data in Google Cloud Console: - Traces: https://console.cloud.google.com/traces/list?project=foo-bar - Metrics: https://console.cloud.google.com/monitoring/metrics-explorer?project=foo-bar - Logs: https://console.cloud.google.com/logs/query;query=logName%3D%22projects%2Ffoo-bar%2Flogs%2Fgemini_cli%22?project=foo-bar Press Ctrl+C to exit. ^C ๐Ÿ‘‹ Shutting down... โš™๏ธ Disabled telemetry in workspace settings. ๐Ÿ”ง Cleared telemetry OTLP endpoint. โœ… Workspace settings updated. ๐Ÿ›‘ Stopping otelcol-contrib (PID: 65145)... โœ… otelcol-contrib stopped. ```
2025-06-13Add a local telemetry launcher (#1015)Keir Mierle
2025-06-13Revert "Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set" (#1011)Jerop Kipruto
2025-06-13cleanup unused `allowBuildArtifacts` (#1010)Anas H. Sulaiman
2025-06-13Telemetry: Auto-export to GCP if GOOGLE_CLOUD_PROJECT is set (#1003)Jerop Kipruto
This change simplifies telemetry setup for users who want to integrate with GCP, as they no longer need to configure a local collector or an explicit endpoint if their project is already set up in the environment. This change updates the telemetry system to automatically export traces, logs, and metrics to Google Cloud Platform (GCP) if the `GOOGLE_CLOUD_PROJECT` environment variable is set and no explicit `telemetryOtlpEndpoint` is configured by the user. Key changes: - The default `telemetryOtlpEndpoint` in `Config` is now an empty string. - The `initializeTelemetry` SDK logic now prioritizes: - User-defined `telemetryOtlpEndpoint`. - `GOOGLE_CLOUD_PROJECT` for direct GCP export. - Console exporters as a fallback. - If an invalid `telemetryOtlpEndpoint` is provided, it falls back to console exporters with a warning. #750
2025-06-13Handle telemetry in non-interactive mode (#1002)Jerop Kipruto
Changes: - Ensure proper shutdown in non-interactive mode - Ensures the initial user prompt is logged in non-interactive mode - Improve telemetry for streaming - handle chunks and input token count is now alongside other token counts in response To test: - Follow instructions in https://github.com/google-gemini/gemini-cli/blob/main/docs/core/telemetry.md#google-cloud - Run CLI in non-interactive mode and observe logs/metrics in GCP Logs Explorer and Metrics Explorer #750
2025-06-12Refactor OTEL logging for API calls (#991)Jerop Kipruto
Refactor OpenTelemetry logging for API requests, responses, and errors. Moved logging responsibility from GeminiClient to GeminiChat for more detailed logging. #750
2025-06-12telemetry: include user decisions in tool call logs (#966)Jerop Kipruto
Add the user's decision (accept, reject, modify) to tool call telemetry to better understand user intent. The decision provides crucial context to the `success` metric, as a user can reject a call that would have succeeded or accept one that fails. Also prettify the arguments json. Example: ![image](https://github.com/user-attachments/assets/251cb9fc-ceaa-4cdd-929c-8de47031aca8) #750
2025-06-11Telemetry: Improve clarity of user prompt event (#967)Jerop Kipruto
2025-06-11feat(telemetry): expand cli configuration eventjerop
Adds the following attributes to the event: - embedding_model - api_key_enabled - code_assist_enabled - debug_mode - mcp_servers This additional data will provide more insight into user configurations.
2025-06-11feat(telemetry): Update API response in telemetryjerop
Adds the text content of the API response to the telemetry event. This provides more context for debugging and analysis without logging the entire, potentially large, response object. - Adds an optional field to the type. - Updates to include the field in the logged attributes. - Modifies the to extract the response text using and pass it to the logger. - Adds a new test file for the telemetry loggers, including tests for the function to verify the new functionality.
2025-06-11refactor(telemetry): pass config object to telemetry functionsjerop
This commit refactors the telemetry system to pass a object to various logging and metrics functions. This change centralizes configuration management within the telemetry system, making it more modular and easier to maintain. The constructor and various tool execution functions have been updated to accept the object, which is then passed down to the telemetry functions. This eliminates the need to pass individual configuration values, such as , through multiple layers of the application.
2025-06-11update token usage with typesjerop
2025-06-11update from metrics and logs prefix from gemini_code to gemini_clijerop
2025-06-10docs(telemetry): Refine OTEL Collector setup instructionsjerop
Standardizes on the distribution for local and Google Cloud setups. Restructures the guide to present Docker and standalone binary as clear, parallel options and makes the Google Cloud command more robust.
2025-06-10update documentation for oteljerop
2025-06-10docs(telemetry): improve telemetry documentationjerop
This commit enhances the telemetry documentation with several key improvements for clarity and usability. - Adds a prominent note clarifying that telemetry is currently incompatible with sandbox mode. - Updates the example JSON configuration to explicitly include sandbox: false to prevent user confusion. - Introduces a new Configurations section with instructions to create the directory. - Adds a new step for setting necessary environment variables for the Google Cloud setup. - Makes the command for Google Cloud more portable by using the environment variable instead of a hardcoded path. - Re-numbers the steps in the Google Cloud setup guide to maintain a logical flow.
2025-06-10Fix null pointer for traces field and use the batch processor (#884)anj-s
2025-06-09rename shell tool more intuitively as run_shell_command (from historical โ†ตOlcan
name of execute_bash_command inherited from terminal tool) (#869)
2025-06-08Revert "Add batch editing capabilities to Edit Tool (#648)" (#857)N. Taylor Mullen
2025-06-07docs: update and reorganize documentation (#806)cperry-goog
2025-06-06Add batch editing capabilities to Edit Tool (#648)Keith Ballinger
Co-authored-by: N. Taylor Mullen <[email protected]>
2025-06-05OpenTelemetry Integration & Telemetry Control Flag (#762)Jerop Kipruto
2025-06-05Bump default model to `gemini-2.5-pro-preview-06-05` (#765)Eddie Santos
2025-06-04Docs: Update architecture diagram with Google colors (for future aricles) (#718)Riccardo Carlesso
2025-06-04Fix broken documentation links after server->core folder rename (#740)Keith Ballinger
2025-06-03link tool discovery/call docs from core configuration doc (#720)Olcan
2025-05-30Rename server->core (#638)Tommaso Sciortino