Skip to content

Add ate.actors gauge #796

Description

#433 shipped everything, except ate.actors, opening this one so we can chat about the design and it doesn't get lost.

Now we can now see pool saturation, lifecycle latency, scheduling outcomes and cold start phases, but nothing says how many actors exist and what state they're in.

Original idea for ate.actors was an observable updowncounter labelled by status and template. Both bounded, so it's fine cardinality-wise.

The problem is that a metric callback runs on every collection interval, and a scan across ~1B actors every interval isn't something we can (or at least should) do. So we need something cheaper, e.g. a store maintained counters incremented on status transitions, or a separate actor index. That's more like a store design question and I'd rather discuss it first.

One related thing is addressing the new ate.actor.crashes metric that counts crashes as they happen. This would count actors that are in CRASHED right now. Both are useful, but we should say which is which so operators are aware.

cc Jeff Luo (@JeffLuoo) Max Smythe (@maxsmythe) Julian Gutierrez Oschmann (@juli4n) Eitan Yarmush (@EItanya) Da Huang (@git286)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions