Hyperlinkv0.8.0-beta.28

QueueHyperlink

QueueHyperlink.queueMetricsconstsrc/QueueHyperlink.ts:140
Schema.Struct<{
  readonly windowStart: Schema.DateTimeUtc
  readonly windowEnd: Schema.DateTimeUtc
  readonly windowMillis: Schema.Number
  readonly enqueued: Schema.Number
  readonly started: Schema.Number
  readonly completed: Schema.Number
  readonly failed: Schema.Number
  readonly retried: Schema.Number
  readonly deadLettered: Schema.Number
  readonly dropped: Schema.Number
  readonly rateLimitExceeded: Schema.Number
  readonly inFlight: Schema.Number
  readonly throughputPerSec: Schema.Number
  readonly avgWaitMillis: Schema.Struct<{
    readonly high: Schema.optionalKey<Schema.Number>
    readonly normal: Schema.optionalKey<Schema.Number>
    readonly low: Schema.optionalKey<Schema.Number>
  }>
  readonly avgExecutionMillis: Schema.optionalKey<Schema.Number>
  readonly avgTotalMillis: Schema.optionalKey<Schema.Number>
}>

Windowed queue metrics — the element of the metrics stream, emitted once per window. Counts are per-window deltas; gauges/derived values are as-of the window end. Separate from status (instantaneous) and events (discrete) because aggregates are inherently time-bucketed.

wire schemas
export const queueMetrics = Schema.Struct({
  windowStart: Schema.DateTimeUtc,
  windowEnd: Schema.DateTimeUtc,
  windowMillis: Schema.Number,
  // per-window counts
  enqueued: Schema.Number,
  started: Schema.Number,
  completed: Schema.Number,
  failed: Schema.Number,
  retried: Schema.Number,
  deadLettered: Schema.Number,
  dropped: Schema.Number,
  rateLimitExceeded: Schema.Number,
  // as-of window end
  inFlight: Schema.Number,
  throughputPerSec: Schema.Number,
  // average queue wait (enqueued → pickup) per priority — a lane is present only if it had
  // completions this window. Wait is per-priority because it depends on each lane's load.
  avgWaitMillis: Schema.Struct({
    high: Schema.optionalKey(Schema.Number),
    normal: Schema.optionalKey(Schema.Number),
    low: Schema.optionalKey(Schema.Number),
  }),
  // average worker execution (pickup → done), overall — ~priority-independent.
  avgExecutionMillis: Schema.optionalKey(Schema.Number),
  // average end-to-end (enqueued → done = wait + execution), overall.
  avgTotalMillis: Schema.optionalKey(Schema.Number),
});
Referenced by 2 symbols