Skip to content

fix: include full tool ID in download track#7320

Merged
jdx merged 1 commit intomainfrom
feat/track-full-tool-id
Dec 15, 2025
Merged

fix: include full tool ID in download track#7320
jdx merged 1 commit intomainfrom
feat/track-full-tool-id

Conversation

@jdx
Copy link
Copy Markdown
Owner

@jdx jdx commented Dec 15, 2025

Summary

Adds the full tool identifier (e.g., aqua:nektro/zigmod, core:node) alongside the short name (e.g., zigmod, node) when tracking tool installations.

This provides more granular insight into which backend is being used for each tool installation.

Changes

  • track_install() now accepts both tool (short) and full parameters
  • The tracking payload includes both tool and full fields

🤖 Generated with Claude Code


Note

Track installs with both short tool name and full identifier, updating call sites and payload/logging accordingly.

  • Metrics/Tracking:
    • Update versions_host::track_install to accept tool, full, and version and propagate full through track_install_async.
      • Include "full" in the tracking JSON payload and adjust trace to full@version in src/versions_host.rs.
    • Adjust backend call site to pass tv.ba().full() to track_install in src/backend/mod.rs.

Written by Cursor Bugbot for commit 6bbef7a. This will update automatically on new commits. Configure here.

Adds the full tool identifier (e.g., "aqua:nektro/zigmod") alongside
the short name (e.g., "zigmod") when tracking tool installations.
This provides more granular insight into which backend is being used.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings December 15, 2025 18:04
@jdx jdx changed the title feat(metrics): include full tool ID in download tracking fix: include full tool ID in download track Dec 15, 2025
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR enhances tool installation tracking by including the full tool identifier (e.g., aqua:nektro/zigmod, core:node) alongside the short name, enabling more granular analytics on which backend is used for each tool installation.

Key Changes:

  • Modified track_install() function signature to accept a full parameter for the complete tool identifier
  • Updated tracking payload to include both short and full tool identifiers
  • Changed trace logging to use the full identifier for better clarity

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.

File Description
src/versions_host.rs Added full parameter to tracking functions and included it in the API payload
src/backend/mod.rs Updated call site to pass the full tool identifier from BackendArg

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread src/versions_host.rs
/// Tracks a tool installation asynchronously (fire-and-forget)
/// Tracks all core plugins and registry tools (including java/python)
pub fn track_install(tool: &str, version: &str) {
pub fn track_install(tool: &str, full: &str, version: &str) {
Copy link

Copilot AI Dec 15, 2025

Choose a reason for hiding this comment

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

The parameter name full is ambiguous. Consider renaming it to full_tool_id or tool_id to clarify that it represents the complete tool identifier including the backend prefix.

Copilot uses AI. Check for mistakes.
jdx added a commit to jdx/mise-versions that referenced this pull request Dec 15, 2025
- Add Open Graph and Twitter Card meta tags for link previews
- Add dynamic OG image generation using workers-og
  - /api/og - Homepage image
  - /api/og/:tool - Tool-specific images with name, version, description
- Inject dynamic meta tags for bot user-agents (Slack, Discord, Twitter, etc.)
- Change tool URLs from /:tool to /tools/:tool for cleaner routing

Related: jdx/mise#7320

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

Hyperfine Performance

mise x -- echo

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 x -- echo 20.5 ± 0.7 19.7 27.9 1.02 ± 0.04
mise x -- echo 20.1 ± 0.4 19.1 21.3 1.00

mise env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 env 20.1 ± 0.6 19.5 30.6 1.03 ± 0.04
mise env 19.6 ± 0.6 18.6 27.2 1.00

mise hook-env

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 hook-env 20.3 ± 0.3 19.6 22.7 1.03 ± 0.03
mise hook-env 19.7 ± 0.4 18.6 22.3 1.00

mise ls

Command Mean [ms] Min [ms] Max [ms] Relative
mise-2025.12.7 ls 16.8 ± 0.3 16.1 18.1 1.00
mise ls 17.3 ± 0.4 16.4 18.9 1.03 ± 0.03

xtasks/test/perf

Command mise-2025.12.7 mise Variance
install (cached) 108ms 109ms +0%
ls (cached) 65ms 65ms +0%
bin-paths (cached) 73ms 71ms +2%
task-ls (cached) 432ms ✅ 276ms +56%

✅ Performance improvement: task-ls cached is 56%

@jdx jdx merged commit 8cd1279 into main Dec 15, 2025
31 checks passed
@jdx jdx deleted the feat/track-full-tool-id branch December 15, 2025 18:37
jdx pushed a commit that referenced this pull request Dec 15, 2025
### 🚀 Features

- **(conda)** add dependency resolution for conda packages by @jdx in
[#7280](#7280)
- **(go)** add created_at support to ls-remote --json by @jdx in
[#7305](#7305)
- **(hook-env)** add hook_env.cache_ttl and hook_env.chpwd_only settings
for NFS optimization by @jdx in
[#7312](#7312)
- **(hooks)** add MISE_TOOL_NAME and MISE_TOOL_VERSION to
preinstall/postinstall hooks by @jdx in
[#7311](#7311)
- **(shell_alias)** add shell_alias support for cross-shell aliases by
@jdx in [#7316](#7316)
- **(tool)** add security field to mise tool --json by @jdx in
[#7303](#7303)
- add --before flag for date-based version filtering by @jdx in
[#7298](#7298)

### 🐛 Bug Fixes

- **(aqua)** support cosign v3 bundle verification by @jdx in
[#7314](#7314)
- **(config)** use correct config_root in tera context for hooks by @jdx
in [#7309](#7309)
- **(nu)** fix nushell deactivation script on Windows by @fu050409 in
[#7213](#7213)
- **(python)** apply uv_venv_create_args in auto-venv code path by @jdx
in [#7310](#7310)
- **(shell)** escape exe path in activation scripts for paths with
spaces by @jdx in [#7315](#7315)
- **(task)** parallelize exec_env loading to fix parallel task execution
by @jdx in [#7313](#7313)
- track downloads for python and java by @jdx in
[#7304](#7304)
- include full tool ID in download track by @jdx in
[#7320](#7320)

### 📚 Documentation

- Switch `postinstall` code to be shell-agnostic by @thejcannon in
[#7317](#7317)

### 🧪 Testing

- **(e2e)** disable debug mode by default for windows-e2e by @jdx in
[#7318](#7318)

### New Contributors

- @fu050409 made their first contribution in
[#7213](#7213)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants