diff --git a/.pyre_configuration b/.pyre_configuration index 564910f02..751a3f2e0 100644 --- a/.pyre_configuration +++ b/.pyre_configuration @@ -8,7 +8,6 @@ ], "site_package_search_strategy": "all", "source_directories": [ - "typestubs", "." ], "strict": true, diff --git a/torchx/runner/events/__init__.py b/torchx/runner/events/__init__.py index 1785e1ba3..fbad9d057 100644 --- a/torchx/runner/events/__init__.py +++ b/torchx/runner/events/__init__.py @@ -59,16 +59,6 @@ def _get_or_create_logger(destination: str = "null") -> logging.Logger: def record(event: TorchxEvent, destination: str = "null") -> None: _get_or_create_logger(destination).info(event.serialize()) - if destination != "console": - # if using torch>1.11 log the event to torch.monitor - try: - from torch import monitor - - # pyre-fixme[16]: Module `monitor` has no attribute `log_event`. - monitor.log_event(event.to_monitor_event()) - except ImportError: - pass - class log_event: """ diff --git a/torchx/runner/events/api.py b/torchx/runner/events/api.py index d5f36b3d9..81a18b170 100644 --- a/torchx/runner/events/api.py +++ b/torchx/runner/events/api.py @@ -7,12 +7,8 @@ import json from dataclasses import asdict, dataclass -from datetime import datetime from enum import Enum -from typing import Optional, TYPE_CHECKING, Union - -if TYPE_CHECKING: - from torch import monitor +from typing import Optional, Union class SourceType(str, Enum): @@ -64,14 +60,3 @@ def deserialize(data: Union[str, "TorchxEvent"]) -> "TorchxEvent": def serialize(self) -> str: return json.dumps(asdict(self)) - - # pyre-fixme[11]: Annotation `Event` is not defined as a type. - def to_monitor_event(self) -> "monitor.Event": - from torch import monitor - - # pyre-fixme[16]: Module `monitor` has no attribute `Event`. - return monitor.Event( - name="torch.runner.Event", - timestamp=datetime.now(), - data={k: v for k, v in self.__dict__.items() if v is not None}, - ) diff --git a/torchx/runner/events/test/lib_test.py b/torchx/runner/events/test/lib_test.py index eaa0afef5..13bb3ff4b 100644 --- a/torchx/runner/events/test/lib_test.py +++ b/torchx/runner/events/test/lib_test.py @@ -8,24 +8,15 @@ import json import logging import unittest -from typing import List from unittest.mock import MagicMock, patch from torchx.runner.events import ( _get_or_create_logger, log_event, - record, SourceType, TorchxEvent, ) -try: - from torch import monitor - - SKIP_MONITOR: bool = False -except ImportError: - SKIP_MONITOR: bool = True - class TorchxEventLibTest(unittest.TestCase): def assert_event( @@ -66,55 +57,6 @@ def test_event_deser(self) -> None: deser_event = TorchxEvent.deserialize(json_event) self.assert_event(event, deser_event) - @unittest.skipIf(SKIP_MONITOR, "no torch.monitor available") - def test_monitor(self) -> None: - event = TorchxEvent( - session="test_session", - scheduler="test_scheduler", - api="test_api", - source=SourceType.EXTERNAL, - ) - monitor_event = event.to_monitor_event() - self.assertEqual( - monitor_event.data, - { - "session": "test_session", - "scheduler": "test_scheduler", - "api": "test_api", - "source": "EXTERNAL", - }, - ) - self.assertEqual(monitor_event.name, "torch.runner.Event") - - @unittest.skipIf(SKIP_MONITOR, "no torch.monitor available") - @patch("torchx.runner.events._get_or_create_logger") - def test_monitor_record(self, get_logging_handler: MagicMock) -> None: - event = TorchxEvent( - session="test_session", - scheduler="test_scheduler", - api="test_api", - source=SourceType.EXTERNAL, - ) - # pyre-fixme[11]: Annotation `Event` is not defined as a type. - events: List[monitor.Event] = [] - - def handler(e: monitor.Event) -> None: - events.append(e) - - # pyre-fixme[16]: Module `monitor` has no attribute `register_event_handler`. - handle = monitor.register_event_handler(handler) - - try: - record(event) - finally: - # pyre-fixme[16]: Module `monitor` has no attribute - # `unregister_event_handler`. - monitor.unregister_event_handler(handle) - - self.assertEqual(get_logging_handler.call_count, 1) - self.assertEqual(len(events), 1) - self.assertEqual(events[0].data["session"], "test_session") - @patch("torchx.runner.events.record") class LogEventTest(unittest.TestCase):