Loading tools/edit_monitor/edit_monitor.py +8 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): path: str, flush_interval_sec: int, single_events_size_threshold: int, is_dry_run: bool = False, cclient: clearcut_client.Clearcut | None = None, ): Loading @@ -50,6 +51,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): self.root_monitoring_path = path self.flush_interval_sec = flush_interval_sec self.single_events_size_threshold = single_events_size_threshold self.is_dry_run = is_dry_run self.cclient = cclient or clearcut_client.Clearcut(LOG_SOURCE) self.user_name = getpass.getuser() Loading Loading @@ -164,6 +166,10 @@ class ClearcutEventHandler(PatternMatchingEventHandler): ) edit_events = [(aggregated_event_proto, aggregated_event_time)] if self.is_dry_run: logging.info("Sent %d edit events in dry run.", len(edit_events)) return for event_proto, event_time in edit_events: log_event = clientanalytics_pb2.LogEvent( event_time_ms=int(event_time * 1000), Loading @@ -176,6 +182,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): def start( path: str, is_dry_run: bool = False, flush_interval_sec: int = DEFAULT_FLUSH_INTERVAL_SECONDS, single_events_size_threshold: int = DEFAULT_SINGLE_EVENTS_SIZE_THRESHOLD, cclient: clearcut_client.Clearcut | None = None, Loading @@ -192,7 +199,7 @@ def start( conn: the sender of the pipe to communicate with the deamon manager. """ event_handler = ClearcutEventHandler( path, flush_interval_sec, single_events_size_threshold, cclient) path, flush_interval_sec, single_events_size_threshold, is_dry_run, cclient) observer = Observer() logging.info("Starting observer on path %s.", path) Loading tools/edit_monitor/edit_monitor_test.py +1 −1 Original line number Diff line number Diff line Loading @@ -253,7 +253,7 @@ class EditMonitorTest(unittest.TestCase): # Start edit monitor in a subprocess. p = multiprocessing.Process( target=edit_monitor.start, args=(str(self.root_monitoring_path.resolve()), 0.5, 5, cclient, sender), args=(str(self.root_monitoring_path.resolve()), False, 0.5, 5, cclient, sender), ) p.daemon = True p.start() Loading tools/edit_monitor/main.py +10 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,12 @@ def create_arg_parser(): help='Root path to monitor the edit events.', ) parser.add_argument( '--dry_run', action='store_true', help='Dry run the edit monitor. This starts the edit monitor process without actually send the edit logs to clearcut.', ) parser.add_argument( '--force_cleanup', action='store_true', Loading Loading @@ -76,11 +82,14 @@ def term_signal_handler(_signal_number, _frame): def main(argv: list[str]): args = create_arg_parser().parse_args(argv[1:]) if args.dry_run: logging.info('This is a dry run.') dm = daemon_manager.DaemonManager( binary_path=argv[0], daemon_target=edit_monitor.start, daemon_args=(args.path,), daemon_args=(args.path, args.dry_run), ) if args.force_cleanup: dm.cleanup() Loading Loading
tools/edit_monitor/edit_monitor.py +8 −1 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): path: str, flush_interval_sec: int, single_events_size_threshold: int, is_dry_run: bool = False, cclient: clearcut_client.Clearcut | None = None, ): Loading @@ -50,6 +51,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): self.root_monitoring_path = path self.flush_interval_sec = flush_interval_sec self.single_events_size_threshold = single_events_size_threshold self.is_dry_run = is_dry_run self.cclient = cclient or clearcut_client.Clearcut(LOG_SOURCE) self.user_name = getpass.getuser() Loading Loading @@ -164,6 +166,10 @@ class ClearcutEventHandler(PatternMatchingEventHandler): ) edit_events = [(aggregated_event_proto, aggregated_event_time)] if self.is_dry_run: logging.info("Sent %d edit events in dry run.", len(edit_events)) return for event_proto, event_time in edit_events: log_event = clientanalytics_pb2.LogEvent( event_time_ms=int(event_time * 1000), Loading @@ -176,6 +182,7 @@ class ClearcutEventHandler(PatternMatchingEventHandler): def start( path: str, is_dry_run: bool = False, flush_interval_sec: int = DEFAULT_FLUSH_INTERVAL_SECONDS, single_events_size_threshold: int = DEFAULT_SINGLE_EVENTS_SIZE_THRESHOLD, cclient: clearcut_client.Clearcut | None = None, Loading @@ -192,7 +199,7 @@ def start( conn: the sender of the pipe to communicate with the deamon manager. """ event_handler = ClearcutEventHandler( path, flush_interval_sec, single_events_size_threshold, cclient) path, flush_interval_sec, single_events_size_threshold, is_dry_run, cclient) observer = Observer() logging.info("Starting observer on path %s.", path) Loading
tools/edit_monitor/edit_monitor_test.py +1 −1 Original line number Diff line number Diff line Loading @@ -253,7 +253,7 @@ class EditMonitorTest(unittest.TestCase): # Start edit monitor in a subprocess. p = multiprocessing.Process( target=edit_monitor.start, args=(str(self.root_monitoring_path.resolve()), 0.5, 5, cclient, sender), args=(str(self.root_monitoring_path.resolve()), False, 0.5, 5, cclient, sender), ) p.daemon = True p.start() Loading
tools/edit_monitor/main.py +10 −1 Original line number Diff line number Diff line Loading @@ -41,6 +41,12 @@ def create_arg_parser(): help='Root path to monitor the edit events.', ) parser.add_argument( '--dry_run', action='store_true', help='Dry run the edit monitor. This starts the edit monitor process without actually send the edit logs to clearcut.', ) parser.add_argument( '--force_cleanup', action='store_true', Loading Loading @@ -76,11 +82,14 @@ def term_signal_handler(_signal_number, _frame): def main(argv: list[str]): args = create_arg_parser().parse_args(argv[1:]) if args.dry_run: logging.info('This is a dry run.') dm = daemon_manager.DaemonManager( binary_path=argv[0], daemon_target=edit_monitor.start, daemon_args=(args.path,), daemon_args=(args.path, args.dry_run), ) if args.force_cleanup: dm.cleanup() Loading