Commit 69419f61 authored by Lakshman Annadorai's avatar Lakshman Annadorai Committed by Commit Bot

Update UMA protos from server side versions.

Bug: 755630
Change-Id: Ia5940e7be3821200a38a2405c2676ef37326bcf7
Reviewed-on: https://chromium-review.googlesource.com/1199485Reviewed-by: default avatarSteven Holte <holte@chromium.org>
Reviewed-by: default avatarAlexei Svitkine <asvitkine@chromium.org>
Reviewed-by: default avatarMike Wittman <wittman@chromium.org>
Commit-Queue: Lakshman Annadorai <lakshmana@chromium.org>
Cr-Commit-Position: refs/heads/master@{#588165}
parent 9e33ebd7
Name: Metrics Protos Name: Metrics Protos
Short Name: metrics_proto Short Name: metrics_proto
URL: This is the canonical public repository URL: This is the canonical public repository
Version: 210962504 Version: 211099349
Date: 2018/08/30 UTC Date: 2018/08/31 UTC
License: BSD License: BSD
Security Critical: Yes Security Critical: Yes
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
syntax = "proto2"; syntax = "proto2";
option optimize_for = LITE_RUNTIME; option optimize_for = LITE_RUNTIME;
option java_outer_classname = "PerfDataProtos"; option java_outer_classname = "PerfDataProtos";
option java_package = "org.chromium.components.metrics"; option java_package = "org.chromium.components.metrics";
...@@ -17,20 +18,19 @@ package metrics; ...@@ -17,20 +18,19 @@ package metrics;
// Please do not modify this protobuf directly, except to mirror the upstream // Please do not modify this protobuf directly, except to mirror the upstream
// version found here: // version found here:
// https://chromium.googlesource.com/chromiumos/platform/chromiumos-wide-profiling/+/master/perf_data.proto // https://github.com/google/perf_data_converter/blob/master/src/quipper/perf_data.proto
// with some fields omitted for privacy reasons. Because it is a read-only copy // with some fields omitted for privacy reasons. Because it is a read-only copy
// of the upstream protobuf, "Next tag:" comments are also absent. // of the upstream protobuf, "Next tag:" comments are also absent.
message PerfDataProto { message PerfDataProto {
// Perf event attribute. Stores the event description. // Perf event attribute. Stores the event description.
// This data structure is defined in the linux kernel: // This data structure is defined in the linux kernel:
// $kernel/tools/perf/util/event.h. // $kernel/include/uapi/linux/perf_event.h.
message PerfEventAttr { message PerfEventAttr {
// Type of the event. Type is an enumeration and can be: // Type of the event. Type is an enumeration and can be one of the values
// IP: an instruction-pointer was stored in the event. // described at: $kernel/include/linux/perf_event.h.
// MMAP: a DLL was loaded. // Example types are:
// FORK: a process was forked. // PERF_TYPE_HARDWARE
// etc. // PERF_TYPE_SOFTWARE, etc.
optional uint32 type = 1; optional uint32 type = 1;
// Size of the event data in bytes. // Size of the event data in bytes.
...@@ -151,6 +151,20 @@ message PerfDataProto { ...@@ -151,6 +151,20 @@ message PerfDataProto {
repeated uint64 ids = 2; repeated uint64 ids = 2;
} }
// Protobuf version of the perf_event_type struct found in perf/util/event.h.
// Contains the name of the event (such as "cycles" or "branch-misses") and
// the event id (which is not unique).
message PerfEventType {
// Event id. This is not unique across event types.
// The combination of the event id and the type field in PerfEventAttr is
// unique across event types.
optional uint64 id = 1;
// Event name's md5 prefix.
// The event name string was field 2 and has been intentionally left out.
optional uint64 name_md5_prefix = 3;
}
// This message contains information about a perf sample itself, as opposed to // This message contains information about a perf sample itself, as opposed to
// a perf event captured by a sample. // a perf event captured by a sample.
message SampleInfo { message SampleInfo {
...@@ -354,7 +368,7 @@ message PerfDataProto { ...@@ -354,7 +368,7 @@ message PerfDataProto {
// Build id. Should always contain kBuildIDArraySize bytes of data. // Build id. Should always contain kBuildIDArraySize bytes of data.
// perf_reader.h in Chrome OS defines kBuildIDArraySize = 20. // perf_reader.h in Chrome OS defines kBuildIDArraySize = 20.
optional bytes build_hash = 3; optional bytes build_id_hash = 3;
// Filename Md5sum prefix. // Filename Md5sum prefix.
// The filename was field 4 and has been intentionally left out. // The filename was field 4 and has been intentionally left out.
...@@ -364,6 +378,8 @@ message PerfDataProto { ...@@ -364,6 +378,8 @@ message PerfDataProto {
repeated PerfFileAttr file_attrs = 1; repeated PerfFileAttr file_attrs = 1;
repeated PerfEvent events = 2; repeated PerfEvent events = 2;
repeated PerfEventType event_types = 10;
// Time when quipper generated this perf data / protobuf, given as seconds // Time when quipper generated this perf data / protobuf, given as seconds
// since the epoch. // since the epoch.
optional uint64 timestamp_sec = 3; optional uint64 timestamp_sec = 3;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment