Skip to content

ProgramCallsPerSecond metric

Bases: ProgramOperationalMetric

Throughput: program invocations per wall-clock second.

Example:

program.compile(
    metrics=[
        synalinks.metrics.ProgramCallsPerSecond(),
    ],
)
Source code in synalinks/src/metrics/program_metrics.py
@synalinks_export("synalinks.metrics.ProgramCallsPerSecond")
class ProgramCallsPerSecond(ProgramOperationalMetric):
    """Throughput: program invocations per wall-clock second.

    Example:

    ```python
    program.compile(
        metrics=[
            synalinks.metrics.ProgramCallsPerSecond(),
        ],
    )
    ```
    """

    def __init__(self, name="program_calls_per_second"):
        super().__init__(name=name)

    def result(self):
        elapsed = self._delta_program("invocation_elapsed_s")
        if elapsed <= 0.0:
            return 0.0
        return self._delta_program("invocations") / elapsed