| // Copyright 2014 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| part of 'reporting.dart'; |
| |
| /// The collection of custom dimensions understood by the analytics backend. |
| /// When adding to this list, first ensure that the custom dimension is |
| /// defined in the backend, or will be defined shortly after the relevant PR |
| /// lands. |
| @immutable |
| class CustomDimensions { |
| const CustomDimensions({ |
| this.sessionHostOsDetails, |
| this.sessionChannelName, |
| this.commandRunIsEmulator, |
| this.commandRunTargetName, |
| this.hotEventReason, |
| this.hotEventFinalLibraryCount, |
| this.hotEventSyncedLibraryCount, |
| this.hotEventSyncedClassesCount, |
| this.hotEventSyncedProceduresCount, |
| this.hotEventSyncedBytes, |
| this.hotEventInvalidatedSourcesCount, |
| this.hotEventTransferTimeInMs, |
| this.hotEventOverallTimeInMs, |
| this.commandRunProjectType, |
| this.commandRunProjectHostLanguage, |
| this.commandCreateAndroidLanguage, |
| this.commandCreateIosLanguage, |
| this.commandRunProjectModule, |
| this.commandCreateProjectType, |
| this.commandPackagesNumberPlugins, |
| this.commandPackagesProjectModule, |
| this.commandRunTargetOsVersion, |
| this.commandRunModeName, |
| this.commandBuildBundleTargetPlatform, |
| this.commandBuildBundleIsModule, |
| this.commandResult, |
| this.hotEventTargetPlatform, |
| this.hotEventSdkName, |
| this.hotEventEmulator, |
| this.hotEventFullRestart, |
| this.commandHasTerminal, |
| this.enabledFlutterFeatures, |
| this.localTime, |
| this.commandBuildAarTargetPlatform, |
| this.commandBuildAarProjectType, |
| this.buildEventCommand, |
| this.buildEventSettings, |
| this.commandBuildApkTargetPlatform, |
| this.commandBuildApkBuildMode, |
| this.commandBuildApkSplitPerAbi, |
| this.commandBuildAppBundleTargetPlatform, |
| this.commandBuildAppBundleBuildMode, |
| this.buildEventError, |
| this.commandResultEventMaxRss, |
| this.commandRunAndroidEmbeddingVersion, |
| this.commandPackagesAndroidEmbeddingVersion, |
| this.nullSafety, |
| this.nullSafeMigratedLibraries, |
| this.nullSafeTotalLibraries, |
| this.hotEventCompileTimeInMs, |
| this.hotEventFindInvalidatedTimeInMs, |
| this.hotEventScannedSourcesCount, |
| this.hotEventReassembleTimeInMs, |
| this.hotEventReloadVMTimeInMs, |
| this.commandRunEnableImpeller, |
| this.commandRunIOSInterfaceType, |
| this.commandRunIsTest, |
| }); |
| |
| final String? sessionHostOsDetails; // cd1 |
| final String? sessionChannelName; // cd2 |
| final bool? commandRunIsEmulator; // cd3 |
| final String? commandRunTargetName; // cd4 |
| final String? hotEventReason; // cd5 |
| final int? hotEventFinalLibraryCount; // cd6 |
| final int? hotEventSyncedLibraryCount; // cd7 |
| final int? hotEventSyncedClassesCount; // cd8 |
| final int? hotEventSyncedProceduresCount; // cd9 |
| final int? hotEventSyncedBytes; // cd10 |
| final int? hotEventInvalidatedSourcesCount; // cd11 |
| final int? hotEventTransferTimeInMs; // cd12 |
| final int? hotEventOverallTimeInMs; // cd13 |
| final String? commandRunProjectType; // cd14 |
| final String? commandRunProjectHostLanguage; // cd15 |
| final String? commandCreateAndroidLanguage; // cd16 |
| final String? commandCreateIosLanguage; // cd17 |
| final bool? commandRunProjectModule; // cd18 |
| final String? commandCreateProjectType; // cd19 |
| final int? commandPackagesNumberPlugins; // cd20 |
| final bool? commandPackagesProjectModule; // cd21 |
| final String? commandRunTargetOsVersion; // cd22 |
| final String? commandRunModeName; // cd23 |
| final String? commandBuildBundleTargetPlatform; // cd24 |
| final bool? commandBuildBundleIsModule; // cd25 |
| final String? commandResult; // cd26 |
| final String? hotEventTargetPlatform; // cd27 |
| final String? hotEventSdkName; // cd28 |
| final bool? hotEventEmulator; // cd29 |
| final bool? hotEventFullRestart; // cd30 |
| final bool? commandHasTerminal; // cd31 |
| final String? enabledFlutterFeatures; // cd32 |
| final String? localTime; // cd33 |
| final String? commandBuildAarTargetPlatform; // cd34 |
| final String? commandBuildAarProjectType; // cd35 |
| final String? buildEventCommand; // cd36 |
| final String? buildEventSettings; // cd37 |
| final String? commandBuildApkTargetPlatform; // cd38 |
| final String? commandBuildApkBuildMode; // cd39 |
| final bool? commandBuildApkSplitPerAbi; // cd40 |
| final String? commandBuildAppBundleTargetPlatform; // cd41 |
| final String? commandBuildAppBundleBuildMode; // cd42 |
| final String? buildEventError; // cd43 |
| final int? commandResultEventMaxRss; // cd44 |
| final String? commandRunAndroidEmbeddingVersion; // cd45 |
| final String? commandPackagesAndroidEmbeddingVersion; // cd46 |
| final bool? nullSafety; // cd47 |
| // cd48 was fastReassemble but that feature was removed |
| final int? nullSafeMigratedLibraries; // cd49 |
| final int? nullSafeTotalLibraries; // cd50 |
| final int? hotEventCompileTimeInMs; // cd51 |
| final int? hotEventFindInvalidatedTimeInMs; // cd52 |
| final int? hotEventScannedSourcesCount; // cd53 |
| final int? hotEventReassembleTimeInMs; // cd54 |
| final int? hotEventReloadVMTimeInMs; // cd55 |
| final bool? commandRunEnableImpeller; // cd56 |
| final String? commandRunIOSInterfaceType; // cd57 |
| final bool? commandRunIsTest; // cd58 |
| |
| /// Convert to a map that will be used to upload to the analytics backend. |
| Map<String, String> toMap() => <String, String>{ |
| if (sessionHostOsDetails != null) CustomDimensionsEnum.sessionHostOsDetails.cdKey: sessionHostOsDetails.toString(), |
| if (sessionChannelName != null) CustomDimensionsEnum.sessionChannelName.cdKey: sessionChannelName.toString(), |
| if (commandRunIsEmulator != null) CustomDimensionsEnum.commandRunIsEmulator.cdKey: commandRunIsEmulator.toString(), |
| if (commandRunTargetName != null) CustomDimensionsEnum.commandRunTargetName.cdKey: commandRunTargetName.toString(), |
| if (hotEventReason != null) CustomDimensionsEnum.hotEventReason.cdKey: hotEventReason.toString(), |
| if (hotEventFinalLibraryCount != null) CustomDimensionsEnum.hotEventFinalLibraryCount.cdKey: hotEventFinalLibraryCount.toString(), |
| if (hotEventSyncedLibraryCount != null) CustomDimensionsEnum.hotEventSyncedLibraryCount.cdKey: hotEventSyncedLibraryCount.toString(), |
| if (hotEventSyncedClassesCount != null) CustomDimensionsEnum.hotEventSyncedClassesCount.cdKey: hotEventSyncedClassesCount.toString(), |
| if (hotEventSyncedProceduresCount != null) CustomDimensionsEnum.hotEventSyncedProceduresCount.cdKey: hotEventSyncedProceduresCount.toString(), |
| if (hotEventSyncedBytes != null) CustomDimensionsEnum.hotEventSyncedBytes.cdKey: hotEventSyncedBytes.toString(), |
| if (hotEventInvalidatedSourcesCount != null) CustomDimensionsEnum.hotEventInvalidatedSourcesCount.cdKey: hotEventInvalidatedSourcesCount.toString(), |
| if (hotEventTransferTimeInMs != null) CustomDimensionsEnum.hotEventTransferTimeInMs.cdKey: hotEventTransferTimeInMs.toString(), |
| if (hotEventOverallTimeInMs != null) CustomDimensionsEnum.hotEventOverallTimeInMs.cdKey: hotEventOverallTimeInMs.toString(), |
| if (commandRunProjectType != null) CustomDimensionsEnum.commandRunProjectType.cdKey: commandRunProjectType.toString(), |
| if (commandRunProjectHostLanguage != null) CustomDimensionsEnum.commandRunProjectHostLanguage.cdKey: commandRunProjectHostLanguage.toString(), |
| if (commandCreateAndroidLanguage != null) CustomDimensionsEnum.commandCreateAndroidLanguage.cdKey: commandCreateAndroidLanguage.toString(), |
| if (commandCreateIosLanguage != null) CustomDimensionsEnum.commandCreateIosLanguage.cdKey: commandCreateIosLanguage.toString(), |
| if (commandRunProjectModule != null) CustomDimensionsEnum.commandRunProjectModule.cdKey: commandRunProjectModule.toString(), |
| if (commandCreateProjectType != null) CustomDimensionsEnum.commandCreateProjectType.cdKey: commandCreateProjectType.toString(), |
| if (commandPackagesNumberPlugins != null) CustomDimensionsEnum.commandPackagesNumberPlugins.cdKey: commandPackagesNumberPlugins.toString(), |
| if (commandPackagesProjectModule != null) CustomDimensionsEnum.commandPackagesProjectModule.cdKey: commandPackagesProjectModule.toString(), |
| if (commandRunTargetOsVersion != null) CustomDimensionsEnum.commandRunTargetOsVersion.cdKey: commandRunTargetOsVersion.toString(), |
| if (commandRunModeName != null) CustomDimensionsEnum.commandRunModeName.cdKey: commandRunModeName.toString(), |
| if (commandBuildBundleTargetPlatform != null) CustomDimensionsEnum.commandBuildBundleTargetPlatform.cdKey: commandBuildBundleTargetPlatform.toString(), |
| if (commandBuildBundleIsModule != null) CustomDimensionsEnum.commandBuildBundleIsModule.cdKey: commandBuildBundleIsModule.toString(), |
| if (commandResult != null) CustomDimensionsEnum.commandResult.cdKey: commandResult.toString(), |
| if (hotEventTargetPlatform != null) CustomDimensionsEnum.hotEventTargetPlatform.cdKey: hotEventTargetPlatform.toString(), |
| if (hotEventSdkName != null) CustomDimensionsEnum.hotEventSdkName.cdKey: hotEventSdkName.toString(), |
| if (hotEventEmulator != null) CustomDimensionsEnum.hotEventEmulator.cdKey: hotEventEmulator.toString(), |
| if (hotEventFullRestart != null) CustomDimensionsEnum.hotEventFullRestart.cdKey: hotEventFullRestart.toString(), |
| if (commandHasTerminal != null) CustomDimensionsEnum.commandHasTerminal.cdKey: commandHasTerminal.toString(), |
| if (enabledFlutterFeatures != null) CustomDimensionsEnum.enabledFlutterFeatures.cdKey: enabledFlutterFeatures.toString(), |
| if (localTime != null) CustomDimensionsEnum.localTime.cdKey: localTime.toString(), |
| if (commandBuildAarTargetPlatform != null) CustomDimensionsEnum.commandBuildAarTargetPlatform.cdKey: commandBuildAarTargetPlatform.toString(), |
| if (commandBuildAarProjectType != null) CustomDimensionsEnum.commandBuildAarProjectType.cdKey: commandBuildAarProjectType.toString(), |
| if (buildEventCommand != null) CustomDimensionsEnum.buildEventCommand.cdKey: buildEventCommand.toString(), |
| if (buildEventSettings != null) CustomDimensionsEnum.buildEventSettings.cdKey: buildEventSettings.toString(), |
| if (commandBuildApkTargetPlatform != null) CustomDimensionsEnum.commandBuildApkTargetPlatform.cdKey: commandBuildApkTargetPlatform.toString(), |
| if (commandBuildApkBuildMode != null) CustomDimensionsEnum.commandBuildApkBuildMode.cdKey: commandBuildApkBuildMode.toString(), |
| if (commandBuildApkSplitPerAbi != null) CustomDimensionsEnum.commandBuildApkSplitPerAbi.cdKey: commandBuildApkSplitPerAbi.toString(), |
| if (commandBuildAppBundleTargetPlatform != null) CustomDimensionsEnum.commandBuildAppBundleTargetPlatform.cdKey: commandBuildAppBundleTargetPlatform.toString(), |
| if (commandBuildAppBundleBuildMode != null) CustomDimensionsEnum.commandBuildAppBundleBuildMode.cdKey: commandBuildAppBundleBuildMode.toString(), |
| if (buildEventError != null) CustomDimensionsEnum.buildEventError.cdKey: buildEventError.toString(), |
| if (commandResultEventMaxRss != null) CustomDimensionsEnum.commandResultEventMaxRss.cdKey: commandResultEventMaxRss.toString(), |
| if (commandRunAndroidEmbeddingVersion != null) CustomDimensionsEnum.commandRunAndroidEmbeddingVersion.cdKey: commandRunAndroidEmbeddingVersion.toString(), |
| if (commandPackagesAndroidEmbeddingVersion != null) CustomDimensionsEnum.commandPackagesAndroidEmbeddingVersion.cdKey: commandPackagesAndroidEmbeddingVersion.toString(), |
| if (nullSafety != null) CustomDimensionsEnum.nullSafety.cdKey: nullSafety.toString(), |
| if (nullSafeMigratedLibraries != null) CustomDimensionsEnum.nullSafeMigratedLibraries.cdKey: nullSafeMigratedLibraries.toString(), |
| if (nullSafeTotalLibraries != null) CustomDimensionsEnum.nullSafeTotalLibraries.cdKey: nullSafeTotalLibraries.toString(), |
| if (hotEventCompileTimeInMs != null) CustomDimensionsEnum.hotEventCompileTimeInMs.cdKey: hotEventCompileTimeInMs.toString(), |
| if (hotEventFindInvalidatedTimeInMs != null) CustomDimensionsEnum.hotEventFindInvalidatedTimeInMs.cdKey: hotEventFindInvalidatedTimeInMs.toString(), |
| if (hotEventScannedSourcesCount != null) CustomDimensionsEnum.hotEventScannedSourcesCount.cdKey: hotEventScannedSourcesCount.toString(), |
| if (hotEventReassembleTimeInMs != null) CustomDimensionsEnum.hotEventReassembleTimeInMs.cdKey: hotEventReassembleTimeInMs.toString(), |
| if (hotEventReloadVMTimeInMs != null) CustomDimensionsEnum.hotEventReloadVMTimeInMs.cdKey: hotEventReloadVMTimeInMs.toString(), |
| if (commandRunEnableImpeller != null) CustomDimensionsEnum.commandRunEnableImpeller.cdKey: commandRunEnableImpeller.toString(), |
| if (commandRunIOSInterfaceType != null) CustomDimensionsEnum.commandRunIOSInterfaceType.cdKey: commandRunIOSInterfaceType.toString(), |
| if (commandRunIsTest != null) CustomDimensionsEnum.commandRunIsTest.cdKey: commandRunIsTest.toString(), |
| }; |
| |
| /// Merge the values of two [CustomDimensions] into one. If a value is defined |
| /// in both instances, the value in [other] will override the value in this. |
| CustomDimensions merge(CustomDimensions? other) { |
| if (other == null) { |
| return this; |
| } |
| |
| return CustomDimensions( |
| sessionHostOsDetails: other.sessionHostOsDetails ?? sessionHostOsDetails, |
| sessionChannelName: other.sessionChannelName ?? sessionChannelName, |
| commandRunIsEmulator: other.commandRunIsEmulator ?? commandRunIsEmulator, |
| commandRunTargetName: other.commandRunTargetName ?? commandRunTargetName, |
| hotEventReason: other.hotEventReason ?? hotEventReason, |
| hotEventFinalLibraryCount: other.hotEventFinalLibraryCount ?? hotEventFinalLibraryCount, |
| hotEventSyncedLibraryCount: other.hotEventSyncedLibraryCount ?? hotEventSyncedLibraryCount, |
| hotEventSyncedClassesCount: other.hotEventSyncedClassesCount ?? hotEventSyncedClassesCount, |
| hotEventSyncedProceduresCount: other.hotEventSyncedProceduresCount ?? hotEventSyncedProceduresCount, |
| hotEventSyncedBytes: other.hotEventSyncedBytes ?? hotEventSyncedBytes, |
| hotEventInvalidatedSourcesCount: other.hotEventInvalidatedSourcesCount ?? hotEventInvalidatedSourcesCount, |
| hotEventTransferTimeInMs: other.hotEventTransferTimeInMs ?? hotEventTransferTimeInMs, |
| hotEventOverallTimeInMs: other.hotEventOverallTimeInMs ?? hotEventOverallTimeInMs, |
| commandRunProjectType: other.commandRunProjectType ?? commandRunProjectType, |
| commandRunProjectHostLanguage: other.commandRunProjectHostLanguage ?? commandRunProjectHostLanguage, |
| commandCreateAndroidLanguage: other.commandCreateAndroidLanguage ?? commandCreateAndroidLanguage, |
| commandCreateIosLanguage: other.commandCreateIosLanguage ?? commandCreateIosLanguage, |
| commandRunProjectModule: other.commandRunProjectModule ?? commandRunProjectModule, |
| commandCreateProjectType: other.commandCreateProjectType ?? commandCreateProjectType, |
| commandPackagesNumberPlugins: other.commandPackagesNumberPlugins ?? commandPackagesNumberPlugins, |
| commandPackagesProjectModule: other.commandPackagesProjectModule ?? commandPackagesProjectModule, |
| commandRunTargetOsVersion: other.commandRunTargetOsVersion ?? commandRunTargetOsVersion, |
| commandRunModeName: other.commandRunModeName ?? commandRunModeName, |
| commandBuildBundleTargetPlatform: other.commandBuildBundleTargetPlatform ?? commandBuildBundleTargetPlatform, |
| commandBuildBundleIsModule: other.commandBuildBundleIsModule ?? commandBuildBundleIsModule, |
| commandResult: other.commandResult ?? commandResult, |
| hotEventTargetPlatform: other.hotEventTargetPlatform ?? hotEventTargetPlatform, |
| hotEventSdkName: other.hotEventSdkName ?? hotEventSdkName, |
| hotEventEmulator: other.hotEventEmulator ?? hotEventEmulator, |
| hotEventFullRestart: other.hotEventFullRestart ?? hotEventFullRestart, |
| commandHasTerminal: other.commandHasTerminal ?? commandHasTerminal, |
| enabledFlutterFeatures: other.enabledFlutterFeatures ?? enabledFlutterFeatures, |
| localTime: other.localTime ?? localTime, |
| commandBuildAarTargetPlatform: other.commandBuildAarTargetPlatform ?? commandBuildAarTargetPlatform, |
| commandBuildAarProjectType: other.commandBuildAarProjectType ?? commandBuildAarProjectType, |
| buildEventCommand: other.buildEventCommand ?? buildEventCommand, |
| buildEventSettings: other.buildEventSettings ?? buildEventSettings, |
| commandBuildApkTargetPlatform: other.commandBuildApkTargetPlatform ?? commandBuildApkTargetPlatform, |
| commandBuildApkBuildMode: other.commandBuildApkBuildMode ?? commandBuildApkBuildMode, |
| commandBuildApkSplitPerAbi: other.commandBuildApkSplitPerAbi ?? commandBuildApkSplitPerAbi, |
| commandBuildAppBundleTargetPlatform: other.commandBuildAppBundleTargetPlatform ?? commandBuildAppBundleTargetPlatform, |
| commandBuildAppBundleBuildMode: other.commandBuildAppBundleBuildMode ?? commandBuildAppBundleBuildMode, |
| buildEventError: other.buildEventError ?? buildEventError, |
| commandResultEventMaxRss: other.commandResultEventMaxRss ?? commandResultEventMaxRss, |
| commandRunAndroidEmbeddingVersion: other.commandRunAndroidEmbeddingVersion ?? commandRunAndroidEmbeddingVersion, |
| commandPackagesAndroidEmbeddingVersion: other.commandPackagesAndroidEmbeddingVersion ?? commandPackagesAndroidEmbeddingVersion, |
| nullSafety: other.nullSafety ?? nullSafety, |
| nullSafeMigratedLibraries: other.nullSafeMigratedLibraries ?? nullSafeMigratedLibraries, |
| nullSafeTotalLibraries: other.nullSafeTotalLibraries ?? nullSafeTotalLibraries, |
| hotEventCompileTimeInMs: other.hotEventCompileTimeInMs ?? hotEventCompileTimeInMs, |
| hotEventFindInvalidatedTimeInMs: other.hotEventFindInvalidatedTimeInMs ?? hotEventFindInvalidatedTimeInMs, |
| hotEventScannedSourcesCount: other.hotEventScannedSourcesCount ?? hotEventScannedSourcesCount, |
| hotEventReassembleTimeInMs: other.hotEventReassembleTimeInMs ?? hotEventReassembleTimeInMs, |
| hotEventReloadVMTimeInMs: other.hotEventReloadVMTimeInMs ?? hotEventReloadVMTimeInMs, |
| commandRunEnableImpeller: other.commandRunEnableImpeller ?? commandRunEnableImpeller, |
| commandRunIOSInterfaceType: other.commandRunIOSInterfaceType ?? commandRunIOSInterfaceType, |
| commandRunIsTest: other.commandRunIsTest ?? commandRunIsTest, |
| ); |
| } |
| |
| static CustomDimensions fromMap(Map<String, String> map) => CustomDimensions( |
| sessionHostOsDetails: _extractString(map, CustomDimensionsEnum.sessionHostOsDetails), |
| sessionChannelName: _extractString(map, CustomDimensionsEnum.sessionChannelName), |
| commandRunIsEmulator: _extractBool(map, CustomDimensionsEnum.commandRunIsEmulator), |
| commandRunTargetName: _extractString(map, CustomDimensionsEnum.commandRunTargetName), |
| hotEventReason: _extractString(map, CustomDimensionsEnum.hotEventReason), |
| hotEventFinalLibraryCount: _extractInt(map, CustomDimensionsEnum.hotEventFinalLibraryCount), |
| hotEventSyncedLibraryCount: _extractInt(map, CustomDimensionsEnum.hotEventSyncedLibraryCount), |
| hotEventSyncedClassesCount: _extractInt(map, CustomDimensionsEnum.hotEventSyncedClassesCount), |
| hotEventSyncedProceduresCount: _extractInt(map, CustomDimensionsEnum.hotEventSyncedProceduresCount), |
| hotEventSyncedBytes: _extractInt(map, CustomDimensionsEnum.hotEventSyncedBytes), |
| hotEventInvalidatedSourcesCount: _extractInt(map, CustomDimensionsEnum.hotEventInvalidatedSourcesCount), |
| hotEventTransferTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventTransferTimeInMs), |
| hotEventOverallTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventOverallTimeInMs), |
| commandRunProjectType: _extractString(map, CustomDimensionsEnum.commandRunProjectType), |
| commandRunProjectHostLanguage: _extractString(map, CustomDimensionsEnum.commandRunProjectHostLanguage), |
| commandCreateAndroidLanguage: _extractString(map, CustomDimensionsEnum.commandCreateAndroidLanguage), |
| commandCreateIosLanguage: _extractString(map, CustomDimensionsEnum.commandCreateIosLanguage), |
| commandRunProjectModule: _extractBool(map, CustomDimensionsEnum.commandRunProjectModule), |
| commandCreateProjectType: _extractString(map, CustomDimensionsEnum.commandCreateProjectType), |
| commandPackagesNumberPlugins: _extractInt(map, CustomDimensionsEnum.commandPackagesNumberPlugins), |
| commandPackagesProjectModule: _extractBool(map, CustomDimensionsEnum.commandPackagesProjectModule), |
| commandRunTargetOsVersion: _extractString(map, CustomDimensionsEnum.commandRunTargetOsVersion), |
| commandRunModeName: _extractString(map, CustomDimensionsEnum.commandRunModeName), |
| commandBuildBundleTargetPlatform: _extractString(map, CustomDimensionsEnum.commandBuildBundleTargetPlatform), |
| commandBuildBundleIsModule: _extractBool(map, CustomDimensionsEnum.commandBuildBundleIsModule), |
| commandResult: _extractString(map, CustomDimensionsEnum.commandResult), |
| hotEventTargetPlatform: _extractString(map, CustomDimensionsEnum.hotEventTargetPlatform), |
| hotEventSdkName: _extractString(map, CustomDimensionsEnum.hotEventSdkName), |
| hotEventEmulator: _extractBool(map, CustomDimensionsEnum.hotEventEmulator), |
| hotEventFullRestart: _extractBool(map, CustomDimensionsEnum.hotEventFullRestart), |
| commandHasTerminal: _extractBool(map, CustomDimensionsEnum.commandHasTerminal), |
| enabledFlutterFeatures: _extractString(map, CustomDimensionsEnum.enabledFlutterFeatures), |
| localTime: _extractString(map, CustomDimensionsEnum.localTime), |
| commandBuildAarTargetPlatform: _extractString(map, CustomDimensionsEnum.commandBuildAarTargetPlatform), |
| commandBuildAarProjectType: _extractString(map, CustomDimensionsEnum.commandBuildAarProjectType), |
| buildEventCommand: _extractString(map, CustomDimensionsEnum.buildEventCommand), |
| buildEventSettings: _extractString(map, CustomDimensionsEnum.buildEventSettings), |
| commandBuildApkTargetPlatform: _extractString(map, CustomDimensionsEnum.commandBuildApkTargetPlatform), |
| commandBuildApkBuildMode: _extractString(map, CustomDimensionsEnum.commandBuildApkBuildMode), |
| commandBuildApkSplitPerAbi: _extractBool(map, CustomDimensionsEnum.commandBuildApkSplitPerAbi), |
| commandBuildAppBundleTargetPlatform: _extractString(map, CustomDimensionsEnum.commandBuildAppBundleTargetPlatform), |
| commandBuildAppBundleBuildMode: _extractString(map, CustomDimensionsEnum.commandBuildAppBundleBuildMode), |
| buildEventError: _extractString(map, CustomDimensionsEnum.buildEventError), |
| commandResultEventMaxRss: _extractInt(map, CustomDimensionsEnum.commandResultEventMaxRss), |
| commandRunAndroidEmbeddingVersion: _extractString(map, CustomDimensionsEnum.commandRunAndroidEmbeddingVersion), |
| commandPackagesAndroidEmbeddingVersion: _extractString(map, CustomDimensionsEnum.commandPackagesAndroidEmbeddingVersion), |
| nullSafety: _extractBool(map, CustomDimensionsEnum.nullSafety), |
| nullSafeMigratedLibraries: _extractInt(map, CustomDimensionsEnum.nullSafeMigratedLibraries), |
| nullSafeTotalLibraries: _extractInt(map, CustomDimensionsEnum.nullSafeTotalLibraries), |
| hotEventCompileTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventCompileTimeInMs), |
| hotEventFindInvalidatedTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventFindInvalidatedTimeInMs), |
| hotEventScannedSourcesCount: _extractInt(map, CustomDimensionsEnum.hotEventScannedSourcesCount), |
| hotEventReassembleTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventReassembleTimeInMs), |
| hotEventReloadVMTimeInMs: _extractInt(map, CustomDimensionsEnum.hotEventReloadVMTimeInMs), |
| commandRunEnableImpeller: _extractBool(map, CustomDimensionsEnum.commandRunEnableImpeller), |
| commandRunIOSInterfaceType: _extractString(map, CustomDimensionsEnum.commandRunIOSInterfaceType), |
| commandRunIsTest: _extractBool(map, CustomDimensionsEnum.commandRunIsTest), |
| ); |
| |
| static bool? _extractBool(Map<String, String> map, CustomDimensionsEnum field) => |
| map.containsKey(field.cdKey)? map[field.cdKey] == 'true' : null; |
| |
| static String? _extractString(Map<String, String> map, CustomDimensionsEnum field) => |
| map.containsKey(field.cdKey)? map[field.cdKey] : null; |
| |
| static int? _extractInt(Map<String, String> map, CustomDimensionsEnum field) => |
| map.containsKey(field.cdKey)? int.parse(map[field.cdKey]!) : null; |
| |
| @override |
| String toString() => toMap().toString(); |
| |
| @override |
| bool operator ==(Object other) { |
| return other is CustomDimensions && |
| _mapsEqual(other.toMap(), toMap()); |
| } |
| |
| @override |
| int get hashCode => Object.hashAll(toMap().values); |
| } |
| |
| /// List of all fields used in CustomDimensions. |
| /// |
| /// The index of this enum is used to calculate the key of the fields. Always |
| /// append to this list when adding new fields, and do not remove or reorder |
| /// any elements. |
| enum CustomDimensionsEnum { |
| sessionHostOsDetails, // cd1 |
| sessionChannelName, // cd2 |
| commandRunIsEmulator, // cd3 |
| commandRunTargetName, // cd4 |
| hotEventReason, // cd5 |
| hotEventFinalLibraryCount, // cd6 |
| hotEventSyncedLibraryCount, // cd7 |
| hotEventSyncedClassesCount, // cd8 |
| hotEventSyncedProceduresCount, // cd9 |
| hotEventSyncedBytes, // cd10 |
| hotEventInvalidatedSourcesCount, // cd11 |
| hotEventTransferTimeInMs, // cd12 |
| hotEventOverallTimeInMs, // cd13 |
| commandRunProjectType, // cd14 |
| commandRunProjectHostLanguage, // cd15 |
| commandCreateAndroidLanguage, // cd16 |
| commandCreateIosLanguage, // cd17 |
| commandRunProjectModule, // cd18 |
| commandCreateProjectType, // cd19 |
| commandPackagesNumberPlugins, // cd20 |
| commandPackagesProjectModule, // cd21 |
| commandRunTargetOsVersion, // cd22 |
| commandRunModeName, // cd23 |
| commandBuildBundleTargetPlatform, // cd24 |
| commandBuildBundleIsModule, // cd25 |
| commandResult, // cd26 |
| hotEventTargetPlatform, // cd27 |
| hotEventSdkName, // cd28 |
| hotEventEmulator, // cd29 |
| hotEventFullRestart, // cd30 |
| commandHasTerminal, // cd31 |
| enabledFlutterFeatures, // cd32 |
| localTime, // cd33 |
| commandBuildAarTargetPlatform, // cd34 |
| commandBuildAarProjectType, // cd35 |
| buildEventCommand, // cd36 |
| buildEventSettings, // cd37 |
| commandBuildApkTargetPlatform, // cd38 |
| commandBuildApkBuildMode, // cd39 |
| commandBuildApkSplitPerAbi, // cd40 |
| commandBuildAppBundleTargetPlatform, // cd41 |
| commandBuildAppBundleBuildMode, // cd42 |
| buildEventError, // cd43 |
| commandResultEventMaxRss, // cd44 |
| commandRunAndroidEmbeddingVersion, // cd45 |
| commandPackagesAndroidEmbeddingVersion, // cd46 |
| nullSafety, // cd47 |
| obsolete1, // cd48 (was fastReassemble) |
| nullSafeMigratedLibraries, // cd49 |
| nullSafeTotalLibraries, // cd50 |
| hotEventCompileTimeInMs, // cd51 |
| hotEventFindInvalidatedTimeInMs, // cd52 |
| hotEventScannedSourcesCount, // cd53 |
| hotEventReassembleTimeInMs, // cd54 |
| hotEventReloadVMTimeInMs, // cd55 |
| commandRunEnableImpeller, // cd56 |
| commandRunIOSInterfaceType, // cd57 |
| commandRunIsTest; // cd58 |
| |
| String get cdKey => 'cd${index + 1}'; |
| } |