Source code for eotransform.transformers.with_performance_clock
from typing import TypeVar
from eotransform.protocol.transformer import Transformer
from eotransform.utilities.profiling import PerformanceClock
ClockedT = TypeVar("ClockedT")
ClockedU = TypeVar("ClockedU")
[docs]class WithPerformanceClock(Transformer[ClockedT, ClockedU]):
def __init__(self, wrapped: Transformer, clock: PerformanceClock):
self._wrapped = wrapped
self._clock = clock
def __call__(self, x):
with self._clock.measure():
return self._wrapped(x)