runtimepy.metrics package#

Submodules#

runtimepy.metrics.channel module#

A module implementing a channel-metrics interface.

class runtimepy.metrics.channel.ChannelMetrics[source]#

Bases: object

Metrics for a network channel.

increment(count: int, time_ns: int = None) None[source]#

Update tracking.

poll(time_ns: int = None) None[source]#

Poll kbps tracking.

reset() None[source]#

Reset metrics.

update(other: ChannelMetrics) None[source]#

Update values in this instance from values in another instance.

runtimepy.metrics.connection module#

A module implementing a connection-metrics interface.

class runtimepy.metrics.connection.ConnectionMetrics[source]#

Bases: object

Metrics for a network connection.

poll(time_ns: int = None) None[source]#

Poll channels.

reset() None[source]#

Reset metrics.

update(other: ConnectionMetrics) None[source]#

Update values in this instance from values in another instance.

runtimepy.metrics.task module#

A module implementing a periodic-task metrics interface.

class runtimepy.metrics.task.PeriodicTaskMetrics(dispatches: Uint32Primitive, rate_hz: FloatPrimitive, average_s: FloatPrimitive, max_s: FloatPrimitive, min_s: FloatPrimitive, overruns: Uint16Primitive)[source]#

Bases: NamedTuple

Metrics for a periodic tasks.

average_s: FloatPrimitive#

Alias for field number 2

static create(time_source: ~typing.Callable[[], int] = <function metrics_time_ns>) PeriodicTaskMetrics[source]#

Create a new metrics instance.

dispatches: Uint32Primitive#

Alias for field number 0

max_s: FloatPrimitive#

Alias for field number 3

measure(rate: RateTracker, dispatch: MovingAverage, iter_time: DoublePrimitive, period_s: float) Iterator[None][source]#

Measure the time spent yielding and update data.

min_s: FloatPrimitive#

Alias for field number 4

overruns: Uint16Primitive#

Alias for field number 5

rate_hz: FloatPrimitive#

Alias for field number 1

Module contents#

A module defining common metrics interfaces.

class runtimepy.metrics.ChannelMetrics[source]#

Bases: object

Metrics for a network channel.

increment(count: int, time_ns: int = None) None[source]#

Update tracking.

poll(time_ns: int = None) None[source]#

Poll kbps tracking.

reset() None[source]#

Reset metrics.

update(other: ChannelMetrics) None[source]#

Update values in this instance from values in another instance.

class runtimepy.metrics.ConnectionMetrics[source]#

Bases: object

Metrics for a network connection.

poll(time_ns: int = None) None[source]#

Poll channels.

reset() None[source]#

Reset metrics.

update(other: ConnectionMetrics) None[source]#

Update values in this instance from values in another instance.

class runtimepy.metrics.PeriodicTaskMetrics(dispatches: Uint32Primitive, rate_hz: FloatPrimitive, average_s: FloatPrimitive, max_s: FloatPrimitive, min_s: FloatPrimitive, overruns: Uint16Primitive)[source]#

Bases: NamedTuple

Metrics for a periodic tasks.

average_s: FloatPrimitive#

Alias for field number 2

static create(time_source: ~typing.Callable[[], int] = <function metrics_time_ns>) PeriodicTaskMetrics[source]#

Create a new metrics instance.

dispatches: Uint32Primitive#

Alias for field number 0

max_s: FloatPrimitive#

Alias for field number 3

measure(rate: RateTracker, dispatch: MovingAverage, iter_time: DoublePrimitive, period_s: float) Iterator[None][source]#

Measure the time spent yielding and update data.

min_s: FloatPrimitive#

Alias for field number 4

overruns: Uint16Primitive#

Alias for field number 5

rate_hz: FloatPrimitive#

Alias for field number 1