Class MailboxContentVolumeTelemetry
- Namespace
- MailFathom.Infrastructure.Observability
- Assembly
- MailFathom.Infrastructure.dll
Makes the byte volume of synchronization visible, so storage is sized from what MailFathom ingests.
public sealed class MailboxContentVolumeTelemetry
- Inheritance
-
MailboxContentVolumeTelemetry
- Inherited Members
Remarks
Counting messages answers none of the questions an operator sizing a disk asks, because one message is anywhere between a kilobyte and the configured size limit. The counters here are what a rate is read from — how much a mailbox is costing per interval — and the gauge beside them is the level that rate is filling.
Reaching a limit is counted rather than only logged, because both are conditions that persist: a run that stops for its byte budget will stop again next interval, and a deployment at its storage ceiling stays there until somebody acts. A rising count is what says the deployment has been running that way rather than that it did once.
The dimensions are the account and folder aliases MailFathom itself was configured with, and the name of the limit that was reached. All three are bounded by configuration, and none is derived from a message: no subject, no address, no remote folder path, and no UID appears here.
Constructors
- MailboxContentVolumeTelemetry(ILogger<MailboxContentVolumeTelemetry>)
Initializes the instruments a run's content volume is published through.
Methods
- Report(MailAccountId, string, MailboxContentVolume)
Publishes what one folder run moved, and records the limits it reached.