Add telemetry for pinning and unpinning chat models
- Dominant language
- TypeScript
- Stars
- 193k
- Forks
- 42.4k
- PR merge metrics
- PR metrics pending
Description
We currently have no telemetry for pinning or unpinning models in Chat.
Pin/unpin is stored locally (`chatModelPinned` in profile storage). `LanguageModelsService.pinModel()` / `unpinModel()` update that storage and fire `_onDidChangePinnedModels`, but they do not log an event. The model picker Pin Model / Unpin Model action (`modelPickerWidget` → `onTogglePin`) and the same action in the Models editor (`chatModelsWidget`) both go through that path with no `publicLog`.
Existing picker events do **not** cover this:
- `chat.modelchange` fires when a model is **selected**
- `chat.modelpickerinteraction` covers expand/collapse Other Models, premium upgrade, and contact-admin — not pin/unpin
### Proposal
Log telemetry when a user pins or unpins a model, including at least:
- Action: pin vs unpin
- Model identifier (and vendor if available, consistent with `chat.modelchange` — Copilot vendor only / non-Copilot as `unknown` if that is the privacy pattern)
Contributor guide
Assessment
This issue has not been assessed yet.