diff options
author | vidish <vidish@google.com> | 2023-02-08 02:52:38 +0000 |
---|---|---|
committer | vidish <vidish@google.com> | 2023-02-08 02:52:38 +0000 |
commit | b2a9ca652f9cd7d560444471ad69663d7fc01486 (patch) | |
tree | a208d4ac9edc2cc81b8560308d83bb4d52164b3b | |
parent | 59f3f49757c17724a32817cd6309b0396f704310 (diff) | |
download | analytics-library-b2a9ca652f9cd7d560444471ad69663d7fc01486.tar.gz |
Update studio_stats.proto
Logs-Approval: cl/507854539
Bug: 254881657
Test: existing
Change-Id: I6d84bb98448d570ecef3405b891d5f2b69a2cb7f
-rw-r--r-- | protos/src/main/proto/studio_stats.proto | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/protos/src/main/proto/studio_stats.proto b/protos/src/main/proto/studio_stats.proto index 8390267..b26cf76 100644 --- a/protos/src/main/proto/studio_stats.proto +++ b/protos/src/main/proto/studio_stats.proto @@ -551,6 +551,9 @@ message AndroidStudioEvent { optional CreateDiagnosticReportAction create_diagnostic_report_action_event = 157; + // set when kind = DIRECT_ACCESS_USAGE_EVENT + optional DirectAccessUsageEvent direct_access_usage_event = 158; + enum EventCategory { // The event was not grouped into any specific category (default). NO_EVENT_CATEGORY = 0; @@ -1270,6 +1273,9 @@ message AndroidStudioEvent { // Event when the AGP Upgrade Assistant CTA from an old AGP is dismissed UPGRADE_ASSISTANT_CTA_OLD_AGP_DISMISSED = 271; + + // Event marking interaction with Direct Access + DIRECT_ACCESS_USAGE_EVENT = 272; } // Represents different Performance Monitoring types. @@ -12425,4 +12431,91 @@ message CreateDiagnosticReportAction { // Indicates which action the user took optional ActionType action_type = 1; +} + +message DirectAccessUsageEvent { + enum DirectAccessUsageEventType { + UNKNOWN_EVENT = 0; + // User requested to reserve a device + RESERVE_DEVICE = 1; + // Connect during initial reservation or user requested to reconnect + CONNECT_DEVICE = 2; + // Video stream started from device + STREAM_STARTED = 3; + // User requested to extend current device reservation + EXTEND_RESERVATION = 4; + // User requested to end reservation + END_RESERVATION = 5; + } + + enum FailureReason { + UNKNOWN_FAILURE = 0; + } + + message ReserveDeviceDetails { + // True if reserve device request succeeded + optional bool success = 1; + // Time measured between the user clicking reserve (run) button and getting + // a reserved device + optional uint32 reserve_time_ms = 2; + } + + message ConnectDeviceDetails { + // True if connect device request succeeded + optional bool success = 1; + // Reconnecting to reserved device or connecting during reservation request + optional bool reconnect = 2; + // Time taken to connect to device + optional uint32 connect_time_ms = 3; + } + + message StreamStartedDetails { + // True if studio successfully received video stream from device + optional bool success = 1; + // Recorded latency of first stream + optional uint32 latency_ms = 2; + } + + message ExtendReservationDetails { + enum ExtendReservationDuration { + NONE = 0; + THIRTY_MINUTES = 1; + SIXTY_MINUTES = 2; + } + // True if extend reservation request succeeded + optional bool success = 1; + // Duration for which session should be extended + optional ExtendReservationDuration extend_reservation_duration = 2; + } + + message EndReservationDetails { + // True if end reservation request succeeded + optional bool success = 1; + // User ended reservation or reservation expired + optional bool user_ended = 2; + // Total reservation time + // MAX_VALUE: 4,294,967,295 -> ~49710 days + optional uint32 total_reservation_time_sec = 3; + // Average connection latency calculated over the entire session + optional uint32 average_connection_latency_ms = 4; + } + + // Type of event + optional DirectAccessUsageEventType type = 1; + // Session ID of current reservation/session for tracking events + // during a session + // Client-side salted, sha256 of session ID with salt rotated every 28 day. + optional string device_session_id = 2; + // set when type = RESERVE_DEVICE + optional ReserveDeviceDetails reserve_device_details = 3; + // set when type = CONNECT_DEVICE + optional ConnectDeviceDetails connect_device_details = 4; + // set when type = STREAM_STARTED + optional StreamStartedDetails stream_started_details = 5; + // set when type = EXTEND_RESERVATION + optional ExtendReservationDetails extend_reservation_details = 6; + // set when type = END_RESERVATION + optional EndReservationDetails end_reservation_details = 7; + // set when any of the above event fails (success bool is marked false) + optional FailureReason failure_reason = 8; }
\ No newline at end of file |