Skip to content

feat(cache): add cache implementation diagnostics and operational support - #60

Merged
marioarce merged 7 commits into
developfrom
feature/cache-diagnostics
Aug 25, 2026
Merged

feat(cache): add cache implementation diagnostics and operational support#60
marioarce merged 7 commits into
developfrom
feature/cache-diagnostics

Conversation

@marioarce

Copy link
Copy Markdown
Owner

This PR adds comprehensive diagnostics for the Cache feature and introduces the Operational package family that provides the supporting contracts and infrastructure for application diagnostics, issue capture, logging, event persistence, and resilience policies.

Cache diagnostics include:

  • Logging of resolved cache implementations during feature pipeline setup.
  • Clear construction logging for the active cache and disk cache services.
  • Explicit diagnostics for NoOp cache implementations when the corresponding features are disabled.
  • BitFaster cache initialization diagnostics, including configuration and startup state.
  • Microsoft.Extensions.Logging integration for the BitFaster cache provider.
  • Cache package family version bump.

Operational package family includes:

  • Diagnostic event, severity, trace, breadcrumb, and event viewer models.
  • IDiagnosticsService, IIssueManager, and IEventViewerService contracts.
  • Safe NoOp implementations for standalone or disabled scenarios.
  • Configurable OperationalOptions.
  • Request-scoped diagnostics service with correlation and diagnostic header support.
  • Centralized issue capture and management.
  • Logging integration through a diagnostics logger and provider.
  • Asynchronous event log writing with retention cleanup.
  • Retry and circuit-breaker policy support through Polly.
  • Optional integration with the PowerCSharp Features Framework.
  • Standalone service registration extensions.
  • Comprehensive tests covering diagnostics, issue management, event logging, NoOp services, and resilience policies.
  • Package READMEs, API documentation, architecture documentation, solution registration, and root README updates.

The changes preserve the existing cache abstractions and provider boundaries while making cache behavior and initialization state more observable in production environments.

 - Clarify that module-stage logging uses a placeholder logger before the DI container is built
 - Resolve memory and disk cache services from the completed container during pipeline configuration
 - Log the concrete implementations actually bound to cache service contracts
 - Explain that DI validation may construct the NoOp floor even when a real provider is active
 - Rename the log message to identify safe-off construction without implying service resolution
 - Explain that DI validation may construct the NoOp disk cache floor even when a real provider is active
 - Rename the log message to identify safe-off construction without implying disk cache resolution
 - Inject a logger into the BitFaster cache service
 - Log configured cache capacity during initialization
 - Clarify that constructor execution does not prove the provider is the active DI implementation
 - Add Microsoft.Extensions.Logging.Abstractions for BitFaster cache diagnostics
 - Update the Cache family version to 1.3.4
 - Remove the outdated version rationale comment
@marioarce marioarce self-assigned this Aug 20, 2026
@marioarce marioarce added the enhancement New feature or request label Aug 20, 2026
@marioarce
marioarce merged commit 5f68ab2 into develop Aug 25, 2026
4 checks passed
@github-actions
github-actions Bot deleted the feature/cache-diagnostics branch August 25, 2026 20:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant