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
Short Name: metrics_proto
URL: This is the canonical public repository
Version: 210962504
Date: 2018/08/30 UTC
Version: 211099349
Date: 2018/08/31 UTC
License: BSD
Security Critical: Yes
......
......@@ -5,6 +5,7 @@
syntax = "proto2";
option optimize_for = LITE_RUNTIME;
option java_outer_classname = "PerfDataProtos";
option java_package = "org.chromium.components.metrics";
......@@ -17,20 +18,19 @@ package metrics;
// Please do not modify this protobuf directly, except to mirror the upstream
// 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
// of the upstream protobuf, "Next tag:" comments are also absent.
message PerfDataProto {
// Perf event attribute. Stores the event description.
// This data structure is defined in the linux kernel:
// $kernel/tools/perf/util/event.h.
// $kernel/include/uapi/linux/perf_event.h.
message PerfEventAttr {
// Type of the event. Type is an enumeration and can be:
// IP: an instruction-pointer was stored in the event.
// MMAP: a DLL was loaded.
// FORK: a process was forked.
// etc.
// Type of the event. Type is an enumeration and can be one of the values
// described at: $kernel/include/linux/perf_event.h.
// Example types are:
// PERF_TYPE_HARDWARE
// PERF_TYPE_SOFTWARE, etc.
optional uint32 type = 1;
// Size of the event data in bytes.
......@@ -151,6 +151,20 @@ message PerfDataProto {
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
// a perf event captured by a sample.
message SampleInfo {
......@@ -354,7 +368,7 @@ message PerfDataProto {
// Build id. Should always contain kBuildIDArraySize bytes of data.
// perf_reader.h in Chrome OS defines kBuildIDArraySize = 20.
optional bytes build_hash = 3;
optional bytes build_id_hash = 3;
// Filename Md5sum prefix.
// The filename was field 4 and has been intentionally left out.
......@@ -364,6 +378,8 @@ message PerfDataProto {
repeated PerfFileAttr file_attrs = 1;
repeated PerfEvent events = 2;
repeated PerfEventType event_types = 10;
// Time when quipper generated this perf data / protobuf, given as seconds
// since the epoch.
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