Skip to content

Annual activity, Copilot charts and telemetry configuration

2026-10-01, Windows 11 x64. Earlier Copilot review/other uncommitted changes were preserved; no commit/push, real Agent configuration changes or model calls occurred. See Copilot OTel configuration requirements.

Changes and scope

  • Activity previously reused the last-30-days query. It now queries Jan 1–Dec 31 of the current statistical-timezone year, with year selection and 366 cells in leap years. Future dates, measured zero calls, missing daily history and partial coverage remain distinct. Weekday distribution independently queries the statistical filter range, avoiding missed dates on year changes/cross-year ranges; weekday names use the UTC calendar.
  • Copilot has known input with unknown cached/uncached splits; the old split-only graph hid input. Added a reported-input curve. Unknown totals show known input/output and a notice, without deriving a complete total. Trends/today’s overview tooltips preserve unknown totals, known components and observed zero values; zero is not filtered into no data.
  • Startup runs a read-only asynchronous check on a blocking worker, sharing results with the frontend. Overview indicates missing configuration; general settings offers the full list, recheck, preview, merged apply and revocation within the current process.
  • VS Code default/profile/Insiders/Agent Host, Gemini, Qwen, Claude, Codex and CodeBuddy use their own configurations. CLI Copilot gets a process launcher without editing managed state. PATH-file/existing-directory checks do not execute CLIs; normal installation manifests verify VS Code configuration keys.
  • JSONC edits exact ranges; TOML formatting is retained. Checks cover bounded reads, duplicate keys, excessive depth, links, read-only files and concurrent edits. Codex merges exporter leaf fields while retaining ordinary/inline-table headers/options and refusing conflicting shapes. Original bytes are backed up; temporary files replace targets. Profile Sync exclusions merge into the default user file with conditional rollback. Revocation skips later user edits; existing destinations, enterprise policies, startup environment and explicit Sync conflicts are not overwritten forcibly.
  • Local receiver binding succeeds before OTLP configuration writes; failures undo enabling performed by this operation. Corrected OTLP AnyValue field numbers/old test encoding; successful protobuf responses are empty protobuf. Added strict logs attribute allowlists; logs/supplemental traces remain separate from native statistics.

Source references

Shared fields: verified_at=2026-10-01, owner=repository maintainer. Recheck for affected configuration tasks/client upgrades/format or policy changes. Rolling documentation describes configuration methods without verifying actual exports from the installed version.

ID / scope source_url / source_version method / status / impact
T01 Copilot file/Agent Host Existing fixed-source references,dc546cc3c9979a19adafccd439889d7b64298def Read-only source/local-manifest checks; extension 0.68.0 declarations/app 1.140.0 baseline; new exports not enabled
T02 Sync scope userDataSync.ts Fixed source: ignoredSettings is APPLICATION-scoped, default empty; profiles must also edit the default user file
T03 Gemini outfile/home Official telemetry、Storage、paths, rolling Official documentation/source: append .gemini after HOME substitution; only synthetic write checks
T04 Qwen configuration/content switches Official settings、Telemetry, rolling Official documentation: QWEN_HOME differs from runtime; sensitive log/span switches disabled; synthetic checks only
T05 Claude logs/env Official monitoring, rolling Official documentation: independent HTTP/JSON logs endpoint/content switches; no beta traces or unsupported metrics configuration
T06 Codex TOML/exporter Official sample, rolling Official documentation: HTTP/JSON logs exporter and log_user_prompt; checked with openai-docs Skill
T07 CodeBuddy env/traces Official user settings、Official monitoring, rolling Public HTML confirms settings env/session semantics; HTTP/protobuf traces only; no native acceptance claim for newer local exports
T08 CLI user state Official configuration directories, rolling config.json is managed state, settings.json user configuration; user telemetry keys unverified, so create only a launcher
T09 OTLP encoding common.proto、logs.proto, rolling Official proto/independent standard samples verify fields; corrected old integer/boolean/double field numbers

Public-source checks remain under ignored build/telemetry-setup-evidence/. Fixed Sync-source SHA-256: bdff135f2943761075df3e238a6bc190c1dd5289e033585acbfebfa3835bf329.

Local read-only checks

This describes the preceding check, when user directories still supplied configuration candidates. The subsequent UI stage below tightened installation requirements. Explicitly ran cargo test --manifest-path desktop/src-tauri/Cargo.toml --locked -p llm-usage-desktop local_configuration_audit -- --ignored --nocapture, exit 0. Final discovery found missing user-level outputs for VS Code default/profile and their Agent Hosts, Codex, Copilot CLI and CodeBuddy. Output contains only client IDs/status/ reasons, without configuration contents/credentials. The read-only check does not identify CLI versions from directories or guarantee that other startup environments have no overrides. Passing candidate checks does not establish output files/token records.

