Skip to content

feat(telemetry): implement Clearcut logging for startup statistics#21172

Merged
yunaseoul merged 1 commit intomainfrom
yunaseol/startup-clearcut
Mar 5, 2026
Merged

feat(telemetry): implement Clearcut logging for startup statistics#21172
yunaseoul merged 1 commit intomainfrom
yunaseol/startup-clearcut

Conversation

@yunaseoul
Copy link
Contributor

Summary

Implement Clearcut logging for startup statistics to capture the CLI startup phases, OS platform, OS release, and Docker execution environment.

Details

This PR introduces the STARTUP_STATS event to the Clearcut logger. It adds the necessary event metadata keys to event-metadata-key.ts and updates loggers.ts to log the StartupStatsEvent upon initialization.

Related Issues

Related to #21161

How to Validate

  1. Enable telemetry in .gemini/settings.json.
  2. Run the CLI locally.
  3. Check .gemini/telemetry.log for the STARTUP_STATS event to ensure the startup phases, OS platform, and Docker status are recorded correctly.

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@yunaseoul yunaseoul requested a review from a team as a code owner March 4, 2026 22:11
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request enhances the CLI's telemetry capabilities by introducing a dedicated event for capturing detailed startup statistics. The change allows for better understanding of the CLI's initialization performance and environmental context, which is crucial for identifying bottlenecks and improving user experience across different platforms and setups.

Highlights

  • New Telemetry Event: Introduced a new STARTUP_STATS event to the Clearcut logger for capturing CLI startup information.
  • Startup Statistics Capture: Implemented logging for CLI startup phases, OS platform, OS release, and Docker execution environment.
  • Metadata Keys Added: Added new EventMetadataKey enums to support the collection of startup statistics data.
  • Logger Integration: Integrated the new startup stats logging into the existing logStartupStats function, ensuring the event is emitted upon initialization.
Changelog
  • packages/core/src/telemetry/clearcut-logger/clearcut-logger.ts
    • Imported StartupStatsEvent type.
    • Added STARTUP_STATS to the EventNames enum.
    • Implemented logStartupStatsEvent method to process and enqueue startup statistics.
  • packages/core/src/telemetry/clearcut-logger/event-metadata-key.ts
    • Updated the Next ID comment for new enum additions.
    • Added new EventMetadataKey enums for startup phases, OS platform, OS release, and Docker status.
  • packages/core/src/telemetry/loggers.ts
    • Added a call to ClearcutLogger.getInstance(config)?.logStartupStatsEvent(event) within the logStartupStats function to trigger the new logging.
Activity
  • The author has validated the changes on MacOS using npm run.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

@gemini-cli
Copy link
Contributor

gemini-cli bot commented Mar 4, 2026

Hi @yunaseoul, thank you so much for your contribution to Gemini CLI! We really appreciate the time and effort you've put into this.

We're making some updates to our contribution process to improve how we track and review changes. Please take a moment to review our recent discussion post: Improving Our Contribution Process & Introducing New Guidelines.

Key Update: Starting January 26, 2026, the Gemini CLI project will require all pull requests to be associated with an existing issue. Any pull requests not linked to an issue by that date will be automatically closed.

Thank you for your understanding and for being a part of our community!

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request implements Clearcut logging for startup statistics. It introduces a new STARTUP_STATS event, adds the necessary metadata keys, and includes a new logStartupStatsEvent method in the ClearcutLogger. The changes are well-contained and correctly integrated into the existing telemetry system. The implementation appears solid, and I found no issues of high or critical severity.

@github-actions
Copy link

github-actions bot commented Mar 4, 2026

Size Change: +811 B (0%)

Total Size: 26 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 25.5 MB +811 B (0%)
./bundle/node_modules/@google/gemini-cli-devtools/dist/client/main.js 221 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/_client-assets.js 227 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/index.js 11.5 kB 0 B
./bundle/node_modules/@google/gemini-cli-devtools/dist/src/types.js 132 B 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B
./bundle/sandbox-macos-strict-open.sb 4.82 kB 0 B
./bundle/sandbox-macos-strict-proxied.sb 5.02 kB 0 B

compressed-size-action

@gemini-cli gemini-cli bot added area/platform Issues related to Build infra, Release mgmt, Testing, Eval infra, Capacity, Quota mgmt area/enterprise Issues related to Telemetry, Policy, Quota / Licensing 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. labels Mar 4, 2026
@yunaseoul yunaseoul added this pull request to the merge queue Mar 5, 2026
Merged via the queue into main with commit 31d65f4 Mar 5, 2026
30 checks passed
@yunaseoul yunaseoul deleted the yunaseol/startup-clearcut branch March 5, 2026 18:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/enterprise Issues related to Telemetry, Policy, Quota / Licensing area/platform Issues related to Build infra, Release mgmt, Testing, Eval infra, Capacity, Quota mgmt 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants