You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
feat(journaling): measure catalog traversal and provider retries - #11259
Journaling operators need to distinguish catalog candidates from delivered entries and observe explicit storage recovery retries while keeping provider code straightforward.
Add four counters to the Microsoft.Orleans meter: catalog pages, catalog items, catalog entries, and provider retries. Record them directly in the existing S3, Azure Blob, Azure Table, Redis, and Volatile catalog paths and provider retry loops. Catalog tags contain only provider; retry tags also include a bounded reason. Each provider library defines its own short name (s3, azure_blob, azure_table, redis, or volatile) and supplies it to the provider-agnostic recording helper.
Preserve existing storage latency, outcome, and byte metrics. Client SDK telemetry belongs to the application's hosting integrations, such as Aspire, or its instrumentation libraries and diagnostic configuration. The implementation keeps direct SDK calls and native enumeration, with a recording-only helper rather than storage decorators, delegate-based async execution wrappers, or custom telemetry enumerators.
Include focused counter and behavior regressions for filtering, empty pages, early disposal, cancellation, native disposal failures, explicit retries, and caller-supplied provider identities. Documentation explains the counter boundaries and how to reuse host-provided dependency telemetry.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
The broad multi-provider telemetry, catalog, and API changes require final human review.
Review tier: Lite Findings: None
What changed in this PR
Adds journaling telemetry that separates logical storage operations from underlying SDK calls across S3, Azure Blob/Table, Redis, and Volatile providers.
The current-main baseline is commit 8c4887aba9 and uses the same reviewed coverage matrix.
Coverage combines every CI test matrix job, including providers, CodeGen, .NET 8/10, Linux, Windows, and macOS, using canonical physical source and branch identities.
The comparison remains report-only while normal line and branch variance is calibrated.
The reason will be displayed to describe this comment to others. Learn more.
Copilot review overview
🔵 Needs a closer look
Restore or link migration guidance for the changed S3 and Redis storage layouts.
Review tier: Lite Findings: None
Previously missed (1)
In code that hasn't changed since last review
Retain the S3 layout migration warning
src/AWS/Orleans.Journaling.S3/README.md:57
The previous migration warning was removed while the provider now reads WALs from wal/<base-key> instead of the former <base-key>/wal layout, and there is no fallback for existing objects. Without this warning, an upgrade can make existing journals undiscoverable; restore the drain/recreate guidance before the catalog documentation.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Journaling operators need to distinguish catalog candidates from delivered entries and observe explicit storage recovery retries while keeping provider code straightforward.
Add four counters to the
Microsoft.Orleansmeter: catalog pages, catalog items, catalog entries, and provider retries. Record them directly in the existing S3, Azure Blob, Azure Table, Redis, and Volatile catalog paths and provider retry loops. Catalog tags contain onlyprovider; retry tags also include a boundedreason. Each provider library defines its own short name (s3,azure_blob,azure_table,redis, orvolatile) and supplies it to the provider-agnostic recording helper.Preserve existing storage latency, outcome, and byte metrics. Client SDK telemetry belongs to the application's hosting integrations, such as Aspire, or its instrumentation libraries and diagnostic configuration. The implementation keeps direct SDK calls and native enumeration, with a recording-only helper rather than storage decorators, delegate-based async execution wrappers, or custom telemetry enumerators.
Include focused counter and behavior regressions for filtering, empty pages, early disposal, cancellation, native disposal failures, explicit retries, and caller-supplied provider identities. Documentation explains the counter boundaries and how to reuse host-provided dependency telemetry.
Split from #11210, on top of the catalog and discovery changes landed in #11258 and #11257. Review the current telemetry changes.
Microsoft Reviewers: Open in CodeFlow