Checks and missing coverage

This is the preceding acceptance baseline; subsequent batch-action results follow below. Environment: Node.js 24.21.0, Rust/Cargo 1.98.1, Edge 154.0.4258.48, Windows 11 x64. All commands ran from repository root and exited 0.

Command Result
npm run verify Markdown 163 files; assets 67 derived/82 files; scripts three/UI ten tests; Svelte zero errors/warnings; fmt/Clippy -D warnings passed; Rust 752 passed/one ignored by default; frontend 745 modules built
npm run test:browser Actual Edge, nine screenshots/159 simulated IPC calls; no pageerror; all interaction assertions passed
cargo test … local_configuration_audit – –ignored –nocapture Explicitly ran the default-ignored read-only local audit; seven configuration candidates
python build/copilot-otel-setup/check-links.py 98 relative links in six affected documents passed; external links/online anchors unverified
git diff –check Passed; temporary artifacts stayed under ignored build/

Full logs: build/telemetry-setup-evidence/{verify,browser,local-audit}.log; screenshots/ interaction results: build/browser-smoke/, all outside Git. Browser checks use actual Edge/ Vite with simulated IPC and no real Agent connection. Verified annual/leap-year/future cells, known input/unknown cache, unknown total/zero-output tooltips, asynchronous checks without configuration writes, overview/settings navigation, preview/apply/revoke, ten languages/themes/narrow screens and existing filters/users/pagination. Rust configuration tests use synthetic files under build/, covering profile two-file rollback, Codex inline/ ordinary-table retention/revocation, source-publisher checks, depth limits and standard OTLP encoding.

Unverified: macOS/Linux desktops, automatic portable/custom-user-data discovery, real user configuration writes/reloaded OTel exports, automatic statistics from new exports, statistical source selection across formats, trace SQLite and persistent revocation. New exports supplement checks; they do not establish recovered history or inclusion in total tokens.

Overview simplification and batch configuration: later 2026-10-01 stage

Overview shows a short notice with Enable all/View details. Details select the independent local telemetry settings panel and move focus there. This panel retains per-item preview/ merged apply/revocation and adds batch actions. Already-configured targets, managed policies and other blocked items are skipped. Each item is previewed immediately before applying, avoiding stale precomputed plans when profiles share files. Failures do not stop remaining items; results report successful/failed/manual items. Operation/revocation state survives navigation.

Installation checks accept PATH CLI launch files or publisher-verified IDE manifests. Standalone Copilot extensions additionally require their IDE launch file. Leftover user directories/globalStorage/profiles/extension caches without corresponding IDE installation references do not alone display an Agent. Installed CLIs without configuration files still appear. Non-PATH CLI installations, portable/custom user data and desktop-platform gaps remain.

New tests cover shared-file write order, continued processing/redacted errors after failures, zero writes without configurable items/after check failures, excluding installation remnants, extension host requirements, overview’s two buttons without paths/keys/Agent lists, detail navigation/focus, page changes during execution, partial-failure retries, revocation after navigation and three-language narrow layouts. Same Windows/Node/Rust/Edge environment; root commands finally exited 0.

Command Final result
npm run verify Markdown 163 files; assets 67 derived/82 files; scripts three/UI 13/Rust 754 passed, one ignored by default; Svelte zero errors/warnings; fmt/Clippy/frontend build 746 modules passed
npm run test:browser Two independent passing runs, each 192 simulated IPC calls; 25 check groups/11 screenshots, no pageerror; existing statistics/users/pagination assertions retained
cargo test … local_configuration_audit – –ignored –nocapture One explicit read-only test passed; VS Code default/profile extensions/Agent Hosts plus Codex, five items
python build/copilot-otel-setup/check-links.py / git diff –check Six documents/98 relative links and patch whitespace passed

Local PATH lacked Copilot CLI/CodeBuddy launch files; their directories no longer alone create configuration candidates. This does not establish uninstallation from nonstandard paths or delete existing statistics. Logs: build/telemetry-batch-ui/{verify,browser,browser-recheck,local-audit}.log; screenshots/simulated interactions: build/browser-smoke/. Overview/narrow details screenshots were reviewed manually.

The page-change regression uses an explicitly releasable asynchronous mock, avoiding short timers ending before navigation. Debugging also produced one 30-second initial-card timeout without that run’s page errors. After adding failure JSON/screenshots, two independent runs passed identical assertions. Startup-timeout cause remains unknown; behavior assertions were not weakened. Real Agent configuration was unchanged and no Agent was executed; actual writes/new exports/cross-platform acceptance remain pending.