Scrypath.Operator.ReasonClassCounts (scrypath v0.3.5)

Copy Markdown View Source

Dense per-class counts for failed sync work rows.

by_class always includes exactly these keys, in this order when encoded to JSON: :transport, :validation, :backend_rejected, :queue_exhausted, :unknown. Each value is a non-negative integer.

When rollups are computed over a filtered row list, total reflects that list only — do not compare it to an unfiltered source length without recomputing counts on the same list you display.

Summary

Types

Rollup map keyed by every FailedWork.reason_class/0 atom.

t()

Types

by_class()

@type by_class() :: %{
  transport: non_neg_integer(),
  validation: non_neg_integer(),
  backend_rejected: non_neg_integer(),
  queue_exhausted: non_neg_integer(),
  unknown: non_neg_integer()
}

Rollup map keyed by every FailedWork.reason_class/0 atom.

t()

@type t() :: %Scrypath.Operator.ReasonClassCounts{
  by_class: by_class(),
  total: non_neg_integer(),
  version: pos_integer()
}