["suite"],
)
+TaskTime = Summary(
+ "teuthology_task_duration_seconds",
+ "Time spent executing a task",
+ ["name", "phase"],
+)
+
def main(args):
exporter = TeuthologyExporter(interval=int(args["--interval"]))
from humanfriendly import format_timespan
import sentry_sdk
+import teuthology.exporter as exporter
+
from teuthology.config import config as teuth_config
from teuthology.exceptions import ConnectionLostError
from teuthology.job_status import set_status, get_status
manager = run_one_task(taskname, ctx=ctx, config=config)
if hasattr(manager, '__enter__'):
stack.append((taskname, manager))
- manager.__enter__()
+ with exporter.TaskTime.labels(taskname, "enter").time():
+ manager.__enter__()
except BaseException as e:
if isinstance(e, ConnectionLostError):
# Prevent connection issues being flagged as failures
log.debug('Unwinding manager %s', taskname)
timer.mark('%s exit' % taskname)
try:
- suppress = manager.__exit__(*exc_info)
+ with exporter.TaskTime.labels(taskname, "exit").time():
+ suppress = manager.__exit__(*exc_info)
except Exception as e:
if isinstance(e, ConnectionLostError):
# Prevent connection issues being flagged as failures