Skip to content

Exclude internal message types from ExecutionSummaryPlugin report - #2088

Open
waldekmastykarz wants to merge 2 commits into
dotnet:mainfrom
waldekmastykarz:fix-execution-summary-unknown-pass-throu
Open

waldekmastykarz wants to merge 2 commits into
dotnet:mainfrom
waldekmastykarz:fix-execution-summary-unknown-pass-throu

Conversation

@waldekmastykarz

@waldekmastykarz waldekmastykarz commented Nov 5, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes the regression of #416 where ExecutionSummaryPlugin reported pass-through requests with an extra Unknown category whose keys were timestamps and URLs.

Cause

The engine now records Timestamp and FinishedProcessingRequest logs for every request (and plugins log Skipped/Processed/Normal), which all hit the _ => "Unknown" fallback.

Changes

  • Single, shared, explicit message-type → category mapping in ExecutionSummaryPluginReportBase (was duplicated in the plugin and report).
  • Excluded from the summary: InterceptedResponse, Timestamp, FinishedProcessingRequest, Skipped (proxy-internal / diagnostic).
  • New categories: Normal → Information, Processed → Requests processed.
  • Group-by-URL no longer throws if a non-intercepted log for a request arrives without its preceding intercepted-request log.
  • Regression tests for both url and messageType grouping (verified failing before the fix).

Timestamps are dropped rather than moved into a timestamps array to keep the report shape unchanged.

Resolves #2078

Closes #2097

Timestamp, FinishedProcessingRequest and Skipped logs were falling into an
"Unknown" category (with timestamps and URLs as keys). Map all message
types explicitly in a single shared helper: exclude proxy-internal and
diagnostic types, and map Normal/Processed to proper categories. Adds
regression tests.

Closes dotnet#2078

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@waldekmastykarz
waldekmastykarz requested a review from a team as a code owner November 5, 2026 10:43
Copilot AI balanced review requested due to automatic review settings November 5, 2026 10:43

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.

🟡 Changes recommended

The new orphaned-log bucket-creation path lacks a regression test verifying the URL, category, and count for a PassedThrough log without a preceding InterceptedRequest.

1 open issue
What changed in this PR

Fixes the execution-summary regression by excluding internal logs that produced misleading Unknown categories, while preserving the report shape.

Changes:

  • Centralizes category mapping, excludes diagnostic messages, and adds categories for Normal and Processed.
  • Makes URL grouping tolerate logs without a preceding intercepted-request log.
  • Adds regression tests for internal-message filtering in both grouping modes.
File Description
DevProxy.Plugins/​Reporting/​ExecutionSummaryPluginReportBase.cs Defines shared category mapping and filters summary totals.
DevProxy.Plugins/​Reporting/​ExecutionSummaryPlugin.cs Uses shared filtering and safely creates URL groups.
DevProxy.Integration.Tests/​ReportingPluginsIntegrationTests.cs Tests internal-message exclusion for URL and message-type grouping.

Review effort: Balanced

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

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.

🟢 Approval recommended

There are no active review issues for the execution-summary reporting changes.

No open issues 🎉

1 resolved since last review

Review effort: Balanced

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants