syntax = "proto3"; package tools.asuite.edit_monitor; message EditEvent { enum EditType { UNSUPPORTED_TYPE = 0; CREATE = 1; MODIFY = 2; DELETE = 3; MOVE = 4; } enum ErrorType { UNKNOWN_ERROR = 0; FAILED_TO_START_EDIT_MONITOR = 1; FAILED_TO_STOP_EDIT_MONITOR = 2; FAILED_TO_REBOOT_EDIT_MONITOR = 3; KILLED_DUE_TO_EXCEEDED_MEMORY_USAGE = 4; FORCE_CLEANUP = 5; KILLED_DUE_TO_EXCEEDED_CPU_USAGE = 6; } // Event that logs a single edit message SingleEditEvent { // Full path of the file that edited. string file_path = 1; // Type of the edit. EditType edit_type = 2; } // Event that logs aggregated info for a set of edits. message AggregatedEditEvent { int32 num_edits = 1; } // Event that logs errors happened in the edit monitor. message EditMonitorErrorEvent { ErrorType error_type = 1; } // ------------------------ // FIELDS FOR EditEvent // ------------------------ // Internal user name. string user_name = 1; // The root of Android source. string source_root = 2; // Name of the host workstation. string host_name = 3; oneof event { SingleEditEvent single_edit_event = 4; AggregatedEditEvent aggregated_edit_event = 5; EditMonitorErrorEvent edit_monitor_error_event = 6; } }