Skip to content

Servicing update-failure codes and curated labels in the Error Code histogram#653

Merged
jschick04 merged 3 commits into
mainfrom
pr/update-triage-error-codes
Jul 20, 2026
Merged

Servicing update-failure codes and curated labels in the Error Code histogram#653
jschick04 merged 3 commits into
mainfrom
pr/update-triage-error-codes

Conversation

@jschick04

Copy link
Copy Markdown
Collaborator

First of a stacked series, on top of the merged #652 (Error Code histogram dimension for update failure HRESULTs).

Changes

  • Servicing UserData error codes - the Error Code histogram dimension now also reads Microsoft-Windows-Servicing failure HRESULTs from the CbsPackageChangeState/ErrorCode and CbsUpdateChangeState/ErrorCode UserData paths, since Servicing stores its failure code in UserData rather than an EventData errorCode field.
  • Update-triage scenario fixes - the servicing-outcomes view now keys on event id at Level=Information (real Servicing events, including the failure event, log at Information, so the prior Level=Error filter matched nothing), plus fixes/extensions to the reboot/crash correlation view.
  • Curated error-code labels - friendly HRESULT symbol labels for real update/servicing error codes so bands read as e.g. 0x800f0816 CBS_E_DPX_JOB_STATE_SAVED rather than a bare hex value.

Testing

All unit suites green (Eventing, Scenarios, Runtime, UI); builds clean (0 warnings, 0 errors).

Notes

This is the first of a stacked series splitting a larger update-triage / histogram branch; follow-up PRs (timeline default + folder launch, histogram dimensions, highlight softening) will stack after this merges.

@jschick04
jschick04 requested a review from a team as a code owner July 19, 2026 04:39
Copilot AI review requested due to automatic review settings July 19, 2026 04:39
@jschick04
jschick04 marked this pull request as draft July 19, 2026 04:39

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

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 extends the existing “Error Code” histogram dimension and update-triage scenarios to correctly surface real Windows servicing/update failure HRESULTs (including those stored under Servicing UserData), and improves readability via curated HRESULT symbol labels.

Changes:

  • Extend Error Code histogram scans to fall back from EventData errorCode to curated Servicing UserData Cbs*ChangeState/ErrorCode paths, omitting success/empty values.
  • Fix/update built-in update-triage scenarios (Servicing outcomes keyed by event id at Information; reboot/crash correlation scenario definitions).
  • Add curated HRESULT symbol labels (CBS/WU) and expand unit coverage for the new parsing/bucketing behaviors.

Reviewed changes

Copilot reviewed 17 out of 17 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/Unit/EventLogExpert.Scenarios.Tests/BuiltInCatalogValidationTests.cs Adds regression tests for updated built-in scenario matching and channel metadata.
tests/Unit/EventLogExpert.Runtime.Tests/LogTable/TestSupport/LegacyEventColumnView.cs Updates test adapter signatures to pass curated UserData error-code paths into HResult scan APIs.
tests/Unit/EventLogExpert.Runtime.Tests/Histogram/HistogramBuilderTests.cs Adds coverage ensuring Servicing UserData HRESULTs chart correctly and successes are omitted.
tests/Unit/EventLogExpert.Runtime.Tests/Common/Display/EventDataValueDecoderTests.cs Adds assertions for newly-curated HRESULT labels.
tests/Unit/EventLogExpert.Eventing.Tests/Common/Events/EventColumnStoreReaderParityTests.cs Extends parity corpus and scans to include Servicing UserData HRESULT fallback.
tests/Unit/EventLogExpert.Eventing.Tests/Common/Events/EventColumnStoreEventDataTests.cs Adds extensive unit coverage for UserData fallback, omission rules, and sealed/pending parity.
tests/Shared/EventLogExpert.Eventing.TestUtils/EventDataTestFactory.cs Adds a WithUserData helper to construct resolved events with nested UserData fields in tests.
tests/Shared/EventLogExpert.Eventing.TestUtils/Common/Events/LegacyEventColumnReader.cs Mirrors store behavior in the legacy oracle by adding EventData-first/UserData-fallback HRESULT extraction.
src/EventLogExpert.Scenarios/Scenarios/built-in/updates-and-policy.json Updates Servicing scenario to key by event id at Information and adds reboot/crash correlation scenario.
src/EventLogExpert.Runtime/LogTable/IEventColumnView.cs Extends view interface to accept curated UserData error-code paths for HResult bucketing/counting.
src/EventLogExpert.Runtime/LogTable/EventColumnView.cs Plumbs curated UserData error-code paths through to the event column reader.
src/EventLogExpert.Runtime/LogTable/CombinedColumnView.cs Propagates the new HResult scan parameter across combined views.
src/EventLogExpert.Runtime/Histogram/HistogramBuilder.cs Adds curated Servicing UserData error-code paths and uses them in Error Code histogram scans.
src/EventLogExpert.Runtime/Common/Display/EventDataValueDecoder.cs Adds curated labels for additional CBS/WU HRESULTs.
src/EventLogExpert.Eventing/Common/Events/IEventColumnReader.cs Extends reader interface for HResult scans to accept curated UserData error-code paths.
src/EventLogExpert.Eventing/Common/Events/EventColumnStoreReader.cs Plumbs curated UserData error-code paths into the store for HResult bucketing/counting.
src/EventLogExpert.Eventing/Common/Events/EventColumnStore.cs Implements sealed + pending UserData fallback for curated error-code paths during HResult scans.

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

@jschick04
jschick04 marked this pull request as ready for review July 19, 2026 08:02

@ryanriesMSFT ryanriesMSFT left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

👍

Copilot AI review requested due to automatic review settings July 20, 2026 14:36
@jschick04
jschick04 force-pushed the pr/update-triage-error-codes branch from c6dd02c to 3021663 Compare July 20, 2026 14:36

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 17 out of 17 changed files in this pull request and generated 5 comments.

Comment thread src/EventLogExpert.Runtime/LogTable/IEventColumnView.cs
Comment thread src/EventLogExpert.Runtime/LogTable/IEventColumnView.cs
Comment thread src/EventLogExpert.Eventing/Common/Events/IEventColumnReader.cs
Comment thread src/EventLogExpert.Eventing/Common/Events/IEventColumnReader.cs
@jschick04
jschick04 merged commit 4fa136b into main Jul 20, 2026
8 checks passed
@jschick04
jschick04 deleted the pr/update-triage-error-codes branch July 20, 2026 14:48
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.

3 participants