Define the atom protos for
UpdateEngineUpdateAttemptReported
UpdateEngineSuccessfulUpdateReported
The fields for both atoms are copied from the already reported Tron
counters, except for the source fingerprint. By defining our own proto,
we can have a better insight about each update events. It also makes the
query easier without the server side work to correlate each counters.
Sample output from testdrive shows:
data {
elapsed_timestamp_nanos: 64932607816092
atom {
update_engine_update_attempt_reported {
attempt_number: 1
payload_type: FULL
duration_boottime_in_minutes: 0
duration_monotonic_in_minutes: 0
payload_size_mib: 510
attempt_result: METADATA_VERIFICATION_FAILED
error_code: DOWNLOAD_METADATA_SIGNATURE_MISMATCH
fingerprint: "google/walleye/walleye:R/MASTER/eng.xuncha.20190731.151212:userdebug/dev-keys"
}
}
}
Bug: 138253582
Bug: 137682371
Test: run statsd_testdrive and check events
Change-Id: Ic502acc8831fe4da0b32a826171d10e9c0f9876d
Conventions for the protos in this directory:
-
As in the rest of Android, use 4 spaces to indent instead of 2.
-
For protos based on Java files, use the same package as the Java file. For example,
com.android.server.thinginstead ofcom.android.server.thing.proto. -
If the proto describes the top level output of dumpsys, it should contain
Dump. This makes it easy to understand that the proto is the dumpsys output of a certain service, not the data structure of that service, e.g.WindowManagerServiceDumpProtovsWindowManagerServiceProto.- Inner messages whose containing messages have the
Protosuffix do not need to have aProtosuffix. E.g:
- Inner messages whose containing messages have the
message FooProto {
message Bar {
...
}
}
vs
message FooProto {
message BarProto {
...
}
}
-
If the proto represents the structure of an object, it should have
Protoas its suffix. Please also include the full package path of the original object as a comment to the proto message. -
Include units in the field names. For example,
screen_time_msvsscreen_time, orfile_size_bytesorfile_size_mebibytesvsfile_size. -
Leave field numbers 50,000 - 100,000 reserved for OEMs.