public sealed class TransferMetricsWhat transfers are costing. Doc 27 § Tick rebasing's four numbers.
Remarks
⚠ A transfer that degrades is one that stops being seamless quietly, which is the whole argument for measuring it. The overlap getting longer is a content-delivery problem; the commit latency getting longer is a control-plane problem; the abort histogram growing a new tallest bar is whichever of them just broke. None of the three is visible without the numbers, because every one of them still works — it just works worse.
Fields and properties (5)
public int CommittedHow many transfers finished.
public int AbortedHow many did not.
public int PredictionResetsHow many prediction resets clients have reported.
public int AttemptedHow many were attempted.
public double SuccessRateThe fraction that finished, or one when none has been attempted.
Methods (7)
public void Record(SourceTransfer transfer)Records a transfer that finished.
public void RecordResets(int count)Records a client's report of its own reset.
public int AbortsFor(TransferAbort reason)How many transfers gave up for a reason.
public IReadOnlyList<(TransferAbort Reason, int Count)> AbortHistogram()The abort histogram, worst first — the shape doc 27 § Diagnostics asks for.
public double OverlapAt(double percentile)How long the overlap lasts at a percentile.
public double CommitLatencyAt(double percentile)How long the whole transfer takes at a percentile.
public override string ToString()Returns a string that represents the current object.
Used by (3)
- RealmTransfersVixen.Live.Realm
- TransferMetricsTestsVixen.Live.Transfer.Tests
- TransferOracleTestsVixen.Live.Realm.Tests