mirror of
https://github.com/wassname/ray.git
synced 2026-06-29 03:54:16 +08:00
908c0c630a
Co-authored-by: Richard Liaw <rliaw@berkeley.edu>
29 lines
757 B
Python
29 lines
757 B
Python
import datetime
|
|
import logging
|
|
|
|
from ray.autoscaler.cli_logger import cli_logger
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class LogTimer:
|
|
def __init__(self, message, show_status=False):
|
|
self._message = message
|
|
self._show_status = show_status
|
|
|
|
def __enter__(self):
|
|
self._start_time = datetime.datetime.utcnow()
|
|
|
|
def __exit__(self, *error_vals):
|
|
if not cli_logger.old_style:
|
|
return
|
|
|
|
td = datetime.datetime.utcnow() - self._start_time
|
|
status = ""
|
|
if self._show_status:
|
|
status = "failed" if any(error_vals) else "succeeded"
|
|
logger.info(" ".join([
|
|
self._message, status,
|
|
"[LogTimer={:.0f}ms]".format(td.total_seconds() * 1000)
|
|
]))
|