Table of Contents

Class StoredMailRederivationTelemetry

Namespace
MailFathom.Infrastructure.Observability
Assembly
MailFathom.Infrastructure.dll

Publishes one segment of a re-derivation as a span, its bounded passes beneath it, and what they re-read.

public sealed class StoredMailRederivationTelemetry : IStoredMailRederivationTelemetry
Inheritance
StoredMailRederivationTelemetry
Implements
Inherited Members

Remarks

The spans answer where a segment's time went, which is the question a walk over tens of thousands of stored messages raises and which one duration for the whole attempt cannot: a pass reads local bytes, parses them, and commits, and the three slow down for entirely different reasons.

The counters answer the question spans cannot, because it is asked across segments rather than within one — how much of the mailbox has been re-read, and how much of it nobody could parse or no longer has MIME to parse. They carry the same two dimensions the segment's span does, so a deployment refreshing two accounts can tell them apart.

Nothing here is derived from a message. The values are counts and durations, and the dimensions are the deployment's own configured aliases for a mailbox and a folder.

Constructors

StoredMailRederivationTelemetry(TimeProvider)

Initializes the instruments every pass reports through.

Methods

BeginRun(MailAccountId, MailFolderAlias?)

Opens the report of one segment of a run, and publishes it when the returned scope is disposed.