summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKun Shen <kunshen@google.com>2024-06-18 15:41:40 -0700
committerKun Shen <kunshen@google.com>2024-06-19 01:41:06 +0000
commita7e92f9d4e14e8028cd9073a01a9dae648c7d27d (patch)
treed0be3d50f3bcbf7dd051cce3b020c24eb4ef0030
parent15bba7f0844cb336e3186d2e174adc3e732a5e4f (diff)
downloadanalytics-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.proto99
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 {