diff options
author | Kun Shen <kunshen@google.com> | 2024-06-18 15:41:40 -0700 |
---|---|---|
committer | Kun Shen <kunshen@google.com> | 2024-06-19 01:41:06 +0000 |
commit | a7e92f9d4e14e8028cd9073a01a9dae648c7d27d (patch) | |
tree | d0be3d50f3bcbf7dd051cce3b020c24eb4ef0030 | |
parent | 15bba7f0844cb336e3186d2e174adc3e732a5e4f (diff) | |
download | analytics-library-a7e92f9d4e14e8028cd9073a01a9dae648c7d27d.tar.gz |
Update studio_stats.proto
Logs-Approval: cl/644137382, cl/644045478, cl/644076845, cl/642315084
Bug: n/a
Test: n/a
Change-Id: Ibd8d0297b00ed80f77fc20a53678039109e1be67
-rw-r--r-- | protos/src/main/proto/studio_stats.proto | 99 |
1 files changed, 97 insertions, 2 deletions
diff --git a/protos/src/main/proto/studio_stats.proto b/protos/src/main/proto/studio_stats.proto index 71c2f4f..81655ea 100644 --- a/protos/src/main/proto/studio_stats.proto +++ b/protos/src/main/proto/studio_stats.proto @@ -197,8 +197,9 @@ message AndroidStudioEvent { // set when kind = APK_ANALYZER_STATS optional ApkAnalyzerStats apk_analyzer_stats = 49; - // set when kind = GRADLE_SYNC_ENDED, GRADLE_SYNC_FAILURE or - // GRADLE_SYNC_SETUP_STARTED + // set when kind = GRADLE_SYNC_STARTED, GRADLE_SYNC_SETUP_STARTED, + // GRADLE_SYNC_ENDED, GRADLE_SYNC_FAILURE, GRADLE_SYNC_CANCELLED, + // GRADLE_SYNC_SKIPPED, GRADLE_SYNC_FAILURE_DETAILS, GRADLE_SYNC_ISSUES optional GradleSyncStats gradle_sync_stats = 50; // set when kind = GRADLE_CPP_SYNC_COMPLETED @@ -3863,6 +3864,9 @@ message TestRun { // Only set when test_kind=PREVIEW_SCREENSHOT_TEST optional PreviewScreenshotRun preview_screenshot_run = 10; + // Only set when test_kind=INSTRUMENTATION_TEST + repeated DeviceTestSpanProfile device_test_span_profiles = 11; + // Describes how tests where invoked. enum TestInvocationType { UNKNOWN_TEST_INVOCATION_TYPE = 0; @@ -3924,6 +3928,87 @@ message TestRun { } } +// Provides details of a test run on a single device. This includes the +// provisioning of the device, apk install, test suite run, and device tear +// down. A single test task may have one or more DeviceTestSpanProfile's as +// tests may be sharded across multiple devices, or in the case of connected +// test may run all tests on multiple devices. +message DeviceTestSpanProfile { + // Type of device used in this test run + optional DeviceType device_type = 1; + + // Type of test being run on this device + optional TestRun.TestKind test_kind = 2; + + // Type of process that is used to install, run, and manage the test. + optional ProcessType process_type = 3; + + // Span of how long the test waited for device(s) to become available. + // These fields will only be set if a Gradle Managed Device is used and will + // be the same across all shards in the same test run. + optional int64 device_lock_wait_start_time_ms = 5; + optional int64 device_lock_wait_duration_ms = 6; + + // Span of how long the Unified Test Platform needed for internal setup before + // requesting the device provider. + optional int64 utp_setup_start_time_ms = 7; + optional int64 utp_setup_duration_ms = 8; + + // Span of how long the device took to be provisioned by the device provider + optional int64 utp_provide_device_start_time_ms = 9; + optional int64 utp_provide_device_duration_ms = 10; + + // Span of how long the device took after device was provided, but before + // tests start. This includes steps like installing testing and tested apks, + // checking device state, and setting up test orchestration. + optional int64 utp_test_setup_start_time_ms = 11; + optional int64 utp_test_setup_duration_ms = 12; + + // Span for how long the tests actually took to run. + optional int64 utp_test_run_start_time_ms = 13; + optional int64 utp_test_run_duration_ms = 14; + + // Span of how long it took to clean up the device and test process. + // This step can include uninstalling apks, closing the managed device, + // resetting device state, etc. + optional int64 utp_tear_down_start_time_ms = 15; + optional int64 utp_tear_down_duration_ms = 16; + + // Whether or not the tests were able to finish, and, if failed, what caused + // the failure. + optional TestProgressResult progress_result = 17; + + enum DeviceType { + UNKNOWN_DEVICE_TYPE = 0; + // Device is a physical device + CONNECTED_DEVICE_PHYSICAL = 1; + // Device is a emulator device managed by the host + CONNECTED_DEVICE_EMULATOR = 2; + // Device is Gradle managed emulator + VIRTUAL_MANAGED_DEVICE = 3; + } + + enum ProcessType { + UNKNOWN_PROCESS_TYPE = 0; + // Unified Test Platform instance being run in a separate one-shot process. + EXTERNAL_UTP_PROCESS = 1; + // Tests were run on a new load of Unified Test Platform from within the + // Gradle daemon. + IN_PROCESS_UTP_FIRST_RUN = 2; + // Tests were run on a Unified Test Platform with the plugins already loaded + // from a previous run. + IN_PROCESS_UTP_SUBSEQUENT_RUN = 3; + } + + enum TestProgressResult { + UNKNOWN_RESULT = 0; + UNKNOWN_FAILURE = 1; + TESTS_COMPLETED = 2; + DEVICE_PROVISION_FAILURE = 3; + UTP_INFRASTRUCTURE_FAILURE = 4; + } +} + // Provides details on commonly used test libraries. // Each string field of this message holds the exact version of the given // library (e.g. "1.0.0") that the field name represents. The field is populated @@ -10554,6 +10639,7 @@ message BuildErrorMessage { GENERAL_ANDROID_GRADLE_PLUGIN = 11; INVALID_TOML_DEFINITION = 12; CONFIGURATION_CACHE = 13; + JAVA_NOT_SUPPORTED_LANGUAGE_LEVEL = 14; } enum FileType { @@ -13434,12 +13520,21 @@ message GoogleLoginPluginEvent { LOGGED_IN_ON_STUDIO_START = 7; } + enum LoginType { + UNKNOWN_TYPE = 0; + // A user signs in via the combined sign-in flow. + COMBINED_LOGIN = 1; + // A user signs in via the specific feature login flow. + FEATURE_LOGIN = 2; + } + message LoginFeatures { repeated string features = 1; // e.g. "Gemini"; } optional EventKind event = 1; optional LoginFeatures features = 2; + optional LoginType login_type = 3; } message DeviceMirroringSession { |