| // Copyright 2014 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| // |
| // Protocol buffer for Chrome UMA (User Metrics Analysis). |
| |
| syntax = "proto2"; |
| |
| option optimize_for = LITE_RUNTIME; |
| |
| package metrics; |
| |
| import "histogram_event.proto"; |
| import "omnibox_event.proto"; |
| import "profiler_event.proto"; |
| import "system_profile.proto"; |
| import "user_action_event.proto"; |
| import "perf_data.proto"; |
| import "sampled_profile.proto"; |
| |
| // Next tag: 12 |
| message ChromeUserMetricsExtension { |
| // The product (i.e. end user application) for a given UMA log. |
| enum Product { |
| // Google Chrome product family. |
| CHROME = 0; |
| } |
| // The product corresponding to this log. Note: The default value is Chrome, |
| // so Chrome products will not transmit this field. |
| optional Product product = 10 [default = CHROME]; |
| |
| // The id of the client install that generated these events. |
| // |
| // For Chrome clients, this id is unique to a top-level (one level above the |
| // "Default" directory) Chrome user data directory [1], and so is shared among |
| // all Chrome user profiles contained in this user data directory. |
| // An id of 0 is reserved for test data (monitoring and internal testing) and |
| // should normally be ignored in analysis of the data. |
| // [1] http://www.chromium.org/user-experience/user-data-directory |
| optional fixed64 client_id = 1; |
| |
| // The session id for this user. |
| // Values such as tab ids are only meaningful within a particular session. |
| // The client keeps track of the session id and sends it with each event. |
| // The session id is simply an integer that is incremented each time the user |
| // relaunches Chrome. |
| optional int32 session_id = 2; |
| |
| // Information about the user's browser and system configuration. |
| optional SystemProfileProto system_profile = 3; |
| |
| // This message will log one or more of the following event types: |
| repeated UserActionEventProto user_action_event = 4; |
| repeated OmniboxEventProto omnibox_event = 5; |
| repeated HistogramEventProto histogram_event = 6; |
| repeated ProfilerEventProto profiler_event = 7; |
| |
| // TODO(sque): Deprecate this field and use |sampled_profile| instead. |
| repeated PerfDataProto perf_data = 8; |
| |
| // A list of all collected sample-based profiles since the last UMA upload. |
| repeated SampledProfile sampled_profile = 11; |
| } |