Interface IMailboxReadTelemetry
- Namespace
- MailFathom.Application.Observability
- Assembly
- MailFathom.Application.dll
Publishes one read of the local mailbox copy as the operation somebody asked for.
public interface IMailboxReadTelemetry
Remarks
A protocol call and the database commands it issues are both instrumented by libraries, and neither says which use case ran between them. That is the gap this port closes: a read reported here sits inside the span the protocol boundary already produces and parents the persistence and content-store work it causes, so a slow tool call is attributable to a use case, and the use case's own cost is separable from the queries beneath it.
A port rather than a call into a tracing API, because starting a span is infrastructure: the application states that a read began, what it returned, and that it is over, and an adapter decides which registry that reaches. It is also what keeps the signal's privacy rule in one place, since nothing above the adapter can attach a tag to it — a read reports counts and nothing about what was asked for or found.
Methods
- BeginRead(MailboxReadOperation, CancellationToken)
Opens the report of one read, and publishes it when the returned scope is disposed.