stormlog.infer.samplers

Best-effort system telemetry samplers for inference profiling.

Functions

build_system_sampler(name)

Build a system sampler by name.

Classes

NoopSampler()

Sampler used for remote endpoints or unsupported systems.

NvidiaSmiSampler(*[, device_id])

Sample NVIDIA device memory and utilization through nvidia-smi.

ProcessSampler()

Sample the current Stormlog process RSS.

SystemSampler(*args, **kwargs)

System telemetry sampler contract.

class stormlog.infer.samplers.SystemSampler(*args, **kwargs)[source]

Bases: Protocol

System telemetry sampler contract.

name: str
sample(*, session_id)[source]

Return one telemetry sample, or None when unavailable.

Parameters:

session_id (str)

Return type:

InferenceSystemSample | None

class stormlog.infer.samplers.NoopSampler[source]

Bases: object

Sampler used for remote endpoints or unsupported systems.

name = 'noop'
sample(*, session_id)[source]
Parameters:

session_id (str)

Return type:

InferenceSystemSample | None

class stormlog.infer.samplers.ProcessSampler[source]

Bases: object

Sample the current Stormlog process RSS.

name = 'psutil'
sample(*, session_id)[source]
Parameters:

session_id (str)

Return type:

InferenceSystemSample | None

class stormlog.infer.samplers.NvidiaSmiSampler(*, device_id=0)[source]

Bases: object

Sample NVIDIA device memory and utilization through nvidia-smi.

Parameters:

device_id (int)

name = 'nvidia-smi'
sample(*, session_id)[source]
Parameters:

session_id (str)

Return type:

InferenceSystemSample | None

stormlog.infer.samplers.build_system_sampler(name)[source]

Build a system sampler by name.

Parameters:

name (str)

Return type:

SystemSampler