blob: e4e9e5070a1c1eae8797bab0995780a2a4f69c58 [file] [log] [blame]
syntax = "proto2";
import "proto/main/date.proto";
option java_package = "com.android.tools.idea.serverflags.protos";
option java_multiple_files = true;
// Represents a filter condition for matching exceptions
message ExceptionFilter {
repeated string frame_patterns =
1; // Match exceptions with stack frames
// containing all the specified constant strings
optional string signature =
2; // Match exceptions with the specified signature
optional string exception_type =
3; // Match exceptions with the specified exception type
}
// Enum indicating severity level of an exception in the error log
enum ExceptionSeverity {
UNKNOWN_EXCEPTION_SEVERITY = 0;
TRACE = 1;
DEBUG = 2;
INFO = 3;
WARNING = 4;
ERROR = 5;
}
// Represents a single filter condition for a message from the idea log
message MessageFilter {
optional ExceptionSeverity severity = 1; // min level of severity to collect
optional string logger_category =
2; // filter condition for which messages to collect
}
// Indicates which entries from the idea log should be gathered
message LogFilter {
optional int32 max_message_count =
1; // maximum number of messages to collect
repeated MessageFilter message_filter =
2; // filter condition for which messages to collect
}
// Indicates what action should be taken for a given exception
message ExceptionAction {
optional bool include_exception_message = 1; // include the exception message
optional bool include_full_stack =
2; // include the full stack trace of the exception
optional LogFilter log_filter =
3; // specifies which idea log entries should be included
optional bool requires_confirmation = 4; // prompt user before enabling
optional bool send_original =
5; // Upload original report in addition to user-sent one.
// May result in double reporting of the same error.
}
// Configuration for actions to take when encountering an exception that matches
// the specified filter conditions
message ExceptionConfiguration {
optional Date expiration_date = 1; // expiry date for this configuration
optional ExceptionFilter exception_filter =
2; // matching criteria for this configuration
optional ExceptionAction action = 3; // action to take
}