ecluse:ecluse-core
Safe HaskellNone
LanguageGHC2021

Ecluse.Core.Telemetry.Catalogue

Description

The ecluse.* instrument catalogue: which metrics this build emits, and their wire names.

The catalogue is closed and its Universe instance enumerates it, so the runtime creates one instrument per name and a new metric cannot reach a meter unregistered. What may label an instrument is in Ecluse.Core.Telemetry.Metrics. docs/architecture/observability.md holds the catalogue as prose.

Synopsis

Documentation

data MetricName Source #

The catalogue of metric instruments Écluse emits. Queue backlog and DLQ depth are absent on purpose: those are cloud-native metrics, not signals Écluse re-emits.

Constructors

HttpServerRequestDuration

http.server.request.duration: server request latency (histogram).

ServeDecision

ecluse.serve.decision: admit/deny/unavailable (counter).

RuleDenials

ecluse.rule.denials: rule denials by rule and reason class (counter).

RuleEvalDuration

ecluse.rule.eval.duration: rule-evaluation latency by tier (histogram).

RuleEffectfulFailures

ecluse.rule.effectful.failures: effectful-rule failures (counter).

RuleBreakerState

ecluse.rule.breaker.state: effectful/mint breaker state by source (gauge).

ServeAdmissionInFlight

ecluse.serve.admission.in_flight: in-flight metadata parses (up-down counter).

ServeAdmissionQueued

ecluse.serve.admission.queued: admissions that waited for a slot (counter).

MemoryAdmissionBudgetBytes

ecluse.serve.admission.memory.budget_bytes: the metadata memory budget (observable gauge).

MemoryAdmissionChargedBytes

ecluse.serve.admission.memory.charged_bytes: bytes requests hold against the budget (observable gauge).

MemoryAdmissionBrakeLevel

ecluse.serve.admission.memory.brake_level: 0 calm, 1 holding, 2 braking (observable gauge).

MemoryAdmissionWaiting

ecluse.serve.admission.memory.waiting: new requests waiting at the memory gate (observable gauge).

MemoryAdmissionPausedNow

ecluse.serve.admission.memory.paused_now: started requests paused for memory (observable gauge).

MemoryAdmissionQueued

ecluse.serve.admission.memory.queued: requests that waited for their entry step (counter).

MemoryAdmissionShed

ecluse.serve.admission.memory.shed: requests shed at the memory gate (counter).

MemoryAdmissionPauses

ecluse.serve.admission.memory.pauses: times a started request paused for memory (counter).

MemoryAdmissionOverdraws

ecluse.serve.admission.memory.overdraws: steps the token holder took past the budget (counter).

PublishBodyInFlightBytes

ecluse.publish.body.in_flight_bytes: bytes reserved for buffered publish bodies (up-down counter).

PublishBodyShed

ecluse.publish.body.shed: publishes shed at the body-byte budget (counter).

MergeDivergence

ecluse.registry.merge.divergence: cross-upstream integrity divergences detected in the packument merge (counter).

UpstreamFetchDuration

ecluse.upstream.fetch.duration: upstream fetch latency (histogram).

UpstreamFetchErrors

ecluse.upstream.fetch.errors: upstream fetch errors (counter).

MetadataCacheRequests

ecluse.metadata_cache.requests: full-store hit/miss/collapsed (counter).

SingleVersionCacheRequests

ecluse.metadata_cache.version.requests: selected-version request outcomes (counter).

AssembledCacheRequests

ecluse.metadata_cache.assembled.requests: assembled-response request outcomes (counter).

MetadataCacheRefused

ecluse.metadata_cache.refused: capacity refusals and backend failures (counter).

MetadataCacheEntries

ecluse.metadata_cache.entries: metadata-cache occupancy (gauge).

MetadataCacheResidentBytes

ecluse.metadata_cache.resident_bytes: full-packument cache resident bytes (gauge).

SingleVersionCacheResidentBytes

ecluse.metadata_cache.version.resident_bytes: single-version cache resident bytes (gauge).

AssembledCacheResidentBytes

ecluse.metadata_cache.assembled.resident_bytes: assembled-representation store resident bytes (gauge).

ServePerimeterFaults

ecluse.serve.perimeter.faults: pre-commit handler escapes the request perimeter answered (counter).

ServeRelayAnomalies

ecluse.serve.relay.anomalies: public relays that were not the admitted artifact (counter).

MirrorEnqueued

ecluse.mirror.enqueued: mirror jobs enqueued (counter).

MirrorEnqueueFailures

ecluse.mirror.enqueue.failures: mirror enqueue failures (counter).

MirrorJobsProcessed

ecluse.mirror.jobs.processed: mirror jobs processed by result (counter).

MirrorPublishDuration

ecluse.mirror.publish.duration: mirror publish latency (histogram).

DredgerVersions

ecluse.dredger.versions: versions one sweep cycle disposed of, by target and result (counter).

CredentialRefresh

ecluse.credential.refresh: credential refreshes by result and provider (counter).

