blob: 1dfc433cf0e2d13fc7a6347dc645d5ce429b090f [file] [log] [blame]
Yao Chenab273e22017-09-06 12:53:50 -07001/*
2 * Copyright (C) 2017 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
Stefan Lafoncdb1a0e2017-09-27 20:24:15 -070016
Yao Chenab273e22017-09-06 12:53:50 -070017syntax = "proto2";
18
19package android.os.statsd;
20
Yao Chenab273e22017-09-06 12:53:50 -070021option java_package = "com.android.os";
22option java_outer_classname = "StatsLog";
23
Joe Onorato62c220b2017-11-18 20:32:56 -080024import "frameworks/base/cmds/statsd/src/atoms.proto";
Yao Chenab273e22017-09-06 12:53:50 -070025
Yangster-mac20877162017-12-22 17:19:39 -080026message DimensionsValue {
27 optional int32 field = 1;
Yao Chenab273e22017-09-06 12:53:50 -070028
yro00698da2017-09-15 10:06:40 -070029 oneof value {
30 string value_str = 2;
Chenjie Yud9dfda72017-12-11 17:41:20 -080031 int32 value_int = 3;
32 int64 value_long = 4;
33 bool value_bool = 5;
34 float value_float = 6;
Yangster-mac20877162017-12-22 17:19:39 -080035 DimensionsValueTuple value_tuple = 7;
Yangster-mac9def8e32018-04-17 13:55:51 -070036 uint64 value_str_hash = 8;
Yao Chenab273e22017-09-06 12:53:50 -070037 }
Yao Chenab273e22017-09-06 12:53:50 -070038}
39
Yangster-mac20877162017-12-22 17:19:39 -080040message DimensionsValueTuple {
41 repeated DimensionsValue dimensions_value = 1;
42}
43
yro00698da2017-09-15 10:06:40 -070044message EventMetricData {
Yangster-mac330af582018-02-08 15:24:38 -080045 optional int64 elapsed_timestamp_nanos = 1;
yro00698da2017-09-15 10:06:40 -070046
Stefan Lafonae2df012017-11-14 09:17:21 -080047 optional Atom atom = 2;
Yangster-mac330af582018-02-08 15:24:38 -080048
Bookatzfe2dde82018-08-28 13:24:40 -070049 optional int64 wall_clock_timestamp_nanos = 3 [deprecated = true];
yro00698da2017-09-15 10:06:40 -070050}
51
52message CountBucketInfo {
Yangster-mac330af582018-02-08 15:24:38 -080053 optional int64 start_bucket_elapsed_nanos = 1;
yro00698da2017-09-15 10:06:40 -070054
Yangster-mac330af582018-02-08 15:24:38 -080055 optional int64 end_bucket_elapsed_nanos = 2;
yro00698da2017-09-15 10:06:40 -070056
57 optional int64 count = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -070058
59 optional int64 bucket_num = 4;
60
61 optional int64 start_bucket_elapsed_millis = 5;
62
63 optional int64 end_bucket_elapsed_millis = 6;
yro00698da2017-09-15 10:06:40 -070064}
65
66message CountMetricData {
Yangster-mac468ff042018-01-17 12:26:34 -080067 optional DimensionsValue dimensions_in_what = 1;
68
Yangster-mac16fc72f2018-01-18 13:18:01 -080069 optional DimensionsValue dimensions_in_condition = 2;
yro00698da2017-09-15 10:06:40 -070070
Yangster-mac16fc72f2018-01-18 13:18:01 -080071 repeated CountBucketInfo bucket_info = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -070072
73 repeated DimensionsValue dimension_leaf_values_in_what = 4;
74
75 repeated DimensionsValue dimension_leaf_values_in_condition = 5;
yro00698da2017-09-15 10:06:40 -070076}
77
Yao Chencaf339d2017-10-06 16:01:10 -070078message DurationBucketInfo {
Yangster-mac330af582018-02-08 15:24:38 -080079 optional int64 start_bucket_elapsed_nanos = 1;
Yao Chencaf339d2017-10-06 16:01:10 -070080
Yangster-mac330af582018-02-08 15:24:38 -080081 optional int64 end_bucket_elapsed_nanos = 2;
Yao Chencaf339d2017-10-06 16:01:10 -070082
83 optional int64 duration_nanos = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -070084
85 optional int64 bucket_num = 4;
86
87 optional int64 start_bucket_elapsed_millis = 5;
88
89 optional int64 end_bucket_elapsed_millis = 6;
Yao Chencaf339d2017-10-06 16:01:10 -070090}
91
92message DurationMetricData {
Yangster-mac468ff042018-01-17 12:26:34 -080093 optional DimensionsValue dimensions_in_what = 1;
94
Yangster-mac16fc72f2018-01-18 13:18:01 -080095 optional DimensionsValue dimensions_in_condition = 2;
Yao Chencaf339d2017-10-06 16:01:10 -070096
Yangster-mac16fc72f2018-01-18 13:18:01 -080097 repeated DurationBucketInfo bucket_info = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -070098
99 repeated DimensionsValue dimension_leaf_values_in_what = 4;
100
101 repeated DimensionsValue dimension_leaf_values_in_condition = 5;
Yao Chencaf339d2017-10-06 16:01:10 -0700102}
103
Yangsterfa28aec2017-10-30 10:29:52 -0700104message ValueBucketInfo {
Yangster-mac330af582018-02-08 15:24:38 -0800105 optional int64 start_bucket_elapsed_nanos = 1;
Yangsterfa28aec2017-10-30 10:29:52 -0700106
Yangster-mac330af582018-02-08 15:24:38 -0800107 optional int64 end_bucket_elapsed_nanos = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700108
Chenjie Yuc3f00772018-07-26 13:50:58 -0700109 optional int64 value = 3 [deprecated = true];
Chenjie Yua0f02242018-07-06 16:14:34 -0700110
Chenjie Yu32717c32018-10-20 23:54:48 -0700111 oneof single_value {
112 int64 value_long = 7 [deprecated = true];
Chenjie Yuc3f00772018-07-26 13:50:58 -0700113
Chenjie Yu32717c32018-10-20 23:54:48 -0700114 double value_double = 8 [deprecated = true];
Chenjie Yua0f02242018-07-06 16:14:34 -0700115 }
Yangster-mac9def8e32018-04-17 13:55:51 -0700116
Chenjie Yu32717c32018-10-20 23:54:48 -0700117 message Value {
118 optional int32 index = 1;
119 oneof value {
120 int64 value_long = 2;
121 double value_double = 3;
122 }
123 }
124
125 repeated Value values = 9;
126
Yangster-mac9def8e32018-04-17 13:55:51 -0700127 optional int64 bucket_num = 4;
128
129 optional int64 start_bucket_elapsed_millis = 5;
130
131 optional int64 end_bucket_elapsed_millis = 6;
Yangsterfa28aec2017-10-30 10:29:52 -0700132}
133
134message ValueMetricData {
Yangster-mac468ff042018-01-17 12:26:34 -0800135 optional DimensionsValue dimensions_in_what = 1;
136
Yangster-mac16fc72f2018-01-18 13:18:01 -0800137 optional DimensionsValue dimensions_in_condition = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700138
Yangster-mac16fc72f2018-01-18 13:18:01 -0800139 repeated ValueBucketInfo bucket_info = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -0700140
141 repeated DimensionsValue dimension_leaf_values_in_what = 4;
142
143 repeated DimensionsValue dimension_leaf_values_in_condition = 5;
Yangsterfa28aec2017-10-30 10:29:52 -0700144}
145
146message GaugeBucketInfo {
Yangster-mac15f6bbc2018-04-08 11:52:26 -0700147 optional int64 start_bucket_elapsed_nanos = 1;
Yangsterfa28aec2017-10-30 10:29:52 -0700148
Yangster-mac15f6bbc2018-04-08 11:52:26 -0700149 optional int64 end_bucket_elapsed_nanos = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700150
Yangster-mac34ea1102018-01-29 12:40:55 -0800151 repeated Atom atom = 3;
152
Yangster-mac330af582018-02-08 15:24:38 -0800153 repeated int64 elapsed_timestamp_nanos = 4;
Yangster-mac3fa5d7f2018-03-10 21:50:27 -0800154
Bookatzfe2dde82018-08-28 13:24:40 -0700155 repeated int64 wall_clock_timestamp_nanos = 5 [deprecated = true];
Yangster-mac9def8e32018-04-17 13:55:51 -0700156
157 optional int64 bucket_num = 6;
158
159 optional int64 start_bucket_elapsed_millis = 7;
160
161 optional int64 end_bucket_elapsed_millis = 8;
Yangsterfa28aec2017-10-30 10:29:52 -0700162}
163
164message GaugeMetricData {
Yangster-mac468ff042018-01-17 12:26:34 -0800165 optional DimensionsValue dimensions_in_what = 1;
166
Yangster-mac16fc72f2018-01-18 13:18:01 -0800167 optional DimensionsValue dimensions_in_condition = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700168
Yangster-mac16fc72f2018-01-18 13:18:01 -0800169 repeated GaugeBucketInfo bucket_info = 3;
Yangster-mac9def8e32018-04-17 13:55:51 -0700170
171 repeated DimensionsValue dimension_leaf_values_in_what = 4;
172
173 repeated DimensionsValue dimension_leaf_values_in_condition = 5;
Yangsterfa28aec2017-10-30 10:29:52 -0700174}
175
yro00698da2017-09-15 10:06:40 -0700176message StatsLogReport {
Yangster-mac94e197c2018-01-02 16:03:03 -0800177 optional int64 metric_id = 1;
Yao Chenab273e22017-09-06 12:53:50 -0700178
David Chen16049572018-02-01 18:27:51 -0800179 // Fields 2 and 3 are reserved.
yro00698da2017-09-15 10:06:40 -0700180
David Chen81245fd2018-04-12 14:33:37 -0700181 message SkippedBuckets {
Yangster-mac9def8e32018-04-17 13:55:51 -0700182 optional int64 start_bucket_elapsed_nanos = 1;
183 optional int64 end_bucket_elapsed_nanos = 2;
184 optional int64 start_bucket_elapsed_millis = 3;
185 optional int64 end_bucket_elapsed_millis = 4;
David Chen81245fd2018-04-12 14:33:37 -0700186 }
187
yro00698da2017-09-15 10:06:40 -0700188 message EventMetricDataWrapper {
189 repeated EventMetricData data = 1;
190 }
191 message CountMetricDataWrapper {
192 repeated CountMetricData data = 1;
193 }
Yao Chencaf339d2017-10-06 16:01:10 -0700194 message DurationMetricDataWrapper {
Yao Chen729093d2017-10-16 10:33:26 -0700195 repeated DurationMetricData data = 1;
Yao Chencaf339d2017-10-06 16:01:10 -0700196 }
Yangsterfa28aec2017-10-30 10:29:52 -0700197 message ValueMetricDataWrapper {
198 repeated ValueMetricData data = 1;
David Chen81245fd2018-04-12 14:33:37 -0700199 repeated SkippedBuckets skipped = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700200 }
Chenjie Yub3dda412017-10-24 13:41:59 -0700201
Yangsterfa28aec2017-10-30 10:29:52 -0700202 message GaugeMetricDataWrapper {
203 repeated GaugeMetricData data = 1;
David Chen81245fd2018-04-12 14:33:37 -0700204 repeated SkippedBuckets skipped = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700205 }
Chenjie Yub3dda412017-10-24 13:41:59 -0700206
yro00698da2017-09-15 10:06:40 -0700207 oneof data {
208 EventMetricDataWrapper event_metrics = 4;
209 CountMetricDataWrapper count_metrics = 5;
Yao Chencaf339d2017-10-06 16:01:10 -0700210 DurationMetricDataWrapper duration_metrics = 6;
Yangsterfa28aec2017-10-30 10:29:52 -0700211 ValueMetricDataWrapper value_metrics = 7;
212 GaugeMetricDataWrapper gauge_metrics = 8;
yro00698da2017-09-15 10:06:40 -0700213 }
Yangster-mac9def8e32018-04-17 13:55:51 -0700214
215 optional int64 time_base_elapsed_nano_seconds = 9;
216
217 optional int64 bucket_size_nano_seconds = 10;
218
219 optional DimensionsValue dimensions_path_in_what = 11;
220
221 optional DimensionsValue dimensions_path_in_condition = 12;
Yang Lub4722912018-11-15 11:02:03 -0800222
Howard Ro9440e092018-12-16 19:15:21 -0800223 // DO NOT USE field 13.
224
225 optional bool is_active = 14;
Yao Chenab273e22017-09-06 12:53:50 -0700226}
Yangsterfa28aec2017-10-30 10:29:52 -0700227
David Chenf384b902018-03-14 18:36:45 -0700228message UidMapping {
229 message PackageInfoSnapshot {
230 message PackageInfo {
231 optional string name = 1;
232
233 optional int64 version = 2;
234
235 optional int32 uid = 3;
David Chenbd125272018-04-04 19:02:50 -0700236
237 optional bool deleted = 4;
Yangster-mac9def8e32018-04-17 13:55:51 -0700238
239 optional uint64 name_hash = 5;
dwchen730403e2018-10-29 11:41:56 -0700240
241 optional string version_string = 6;
242
243 optional uint64 version_string_hash = 7;
244
245 optional string installer = 8;
246
247 optional uint64 installer_hash = 9;
David Chenf384b902018-03-14 18:36:45 -0700248 }
249 optional int64 elapsed_timestamp_nanos = 1;
250
251 repeated PackageInfo package_info = 2;
252 }
253 repeated PackageInfoSnapshot snapshots = 1;
254
255 message Change {
256 optional bool deletion = 1;
257
258 optional int64 elapsed_timestamp_nanos = 2;
259 optional string app = 3;
260 optional int32 uid = 4;
261
David Chenbd125272018-04-04 19:02:50 -0700262 optional int64 new_version = 5;
263 optional int64 prev_version = 6;
Yangster-mac9def8e32018-04-17 13:55:51 -0700264 optional uint64 app_hash = 7;
dwchen730403e2018-10-29 11:41:56 -0700265 optional string new_version_string = 8;
266 optional string prev_version_string = 9;
267 optional uint64 new_version_string_hash = 10;
268 optional uint64 prev_version_string_hash = 11;
David Chenf384b902018-03-14 18:36:45 -0700269 }
270 repeated Change changes = 2;
271}
272
Yangsterfa28aec2017-10-30 10:29:52 -0700273message ConfigMetricsReport {
yro947fbce2017-11-15 22:50:23 -0800274 repeated StatsLogReport metrics = 1;
275
276 optional UidMapping uid_map = 2;
David Chen16049572018-02-01 18:27:51 -0800277
Yangster-mac330af582018-02-08 15:24:38 -0800278 optional int64 last_report_elapsed_nanos = 3;
David Chen16049572018-02-01 18:27:51 -0800279
Yangster-mac330af582018-02-08 15:24:38 -0800280 optional int64 current_report_elapsed_nanos = 4;
Yangster-mac3fa5d7f2018-03-10 21:50:27 -0800281
282 optional int64 last_report_wall_clock_nanos = 5;
283
284 optional int64 current_report_wall_clock_nanos = 6;
David Chenfaa1af52018-03-30 15:14:04 -0700285
Yangster-mac9def8e32018-04-17 13:55:51 -0700286 message Annotation {
287 optional int64 field_int64 = 1;
288 optional int32 field_int32 = 2;
289 }
290 repeated Annotation annotation = 7;
291
Chenjie Yue36018b2018-04-16 15:18:30 -0700292 enum DumpReportReason {
293 DEVICE_SHUTDOWN = 1;
294 CONFIG_UPDATED = 2;
295 CONFIG_REMOVED = 3;
296 GET_DATA_CALLED = 4;
297 ADB_DUMP = 5;
298 CONFIG_RESET = 6;
299 STATSCOMPANION_DIED = 7;
Yangster-mac97e7d202018-10-09 11:05:39 -0700300 TERMINATION_SIGNAL_RECEIVED = 8;
Chenjie Yue36018b2018-04-16 15:18:30 -0700301 }
302 optional DumpReportReason dump_report_reason = 8;
303
Yangster-mac9def8e32018-04-17 13:55:51 -0700304 repeated string strings = 9;
yro947fbce2017-11-15 22:50:23 -0800305}
306
307message ConfigMetricsReportList {
Yangsterfa28aec2017-10-30 10:29:52 -0700308 message ConfigKey {
309 optional int32 uid = 1;
Yangster-mac94e197c2018-01-02 16:03:03 -0800310 optional int64 id = 2;
Yangsterfa28aec2017-10-30 10:29:52 -0700311 }
312 optional ConfigKey config_key = 1;
313
yro947fbce2017-11-15 22:50:23 -0800314 repeated ConfigMetricsReport reports = 2;
Chenjie Yue36018b2018-04-16 15:18:30 -0700315
316 reserved 10;
Yangster-mac932ecec2018-02-01 10:23:52 -0800317}
Yao Chen20e9e622018-02-28 11:18:51 -0800318
319message StatsdStatsReport {
320 optional int32 stats_begin_time_sec = 1;
321
322 optional int32 stats_end_time_sec = 2;
323
324 message MatcherStats {
325 optional int64 id = 1;
326 optional int32 matched_times = 2;
327 }
328
329 message ConditionStats {
330 optional int64 id = 1;
331 optional int32 max_tuple_counts = 2;
332 }
333
334 message MetricStats {
335 optional int64 id = 1;
336 optional int32 max_tuple_counts = 2;
337 }
338
339 message AlertStats {
340 optional int64 id = 1;
341 optional int32 alerted_times = 2;
342 }
343
344 message ConfigStats {
345 optional int32 uid = 1;
346 optional int64 id = 2;
347 optional int32 creation_time_sec = 3;
348 optional int32 deletion_time_sec = 4;
Yangster-macb142cc82018-03-30 15:22:08 -0700349 optional int32 reset_time_sec = 19;
Yao Chen20e9e622018-02-28 11:18:51 -0800350 optional int32 metric_count = 5;
351 optional int32 condition_count = 6;
352 optional int32 matcher_count = 7;
353 optional int32 alert_count = 8;
354 optional bool is_valid = 9;
Yao Chen20e9e622018-02-28 11:18:51 -0800355 repeated int32 broadcast_sent_time_sec = 10;
356 repeated int32 data_drop_time_sec = 11;
Chenjie Yuc3c30c02018-10-26 09:48:07 -0700357 repeated int64 data_drop_bytes = 21;
Yao Chen20e9e622018-02-28 11:18:51 -0800358 repeated int32 dump_report_time_sec = 12;
Yangster-mace68f3a52018-04-04 00:01:43 -0700359 repeated int32 dump_report_data_size = 20;
Yao Chen20e9e622018-02-28 11:18:51 -0800360 repeated MatcherStats matcher_stats = 13;
361 repeated ConditionStats condition_stats = 14;
362 repeated MetricStats metric_stats = 15;
363 repeated AlertStats alert_stats = 16;
Yangster-mac306ccc22018-03-24 15:03:40 -0700364 repeated MetricStats metric_dimension_in_condition_stats = 17;
David Chenfaa1af52018-03-30 15:14:04 -0700365 message Annotation {
366 optional int64 field_int64 = 1;
367 optional int32 field_int32 = 2;
368 }
369 repeated Annotation annotation = 18;
Tej Singh6ede28b2019-01-29 17:06:54 -0800370 repeated int32 activation_time_sec = 22;
371 repeated int32 deactivation_time_sec = 23;
Yao Chen20e9e622018-02-28 11:18:51 -0800372 }
373
374 repeated ConfigStats config_stats = 3;
375
376 message AtomStats {
377 optional int32 tag = 1;
378 optional int32 count = 2;
379 }
380
381 repeated AtomStats atom_stats = 7;
382
383 message UidMapStats {
David Chenbd125272018-04-04 19:02:50 -0700384 optional int32 changes = 1;
385 optional int32 bytes_used = 2;
386 optional int32 dropped_changes = 3;
387 optional int32 deleted_apps = 4;
Yao Chen20e9e622018-02-28 11:18:51 -0800388 }
389 optional UidMapStats uidmap_stats = 8;
390
391 message AnomalyAlarmStats {
392 optional int32 alarms_registered = 1;
393 }
394 optional AnomalyAlarmStats anomaly_alarm_stats = 9;
395
396 message PulledAtomStats {
397 optional int32 atom_id = 1;
398 optional int64 total_pull = 2;
399 optional int64 total_pull_from_cache = 3;
400 optional int64 min_pull_interval_sec = 4;
Chenjie Yu48ed1cc2018-10-31 17:36:38 -0700401 optional int64 average_pull_time_nanos = 5;
402 optional int64 max_pull_time_nanos = 6;
403 optional int64 average_pull_delay_nanos = 7;
404 optional int64 max_pull_delay_nanos = 8;
Chenjie Yuc715b9e2018-10-19 07:52:12 -0700405 optional int64 data_error = 9;
Chenjie Yu0bd73db2018-12-16 07:37:04 -0800406 optional int64 pull_timeout = 10;
407 optional int64 pull_exceed_max_delay = 11;
Misha Wagner1eee2212019-01-22 11:47:11 +0000408 optional int64 pull_failed = 12;
409 optional int64 stats_companion_pull_failed = 13;
410 optional int64 stats_companion_pull_binder_transaction_failed = 14;
411 optional int64 empty_data = 15;
Tej Singha0c89dd2019-01-25 16:39:18 -0800412 optional int64 registered_count = 16;
413 optional int64 unregistered_count = 17;
Yao Chen20e9e622018-02-28 11:18:51 -0800414 }
415 repeated PulledAtomStats pulled_atom_stats = 10;
416
Misha Wagner1eee2212019-01-22 11:47:11 +0000417 message AtomMetricStats {
418 optional int64 metric_id = 1;
419 optional int64 hard_dimension_limit_reached = 2;
420 optional int64 late_log_event_skipped = 3;
421 optional int64 skipped_forward_buckets = 4;
422 optional int64 bad_value_type = 5;
423 optional int64 condition_change_in_next_bucket = 6;
Olivier Gaillard9a5d3592019-02-05 15:12:39 +0000424 optional int64 invalidated_bucket = 7;
Olivier Gaillard320952b2019-02-06 13:57:24 +0000425 optional int64 bucket_dropped = 8;
Olivier Gaillard3ba2e932019-02-08 14:25:35 +0000426 optional int64 min_bucket_boundary_delay_ns = 9;
427 optional int64 max_bucket_boundary_delay_ns = 10;
Olivier Gaillarde63d9e02019-02-12 14:43:59 +0000428 optional int64 bucket_unknown_condition = 11;
Olivier Gaillardf248c0d2019-02-21 15:56:58 +0000429 optional int64 bucket_count = 12;
Misha Wagner1eee2212019-01-22 11:47:11 +0000430 }
431 repeated AtomMetricStats atom_metric_stats = 17;
432
Yao Chen20e9e622018-02-28 11:18:51 -0800433 message LoggerErrorStats {
434 optional int32 logger_disconnection_sec = 1;
435 optional int32 error_code = 2;
436 }
437 repeated LoggerErrorStats logger_error_stats = 11;
Yangster-macb8382a12018-04-04 10:39:12 -0700438
439 message PeriodicAlarmStats {
440 optional int32 alarms_registered = 1;
441 }
442 optional PeriodicAlarmStats periodic_alarm_stats = 12;
443
444 message SkippedLogEventStats {
445 optional int32 tag = 1;
446 optional int64 elapsed_timestamp_nanos = 2;
447 }
448 repeated SkippedLogEventStats skipped_log_event_stats = 13;
Yao Chen163d2602018-04-10 10:39:53 -0700449
450 repeated int64 log_loss_stats = 14;
Yangster-mac892f3d32018-05-02 14:16:48 -0700451
452 repeated int32 system_restart_sec = 15;
Yao Chen39b67992018-11-08 15:32:17 -0800453
454 message LogLossStats {
455 optional int32 detected_time_sec = 1;
456 optional int32 count = 2;
457 optional int32 last_error = 3;
Yao Chen49d7dd72019-03-26 14:02:11 -0700458 optional int32 last_tag = 4;
459 optional int32 uid = 5;
460 optional int32 pid = 6;
Yao Chen39b67992018-11-08 15:32:17 -0800461 }
462 repeated LogLossStats detected_log_loss = 16;
Yao Chen0f861862019-03-27 11:51:15 -0700463
464 message EventQueueOverflow {
465 optional int32 count = 1;
466 optional int64 max_queue_history_ns = 2;
467 optional int64 min_queue_history_ns = 3;
468 }
469
470 optional EventQueueOverflow queue_overflow = 18;
Yao Chen20e9e622018-02-28 11:18:51 -0800471}
Yao Chen4ce07292019-02-13 13:06:36 -0800472
473message AlertTriggerDetails {
474 message MetricValue {
475 optional int64 metric_id = 1;
476 optional DimensionsValue dimension_in_what = 2;
477 optional DimensionsValue dimension_in_condition = 3;
478 optional int64 value = 4;
479 }
480 oneof value {
481 MetricValue trigger_metric = 1;
482 EventMetricData trigger_event = 2;
483 }
484 optional UidMapping.PackageInfoSnapshot package_info = 3;
485}