libstp.timing.tracker ===================== .. py:module:: libstp.timing.tracker Attributes ---------- .. autoapisummary:: libstp.timing.tracker.AnomalyCallback Classes ------- .. autoapisummary:: libstp.timing.tracker.StepTimingTracker Module Contents --------------- .. py:data:: AnomalyCallback .. py:class:: StepTimingTracker(config: Optional[libstp.timing.config.TimingConfig] = None) Bases: :py:obj:`libstp.class_name_logger.ClassNameLogger` Singleton tracker that persists step runtimes and reports anomalies. .. py:attribute:: config .. py:attribute:: database .. py:attribute:: anomaly_callbacks :type: List[AnomalyCallback] :value: [] .. py:method:: get_instance() -> StepTimingTracker :classmethod: Return the process-wide tracker instance used by ``Step.run_step``. .. py:method:: configure(config: libstp.timing.config.TimingConfig) -> None Replace configuration at runtime. .. py:method:: register_anomaly_callback(callback: AnomalyCallback) -> None Register an async callback to run when an anomaly is detected. .. py:method:: record_execution(signature: str, duration: float) -> None :async: Persist execution and evaluate for anomalies.