mirror of
https://github.com/wassname/ray.git
synced 2026-06-30 12:38:39 +08:00
315edab085
- NodeUpdater gets its' IP in parallel now (no longer in __init__) - We use persistent connections in SSH (temp folder created only for ray; ControlMaster) - hash_runtime_conf was performing a pointless hexlify step, wasting time on large files - We use NodeUpdaterThreads and share the NodeProvider; NodeUpdaterProcess is removed - AWSNodeProvider caches nodes more aggressively - NodeProvider now has a shim batch terminate_nodes() call; AWSNodeProvider parallelises it; the autoscaler uses it - AWSNodeProvider batches EC2 update_tags calls - Logging changes throughout to provide standardised timing information for profiling - Pulled out a few unnecessary is_running calls (NodeUpdater will loop waiting for SSH anyway) ## Related issue number Issue #3599
22 lines
546 B
Python
22 lines
546 B
Python
from __future__ import absolute_import
|
|
from __future__ import division
|
|
from __future__ import print_function
|
|
|
|
import datetime
|
|
import logging
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class LogTimer():
|
|
def __init__(self, message):
|
|
self._message = message
|
|
|
|
def __enter__(self):
|
|
self._start_time = datetime.datetime.utcnow()
|
|
|
|
def __exit__(self, *_):
|
|
td = datetime.datetime.utcnow() - self._start_time
|
|
logger.info(self._message +
|
|
" [LogTimer={:.0f}ms]".format(td.total_seconds() * 1000))
|