Skip to content

feat(telemetry): add anonymous opt-out OpenShell usage telemetry#1433

Open
kirit93 wants to merge 3 commits into
mainfrom
kirit93/telemetry
Open

feat(telemetry): add anonymous opt-out OpenShell usage telemetry#1433
kirit93 wants to merge 3 commits into
mainfrom
kirit93/telemetry

Conversation

@kirit93
Copy link
Copy Markdown
Collaborator

@kirit93 kirit93 commented May 18, 2026

Summary

Add lightweight, opt-out telemetry for anonymous OpenShell usage metrics. This gives the project aggregate visibility into sandbox lifecycle activity, policy updates, provider operations, sandbox creation shape, and policy-denial activity without collecting sandbox IDs, names, hosts, paths, model names, provider names, credentials, or user content.

Related Issue

Fixes #1054

Testing

  • mise run pre-commit passes
  • Unit tests added/updated

Checklist

@copy-pr-bot
Copy link
Copy Markdown

copy-pr-bot Bot commented May 18, 2026

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@kirit93 kirit93 requested a review from johntmyers May 18, 2026 19:59
@github-actions
Copy link
Copy Markdown

@zredlined zredlined assigned zredlined and kirit93 and unassigned zredlined May 18, 2026
@zredlined zredlined added the topic:observability Logging, metrics, and observability work label May 18, 2026
Signed-off-by: Kirit93 <kthadaka@nvidia.com>
@kirit93 kirit93 force-pushed the kirit93/telemetry branch from 4aa8e3c to fab5164 Compare May 18, 2026 20:27
@zredlined
Copy link
Copy Markdown
Collaborator

Looks like the Rust telemetry helper shells out to python3 and defaults to running scripts/publish_telemetry.py from the source tree. I’m worried this will likely no-op in packaged/runtime environments: the gateway image is distroless, the supervisor image is scratch, and neither appears to include Python or the telemetry script. Since failures are intentionally silent, we may not notice that telemetry never publishes outside local/dev setups.

Suggestion: we might want to implement the telemetry publisher fully in Rust for better portability. That would keep the runtime behavior inside the shipped binaries, avoid depending on Python/script packaging, and make the opt-out/publish path easier to test across gateway, supervisor, and package installs.

@zredlined
Copy link
Copy Markdown
Collaborator

@kirit93 Can you add a short telemetry section to the primary README as part of this PR?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

topic:observability Logging, metrics, and observability work

Projects

None yet

Development

Successfully merging this pull request may close these issues.

OpenShell Telemetry

2 participants