summaryrefslogtreecommitdiff
path: root/chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto')
-rw-r--r--chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto445
1 files changed, 445 insertions, 0 deletions
diff --git a/chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto b/chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto
new file mode 100644
index 00000000000..e2d48921fcd
--- /dev/null
+++ b/chromium/third_party/nearby/src/internal/proto/analytics/connections_log.proto
@@ -0,0 +1,445 @@
+// Copyright 2020 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto2";
+
+package location.nearby.analytics.proto;
+
+
+import "proto/connections_enums.proto";
+import "proto/errorcode/error_code_enums.proto";
+
+option optimize_for = LITE_RUNTIME;
+option java_package = "com.google.location.nearby.analytics.proto";
+option java_outer_classname = "ConnectionsLogProto";
+option objc_class_prefix = "GNCP";
+
+// Top-level log proto for Nearby Connections.
+// LINT.IfChange(ConnectionsLog)
+message ConnectionsLog {
+ // The type of this log.
+ optional location.nearby.proto.connections.EventType event_type = 1;
+
+ // Non-null for EventType.CLIENT_SESSION.
+ // Encapsulates all client activity between connecting to and disconnecting
+ // from the Nearby Connections API via Client.
+ optional ClientSession client_session = 2;
+
+ // The version of Nearby Connections. E.g. "v1.0.4".
+ optional string version = 3 ;
+
+ // For EventType.ERROR_CODE
+ optional ErrorCode error_code = 4;
+
+ // Indicates the source of the log.
+ optional location.nearby.proto.connections.LogSource log_source = 5;
+
+ // Encapsulates one session of a client connected to Nearby Connections API.
+ message ClientSession {
+ // Elapsed time in milliseconds between Client connect and
+ // disconnect.
+ optional int64 duration_millis = 1;
+
+ // Zero or more StrategySessions.
+ repeated StrategySession strategy_session = 2;
+ }
+
+ // One round of a particular Strategy done by a client.
+ message StrategySession {
+ // Elapsed time in milliseconds between a call to startAdvertising/Discovery
+ // and the end of this particular Strategy. A StrategySession may end due to
+ // - the client disconnecting from Client;
+ // - a call to stopAllEndpoints, which disconnects all endpoints and
+ // stops any advertising/discovery;
+ // - a new call to startAdvertising/Discovery.
+ optional int64 duration_millis = 1;
+
+ // The Strategy used for this session.
+ optional location.nearby.proto.connections.ConnectionsStrategy strategy = 2;
+
+ // The role(s) played by this device during this StrategySession.
+ repeated location.nearby.proto.connections.SessionRole role = 3;
+
+ // One or more of the following *Phase is present, depending on the role(s).
+
+ // Encapsulates discovery information.
+ repeated DiscoveryPhase discovery_phase = 4;
+ // Encapsulates advertising information.
+ repeated AdvertisingPhase advertising_phase = 5;
+
+ // Attempts at establishing a connection to another device.
+ repeated ConnectionAttempt connection_attempt = 6;
+
+ // Successful and accepted connections to another device.
+ repeated EstablishedConnection established_connection = 7;
+
+ // Attempts to upgrade a connection from one medium to another.
+ repeated BandwidthUpgradeAttempt upgrade_attempt = 9;
+
+ // The build version of the user's device (Same value as the Build number in
+ // Settings -> about phone).
+ optional string build_version = 10
+ ;
+ }
+
+ // Encapsulates activity during a period of discovery.
+ message DiscoveryPhase {
+ // Elapsed time in milliseconds between startDiscovery and stopDiscovery.
+ optional int64 duration_millis = 1;
+
+ // The Medium(s) used for discovery.
+ repeated location.nearby.proto.connections.Medium medium = 2;
+
+ // Discovered endpoints during this round of discovery.
+ repeated DiscoveredEndpoint discovered_endpoint = 3;
+
+ // Attempted ConnectionRequests (requested by the client). They may or
+ // may not reach the other endpoint.
+ repeated ConnectionRequest sent_connection_request = 4;
+
+ // UWB ranging related data during discovery (May range with multiple
+ // endpoints)
+ repeated UwbRangingProcess uwb_ranging = 5;
+
+ // The SendingEvent flow id.
+ optional int64 client_flow_id = 6 ;
+
+ // Encapsulates additional discovery information.
+ optional DiscoveryMetadata discovery_metadata = 7;
+ }
+
+ // An endpoint discovered on a particular medium during discovery.
+ message DiscoveredEndpoint {
+ // The medium on which this endpoint was discovered.
+ optional location.nearby.proto.connections.Medium medium = 1;
+
+ // Elapsed time between the call to startDiscovery() and the time at which
+ // this endpoint was discovered.
+ optional int64 latency_millis = 2;
+ }
+
+ // Encapsulates activity during UWB ranging.
+ message UwbRangingProcess {
+ // Elapsed time in milliseconds between startRanging and stopRanging.
+ optional int64 duration_millis = 1;
+
+ // UWB raw ranging data received during discovery. This is optional. Only
+ // certain devices (Debug/Testing etc.) will log the raw data.
+ repeated RawUwbRangingEvent uwb_ranging_data = 2;
+
+ // Number of ranging data received
+ optional int32 number_of_ranging_data = 3;
+
+ // The minimum distance during a UWB ranging session
+ optional int32 distance_min = 4;
+
+ // The maximum distance during a UWB ranging session
+ optional int32 distance_max = 5;
+
+ // The average distance during a UWB ranging session
+ optional int32 distance_ave = 6;
+
+ // The distance variance during a UWB ranging session
+ optional int32 distance_variance = 7;
+
+ // The minimum AoA during a UWB ranging session
+ optional int32 azimuth_min = 8;
+
+ // The maximum AoA during a UWB ranging session
+ optional int32 azimuth_max = 9;
+
+ // The average AoA during a UWB ranging session
+ optional int32 azimuth_ave = 10;
+
+ // The AoA variance during a UWB ranging session
+ optional int32 azimuth_variance = 11;
+ }
+
+ // Ranging data received during discovery phase.
+ message RawUwbRangingEvent {
+ // Distance in cm
+ optional int32 distance = 1;
+
+ // Azimuth angle in degree
+ optional int32 azimuth_angle = 2;
+
+ // Polar angle in degree (0 if the device doesn't support it)
+ optional int32 polar_angle = 3;
+ }
+
+ // Encapsulates activity during a period of advertising.
+ message AdvertisingPhase {
+ // Elapsed time in milliseconds between startAdvertising and
+ // stopAdvertising.
+ optional int64 duration_millis = 1;
+
+ // The Medium(s) used for advertising.
+ repeated location.nearby.proto.connections.Medium medium = 2;
+
+ // Received ConnectionRequests from remote endpoints.
+ repeated ConnectionRequest received_connection_request = 3;
+
+ // The ReceivingEvent flow id.
+ optional int64 client_flow_id = 4 ;
+
+ // Encapsulates additional advertising information.
+ optional AdvertisingMetadata advertising_metadata = 5;
+ }
+
+ // A request to connect, corresponding to the API's concept of
+ // request/accept/rejectConnection().
+ message ConnectionRequest {
+ // Elapsed time in milliseconds between the connection request being
+ // initiated and the responses being received.
+ optional int64 duration_millis = 1;
+
+ // Elapsed time in milliseconds between the start of the containing
+ // Advertising/DiscoveryPhase and the start of this ConnectionRequest, i.e.
+ // the time at which the request is sent (on the discoverer, at the request
+ // of the client) or received (on the advertiser, over the wire from the
+ // remote endpoint).
+ optional int64 request_delay_millis = 2;
+
+ // The local endpoint's response to this connection request.
+ optional location.nearby.proto.connections.ConnectionRequestResponse
+ local_response = 3;
+
+ // The remote endpoint's response to this connection request.
+ optional location.nearby.proto.connections.ConnectionRequestResponse
+ remote_response = 4;
+
+ // The SendingEvent flow id.
+ optional int64 client_flow_id = 5 ;
+ }
+
+ // An attempt to connect to an endpoint over a particular medium.
+ message ConnectionAttempt {
+ // Elapsed time in milliseconds between starting the connection attempt
+ // and succeeding/failing.
+ optional int64 duration_millis = 1;
+
+ // The type of connection attempt.
+ optional location.nearby.proto.connections.ConnectionAttemptType type = 2;
+
+ // The direction (incoming vs outgoing) of this attempt.
+ optional location.nearby.proto.connections.ConnectionAttemptDirection
+ direction = 3;
+
+ // The Medium of this connection attempt.
+ optional location.nearby.proto.connections.Medium medium = 4;
+
+ // The result of the connection attempt.
+ optional location.nearby.proto.connections.ConnectionAttemptResult
+ attempt_result = 5;
+
+ // The ReceivingEvent flow id.
+ optional int64 client_flow_id = 6 ;
+
+ // The token used to identify this connection pair.
+ optional string connection_token = 7
+ ;
+
+ // Encapsulates additional connection information.
+ optional ConnectionAttemptMetadata connection_attempt_metadata = 8;
+ }
+
+ // A successfully-established connection over a particular medium.
+ message EstablishedConnection {
+ // Elapsed time in milliseconds that the connection is active.
+ optional int64 duration_millis = 1;
+
+ // The Medium of this connection.
+ optional location.nearby.proto.connections.Medium medium = 2;
+
+ // Payloads sent over this connection.
+ repeated Payload sent_payload = 3;
+
+ // Payloads received over this connection.
+ repeated Payload received_payload = 4;
+
+ // The reason this connection was disconnected.
+ optional location.nearby.proto.connections.DisconnectionReason
+ disconnection_reason = 5;
+
+ // The SendingEvent flow id.
+ optional int64 client_flow_id = 6 ;
+
+ // The token use to identify this established connection.
+ optional string connection_token = 7
+ ;
+ }
+
+ // A Payload transferred (or attempted to be transferred) between devices.
+ message Payload {
+ // Elapsed time in milliseconds that num_bytes_transferred took to transfer.
+ optional int64 duration_millis = 1;
+
+ // The type of this payload.
+ optional location.nearby.proto.connections.PayloadType type = 2;
+
+ // Total size of the payload in bytes.
+ optional int64 total_size_bytes = 3;
+
+ // Total number of bytes transferred successfully.
+ optional int64 num_bytes_transferred = 4;
+
+ // The number of chunks used to transfer num_bytes_transferred.
+ optional int32 num_chunks = 5;
+
+ // The end status of the payload transfer.
+ optional location.nearby.proto.connections.PayloadStatus status = 6;
+ }
+
+ // An attempt to upgrade an existing connection from one medium to another.
+ message BandwidthUpgradeAttempt {
+ // The direction (incoming vs outgoing) of the upgrade attempt.
+ optional location.nearby.proto.connections.ConnectionAttemptDirection
+ direction = 1;
+
+ // Elapsed time in milliseconds of the upgrade attempt.
+ optional int64 duration_millis = 2;
+
+ // The original medium (e.g. bluetooth).
+ optional location.nearby.proto.connections.Medium from_medium = 3;
+
+ // The new medium that we're hoping to upgrade to (e.g. wifi).
+ optional location.nearby.proto.connections.Medium to_medium = 4;
+
+ // The result of the upgrade attempt.
+ optional location.nearby.proto.connections.BandwidthUpgradeResult
+ upgrade_result = 5;
+
+ // If upgrade_result is not success, the stage at which the error occurred.
+ optional location.nearby.proto.connections.BandwidthUpgradeErrorStage
+ error_stage = 6;
+
+ // The SendingEvent flow id.
+ optional int64 client_flow_id = 7 ;
+
+ // The token used to identify this upgrade pair.
+ optional string connection_token = 8
+ ;
+ }
+
+ // Next Id: 17
+ message ErrorCode {
+ // The direction (incoming vs outgoing) of this error.
+ optional location.nearby.proto.connections.ConnectionAttemptDirection
+ direction = 1;
+ optional string service_id = 2;
+ // The error medium (e.g. bluetooth).
+ optional location.nearby.proto.connections.Medium medium = 3;
+ // The event which the error occurs on.
+ optional location.nearby.errorcode.proto.Event event = 4;
+ // The error description.
+ optional location.nearby.errorcode.proto.Description description = 5;
+ // The flow id which the error occurs on.
+ optional int64 flow_id = 6 ;
+
+ // Error code value
+ oneof ErrorCodeDetail {
+ location.nearby.errorcode.proto.CommonError common_error = 7;
+ location.nearby.errorcode.proto.StartAdvertisingError
+ start_advertising_error = 8;
+ location.nearby.errorcode.proto.StartDiscoveringError
+ start_discovering_error = 9;
+ location.nearby.errorcode.proto.StopAdvertisingError
+ stop_advertising_error = 10;
+ location.nearby.errorcode.proto.StopDiscoveringError
+ stop_discovering_error = 11;
+ location.nearby.errorcode.proto.StartListeningIncomingConnectionError
+ start_listening_incoming_connection_error = 12;
+ location.nearby.errorcode.proto.StopListeningIncomingConnectionError
+ stop_listening_incoming_connection_error = 13;
+ location.nearby.errorcode.proto.ConnectError connect_error = 14;
+ location.nearby.errorcode.proto.DisconnectError disconnect_error = 15;
+ }
+
+ // The token use to identify this established connection.
+ optional string connection_token = 16
+ ;
+ }
+
+ // Some additional information to keep with the advertising phase.
+ message AdvertisingMetadata {
+ // The bluetooth low energy extended advertisement support status.
+ optional bool supports_extended_ble_advertisements = 1;
+
+ // The frequency of the connected WiFi AP.
+ optional int32 connected_ap_frequency = 2;
+
+ // The NFC (Near Field Communication) support status
+ optional bool supports_nfc_technology = 3;
+ }
+
+ // Some additional information to keep with the discovery phase.
+ message DiscoveryMetadata {
+ // The bluetooth low energy extended advertisement support status.
+ optional bool supports_extended_ble_advertisements = 1;
+
+ // The frequency of the connected WiFi AP.
+ optional int32 connected_ap_frequency = 2;
+
+ // The NFC (Near Field Communication) support status
+ optional bool supports_nfc_technology = 3;
+ }
+
+ // Some additional information to keep with the connection attempt.
+ message ConnectionAttemptMetadata {
+ // The technology used by the mediums.
+ optional location.nearby.proto.connections.ConnectionTechnology technology =
+ 1;
+
+ // The wifi band used by the wifi mediums.
+ optional location.nearby.proto.connections.ConnectionBand band = 2;
+
+ // The frequency used by the wifi mediums.
+ optional int32 frequency = 3;
+
+ // The MCC (Mobile country code) MNC (Mobile network code) of the network
+ // operator.
+ optional string network_operator = 4
+ ;
+
+ // The upper-case ISO 3166-1 alpha-2 country code of:
+ // 1. the current connected WiFi network
+ // 2. or the current registered operator's MCC (Mobile Country Code)
+ // 3. or empty string.
+ optional string country_code = 5 ;
+
+ // The TDLS status used by the wifi lan medium,
+ // TDLS, shortened from Tunneled Direct Link Setup, is "a seamless way to
+ // stream media and other data faster between devices already on the same
+ // Wi-Fi network." Devices using it communicate directly with one another,
+ // without involving the wireless network's router.
+ optional bool is_tdls_used = 6;
+
+ // The try times for this hosted group or connection operation.
+ optional int32 try_counts = 7;
+
+ // The enabled status of the wifi hotspot(tethering) when doing this
+ // connection attempt.
+ optional bool wifi_hotspot_status = 8;
+
+ // The MAX supported TX link speed (Mbps).
+ optional int32 max_tx_speed = 9;
+
+ // The MAX supported RX link speed (Mbps).
+ optional int32 max_rx_speed = 10;
+
+ // The connected wifi channel width.
+ optional int32 wifi_channel_width = 11;
+ }
+}
+// LINT.ThenChange()