summaryrefslogtreecommitdiffstats
path: root/components
diff options
context:
space:
mode:
authorgfhuang <gfhuang@chromium.org>2014-12-10 12:37:47 -0800
committerCommit bot <commit-bot@chromium.org>2014-12-10 20:38:49 +0000
commit2f5f1b49934a262f46533ab032be0282deb11768 (patch)
tree770d9f544e2c8b84f429729f3609a327fdf45d83 /components
parentb70de227c32ec37b69d07e90ab3e82293f7a8f2d (diff)
downloadchromium_src-2f5f1b49934a262f46533ab032be0282deb11768.zip
chromium_src-2f5f1b49934a262f46533ab032be0282deb11768.tar.gz
chromium_src-2f5f1b49934a262f46533ab032be0282deb11768.tar.bz2
Add CastLogsProto to ChromecastUserMetricsExtension that is for Chromecast
specific log data. BUG=440626 Review URL: https://codereview.chromium.org/791563002 Cr-Commit-Position: refs/heads/master@{#307751}
Diffstat (limited to 'components')
-rw-r--r--components/metrics.gypi1
-rw-r--r--components/metrics/proto/BUILD.gn1
-rw-r--r--components/metrics/proto/cast_logs.proto140
-rw-r--r--components/metrics/proto/chrome_user_metrics_extension.proto6
4 files changed, 147 insertions, 1 deletions
diff --git a/components/metrics.gypi b/components/metrics.gypi
index e9467c4..ea027b6 100644
--- a/components/metrics.gypi
+++ b/components/metrics.gypi
@@ -152,6 +152,7 @@
'target_name': 'component_metrics_proto',
'type': 'static_library',
'sources': [
+ 'metrics/proto/cast_logs.proto',
'metrics/proto/chrome_user_metrics_extension.proto',
'metrics/proto/histogram_event.proto',
'metrics/proto/omnibox_event.proto',
diff --git a/components/metrics/proto/BUILD.gn b/components/metrics/proto/BUILD.gn
index 2b3c830..c46f499 100644
--- a/components/metrics/proto/BUILD.gn
+++ b/components/metrics/proto/BUILD.gn
@@ -7,6 +7,7 @@ import("//third_party/protobuf/proto_library.gni")
# GYP version: components/
proto_library("proto") {
sources = [
+ "cast_logs.proto",
"chrome_user_metrics_extension.proto",
"histogram_event.proto",
"omnibox_event.proto",
diff --git a/components/metrics/proto/cast_logs.proto b/components/metrics/proto/cast_logs.proto
new file mode 100644
index 0000000..327a4eb
--- /dev/null
+++ b/components/metrics/proto/cast_logs.proto
@@ -0,0 +1,140 @@
+// 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.
+//
+// Cast-enabled device specific log data included in ChromeUserMetricsExtension.
+
+syntax = "proto2";
+
+option optimize_for = LITE_RUNTIME;
+
+package metrics;
+
+// Next tag: 4
+message CastLogsProto {
+ // Cast specific device information.
+ // Next tag: 4
+ message CastDeviceInfo {
+ // The product type of Cast device sent from Cast-enabled devices.
+ // Next tag: 5
+ enum CastProductType {
+ CAST_PRODUCT_TYPE_UNKNOWN = 0;
+ CAST_PRODUCT_TYPE_CHROMECAST = 1;
+ CAST_PRODUCT_TYPE_ANDROID_TV = 4;
+ }
+ optional CastProductType type = 1;
+
+ // The hardware revision of each product.
+ optional string hardware_revision = 2;
+
+ // The manufacturer of Cast device, this value is empty when the device
+ // is manufactured by Google.
+ optional string manufacturer = 3;
+ }
+ // The device sends this information at least once per day.
+ optional CastDeviceInfo cast_device_info = 1;
+
+ // Information about Cast connection between sender application and
+ // Cast-enabled device.
+ // Next tag: 4
+ message CastConnectionInfo {
+ optional fixed32 transport_connection_id = 1;
+
+ optional fixed32 virtual_connection_id = 2;
+
+ // This message describes a detail sender device and sdk. Those are
+ // parsed from the user agent string sent from sender sdk during connection.
+ // Next tag: 9
+ message SenderInfo {
+ // The identifier for the sender device, that is not tied any kind of
+ // device id outside of UMA, and this id is reset when user resets sender
+ // device.
+ optional fixed64 sender_device_id = 1;
+
+ // SDK type the sender application was using.
+ // Next tag: 3
+ enum SDKType {
+ SDK_UNKNOWN = 0;
+
+ // Native SDK type,
+ // E.G. Android sdk, iOS sdk.
+ SDK_NATIVE = 1;
+
+ // SDK via Chrome extension.
+ SDK_CHROME_EXTENSION = 2;
+ }
+ optional SDKType sdk_type = 2;
+
+ // Version of sender sdk/extension used to connection.
+ optional string version = 3;
+
+ // Chrome browser version where the Chrome extension running.
+ // Only Chrome extension sends this information.
+ optional string chrome_browser_version = 4;
+
+ // Platform of sender device.
+ // Next tag: 7
+ enum Platform {
+ // Any platform other then cases below.
+ PLATFORM_OTHER = 0;
+
+ PLATFORM_ANDROID = 1;
+ PLATFORM_IOS = 2;
+ PLATFORM_WINDOWS = 3;
+ PLATFORM_OSX = 4;
+ PLATFORM_CHROMEOS = 5;
+ PLATFORM_LINUX = 6;
+ }
+ optional Platform platform = 5;
+
+ // Sender device system version.
+ optional string system_version = 6;
+
+ // What type of connection type used to establish between sender and
+ // receiver.
+ enum ConnectionType {
+ CONNECTION_TYPE_UNKNOWN = 0;
+ CONNECTION_TYPE_LOCAL = 1;
+ CONNECTION_TYPE_RELAY = 2;
+ }
+ optional ConnectionType transport_connection_type = 7;
+
+ // Sender device model.
+ optional string model = 8;
+ }
+ optional SenderInfo sender_info = 3;
+ }
+
+ // Virtual connection established between sender application and Cast device.
+ repeated CastConnectionInfo cast_connection_info = 2;
+
+ // Stores Cast-enabled device specific events with a various context data.
+ // Next tag: 9
+ message CastEventProto {
+ // The name of the action, hashed by same logic used to hash user action
+ // event and histogram.
+ optional fixed64 name_hash = 1;
+
+ // The timestamp for the event, in milliseconds.
+ optional int64 time_msec = 2;
+
+ // The Cast receiver app ID related with this event.
+ optional fixed32 app_id = 3;
+
+ // The identifier for receiver application session.
+ optional fixed64 application_session_id = 4;
+
+ // Receiver side Cast SDK version.
+ optional fixed64 cast_receiver_version = 5;
+
+ // transport_connection_id related with this event.
+ optional fixed32 transport_connection_id = 6;
+
+ // virtual_connection_id related with this event.
+ optional fixed32 virtual_connection_id = 7;
+
+ // An optional value for the associated event
+ optional int64 value = 8;
+ }
+ repeated CastEventProto cast_event = 3;
+}
diff --git a/components/metrics/proto/chrome_user_metrics_extension.proto b/components/metrics/proto/chrome_user_metrics_extension.proto
index b4267f4..cf52be2 100644
--- a/components/metrics/proto/chrome_user_metrics_extension.proto
+++ b/components/metrics/proto/chrome_user_metrics_extension.proto
@@ -10,6 +10,7 @@ option optimize_for = LITE_RUNTIME;
package metrics;
+import "cast_logs.proto";
import "histogram_event.proto";
import "omnibox_event.proto";
import "profiler_event.proto";
@@ -18,7 +19,7 @@ import "user_action_event.proto";
import "perf_data.proto";
import "sampled_profile.proto";
-// Next tag: 12
+// Next tag: 13
message ChromeUserMetricsExtension {
// The product (i.e. end user application) for a given UMA log.
enum Product {
@@ -64,4 +65,7 @@ message ChromeUserMetricsExtension {
// 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;
}