Bases: ProgramOperationalMetric
Average provider cost per program invocation.
Example:
program.compile(
metrics=[
synalinks.metrics.ProgramAvgCostPerInvocation(),
],
)
Source code in synalinks/src/metrics/program_metrics.py
| @synalinks_export("synalinks.metrics.ProgramAvgCostPerInvocation")
class ProgramAvgCostPerInvocation(ProgramOperationalMetric):
"""Average provider cost per program invocation.
Example:
```python
program.compile(
metrics=[
synalinks.metrics.ProgramAvgCostPerInvocation(),
],
)
```
"""
def __init__(self, name="program_avg_cost_per_invocation"):
super().__init__(name=name)
def result(self):
calls = self._delta_program("invocations")
if calls <= 0:
return 0.0
return self._delta_model_cost() / calls
|