stormlog.infer.server_group

Declared groups of server processes, such as tensor-parallel GPU workers.

Each collector in a group passes the same --group-id and --world-size and its own --rank. Membership is declared, never inferred: an identity without the group ID, a second identity for one rank (a restarted worker or a changed GPU), or a missing rank keeps the join from happening.

Functions

members(samples)

Group samples by identity, ordered by rank for a declared group.

membership_issue(samples)

Return why the samples are neither one server nor one complete group.

stormlog.infer.server_group.membership_issue(samples)[source]

Return why the samples are neither one server nor one complete group.

Parameters:

samples (Iterable[TelemetrySample])

Return type:

str | None

stormlog.infer.server_group.members(samples)[source]

Group samples by identity, ordered by rank for a declared group.

Parameters:

samples (Iterable[TelemetrySample])

Return type:

dict[ServerIdentity, list[TelemetrySample]]