ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Server.Pipeline.Diagnostics

Description

Operator diagnostics for metadata failures, dropped entries, and integrity divergence. Access-refusal logs contain no upstream body, headers, or credential.

The bad-upstream warnings carry pipelineInternalModule as their module filter key and the other payload-bearing lines carry pipelineModule, both held stable as values rather than source module paths, so an operator's saved filter keeps matching.

Synopsis

Metadata-read failures

logMetadataFailure :: KatipContext m => PackageName -> Text -> MetadataError -> m () Source #

Log once per real fetch, inside the single-flight leader's request context.

logDecodeFailure :: KatipContext m => PackageName -> m () Source #

Warn that an upstream body did not decode into a usable packument.

logNameMismatch :: KatipContext m => PackageName -> Text -> Text -> m () Source #

Warn that an origin's packument self-reported a name for a different package, so an operator can tell a misconfigured or hostile upstream from an ordinary outage.

logUpstreamUnformable :: KatipContext m => PackageName -> Text -> UrlFormationError -> m () Source #

Warn that this origin's configured base URL could not be formed into a request, so an operator sees a misconfigured mount rather than an upstream that merely appears unreachable.

logUpstreamUnreachable :: KatipContext m => PackageName -> Text -> TransportFault -> m () Source #

Warn that the transport failed before a usable body returned, so an operator can tell an outage from a decode failure or a misconfigured mount.

Dropped entries and divergence

logInvalidEntries :: KatipContext m => PackageName -> Text -> [InvalidEntry] -> m () Source #

The malformed packument entries the projection dropped rather than failing the whole document.

warnDivergences :: KatipContext m => MetricsPort -> PackageName -> MergePlan -> m () Source #

Warn and increment the divergence metric when shared digests disagree across origins.