Deliver project context telemetry at its approved collection rate - #940
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Copilot review overview
🟢 Approval recommended
The focused build and all 53 telemetry tests pass, with no unresolved correctness, privacy, or documentation issues.
Review effort: Balanced
Findings: None
What changed in this PR
Updates project-context telemetry to use the approved full-rate delivery classification while preserving opt-out behavior and payloads.
Changes:
- Classifies both project-context event overloads as
Critical. - Adds ETW keyword, diagnostics-default, and opt-out regression tests.
- Documents the event’s collection rate.
| File | Description |
|---|---|
ProjectContextEvent.cs |
Applies CriticalData delivery classification. |
TelemetryTests.cs |
Verifies ETW keywords and opt-out behavior. |
ProjectContextCommandTelemetryTests.cs |
Updates expected log level. |
docs/telemetry.md |
Discloses full-rate collection. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Build Metrics ReportValidation passed. All required build and validation jobs succeeded. Binary Sizes
.NET Test Results (TRX reports)Other suites are reflected in the overall validation status above. ✅ 7879 passed, 37 skipped out of 7916 tests in 1182.1s (+101.1s vs. baseline) Test Coverage✅ 86.3% line coverage, 80.9% branch coverage · ✅ no change vs. baseline CLI Startup Time68ms median (x64, Try This BuildInstalls the MSIX for your architecture, replacing any previously installed build. Needs the GitHub CLI — the command offers to install it and sign you in if it is missing. & ([scriptblock]::Create((irm https://raw.githubusercontent.com/microsoft/winappCli/main/scripts/winapp-pr.ps1))) 940Switching between builds often?Put the tool on your PATH once: & ([scriptblock]::Create((irm https://raw.githubusercontent.com/microsoft/winappCli/main/scripts/winapp-pr.ps1))) -AddToPathThen this build is just: winapp-pr 940Run Updated 2026-09-28 19:19:04 UTC · commit |
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Description
ProjectContext_Eventwas logged asMeasure, which becomes local-only with diagnostics disabled (the default). Classify only this approved event asCriticalso its existing bounded project categories can reach telemetry at full rate. The twoLogoverloads change level only; payload, opt-out, and other diagnostic defaults are unchanged. The pre-existing test's level expectation is aligned with the approved classification.Usage Example
winapp restore .on a recognized project emits aProjectContext_Eventwith the CriticalData delivery keyword when telemetry is enabled. WithWINAPP_CLI_TELEMETRY_OPTOUT=1, no project context is inspected or emitted.Related Issue
N/A
Type of Change
Checklist
MeasurelevelScreenshots / Demo
N/A — no visual changes.
Additional Notes
No new tests or documentation changes remain in the PR. Current-head CI is pending; the earlier green CI result applied to a previous head. Sandbox lacked
dotnet, so its tests used a self-contained ARM64 runner. ETW classification has been verified, but actual ingestion requires a signed release.