CredentialTokenTtlSeconds

ecluse.credential.token.ttl.seconds: remaining token lifetime by provider (gauge).

AdvisorySyncAttempts

ecluse.advisory.sync.attempts: advisory sync attempts by ecosystem and result (counter).

AdvisorySyncDuration

ecluse.advisory.sync.duration: advisory sync attempt latency by ecosystem and result (histogram).

AdvisoryDatabaseAgeSeconds

ecluse.advisory.database.age.seconds: seconds since this ecosystem's last swap (gauge). It measures this process's own installation, not the data.

AdvisorySourceAgeSeconds

ecluse.advisory.source.age.seconds: seconds since this ecosystem's serving artifact was published (gauge). It is the age the CVE-deny path expires on.

AdvisoryCompileAccepted

ecluse.advisory.compile.accepted: advisory entries a compile pass accepted (counter).

AdvisoryCompileDropped

ecluse.advisory.compile.dropped: advisory entries a compile pass dropped, by cause (counter).

AdvisoryCompileRuns

ecluse.advisory.compile.runs: compile passes by ecosystem and result (counter).

Instances

Instances details
Generic MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

Associated Types

type Rep MetricName 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

type Rep MetricName = D1 ('MetaData "MetricName" "Ecluse.Core.Telemetry.Catalogue" "ecluse-0.4.0-inplace-ecluse-core" 'False) (((((C1 ('MetaCons "HttpServerRequestDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServeDecision" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RuleDenials" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RuleEvalDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RuleEffectfulFailures" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "RuleBreakerState" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ServeAdmissionInFlight" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServeAdmissionQueued" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MemoryAdmissionBudgetBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionChargedBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionBrakeLevel" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MemoryAdmissionWaiting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionPausedNow" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionQueued" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MemoryAdmissionShed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionPauses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionOverdraws" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PublishBodyInFlightBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PublishBodyShed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MergeDivergence" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "UpstreamFetchDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UpstreamFetchErrors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MetadataCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "SingleVersionCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AssembledCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MetadataCacheRefused" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MetadataCacheEntries" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MetadataCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SingleVersionCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AssembledCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServePerimeterFaults" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ServeRelayAnomalies" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MirrorEnqueued" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MirrorEnqueueFailures" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MirrorJobsProcessed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MirrorPublishDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DredgerVersions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CredentialRefresh" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CredentialTokenTtlSeconds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisorySyncAttempts" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "AdvisorySyncDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AdvisoryDatabaseAgeSeconds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisorySourceAgeSeconds" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "AdvisoryCompileAccepted" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AdvisoryCompileDropped" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisoryCompileRuns" 'PrefixI 'False) (U1 :: Type -> Type)))))))
Show MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

Eq MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

Ord MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

Universe MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

Methods

universe :: [MetricName] #

type Rep MetricName Source # 
Instance details

Defined in Ecluse.Core.Telemetry.Catalogue

type Rep MetricName = D1 ('MetaData "MetricName" "Ecluse.Core.Telemetry.Catalogue" "ecluse-0.4.0-inplace-ecluse-core" 'False) (((((C1 ('MetaCons "HttpServerRequestDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServeDecision" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RuleDenials" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "RuleEvalDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "RuleEffectfulFailures" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "RuleBreakerState" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ServeAdmissionInFlight" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServeAdmissionQueued" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MemoryAdmissionBudgetBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionChargedBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionBrakeLevel" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MemoryAdmissionWaiting" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionPausedNow" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionQueued" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "MemoryAdmissionShed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MemoryAdmissionPauses" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MemoryAdmissionOverdraws" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "PublishBodyInFlightBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PublishBodyShed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MergeDivergence" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "UpstreamFetchDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "UpstreamFetchErrors" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MetadataCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type)))))) :+: ((((C1 ('MetaCons "SingleVersionCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AssembledCacheRequests" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "MetadataCacheRefused" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MetadataCacheEntries" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MetadataCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "SingleVersionCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AssembledCacheResidentBytes" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ServePerimeterFaults" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "ServeRelayAnomalies" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MirrorEnqueued" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MirrorEnqueueFailures" 'PrefixI 'False) (U1 :: Type -> Type))))) :+: (((C1 ('MetaCons "MirrorJobsProcessed" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "MirrorPublishDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "DredgerVersions" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "CredentialRefresh" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "CredentialTokenTtlSeconds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisorySyncAttempts" 'PrefixI 'False) (U1 :: Type -> Type)))) :+: ((C1 ('MetaCons "AdvisorySyncDuration" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AdvisoryDatabaseAgeSeconds" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisorySourceAgeSeconds" 'PrefixI 'False) (U1 :: Type -> Type))) :+: (C1 ('MetaCons "AdvisoryCompileAccepted" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "AdvisoryCompileDropped" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "AdvisoryCompileRuns" 'PrefixI 'False) (U1 :: Type -> Type)))))))

metricName :: MetricName -> Text Source #

The wire name of a MetricName.