diff options
author | gfhuang <gfhuang@chromium.org> | 2014-12-10 12:37:47 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2014-12-10 20:38:49 +0000 |
commit | 2f5f1b49934a262f46533ab032be0282deb11768 (patch) | |
tree | 770d9f544e2c8b84f429729f3609a327fdf45d83 /components | |
parent | b70de227c32ec37b69d07e90ab3e82293f7a8f2d (diff) | |
download | chromium_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.gypi | 1 | ||||
-rw-r--r-- | components/metrics/proto/BUILD.gn | 1 | ||||
-rw-r--r-- | components/metrics/proto/cast_logs.proto | 140 | ||||
-rw-r--r-- | components/metrics/proto/chrome_user_metrics_extension.proto | 6 |
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; } |