// 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.

syntax = "proto2";

option optimize_for = LITE_RUNTIME;

option java_outer_classname = "ChromeUserMetricsExtensionProtos";
option java_package = "org.chromium.components.metrics";

package metrics;

import "cast_logs.proto";
import "histogram_event.proto";
// Cobalt-only change to reduce compiled binary byte size. See b/290819695.
//import "memory_leak_report.proto";
//import "omnibox_event.proto";
import "perf_data.proto";
import "printer_event.proto";
import "reporting_info.proto";
// Cobalt-only change to reduce compiled binary byte size. See b/290819695.
//import "sampled_profile.proto";
import "system_profile.proto";
import "translate_event.proto";
import "user_action_event.proto";

// Next tag: 19
message ChromeUserMetricsExtension {
  // The product (i.e. end user application) for a given UMA log.
  enum Product {
    // Google Chrome product family.
    CHROME = 0;

    // UMA metrics from Android Webview.
    ANDROID_WEBVIEW = 20;

    // Cast receivers, e.g. Chromecast
    CAST = 35;
  }
  // The product corresponding to this log. The field type is int32 instead of
  // Product so that downstream users of the Chromium metrics component can
  // introduce products without needing to make changes to the Chromium code
  // (though they still need to add the new product to the server-side enum).
  // Note: The default value is Chrome, so Chrome products will not transmit
  // this field.
  optional int32 product = 10 [default = 0];

  // 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;
  // Cobalt-only change to reduce compiled binary byte size. See b/290819695.
  //repeated OmniboxEventProto omnibox_event = 5;
  repeated HistogramEventProto histogram_event = 6;
  repeated TranslateEventProto translate_event = 15;
  repeated PrinterEventProto printer_event = 16;

  // Deprecated: use |sampled_profile| instead.
  repeated PerfDataProto perf_data = 8 [deprecated = true];

  // Cobalt-only change to reduce compiled binary byte size. See b/290819695.
  // A list of all collected sample-based profiles since the last UMA upload.
  //repeated SampledProfile sampled_profile = 11;

  // Additional data related with Cast-enabled devices.
  optional CastLogsProto cast_logs = 12;

  // Cobalt-only change to reduce compiled binary byte size. See b/290819695.
  // Memory leak reports generated since the last UMA upload.
  //repeated MemoryLeakReportProto memory_leak_report = 13;

  // The ReportingInfo message sent in the X-Chrome-UMA-ReportingInfo header.
  // Copied in by the receiving server.
  optional ReportingInfo reporting_info = 17;
}
