firebase-android-sdk
firebase-android-sdk copied to clipboard
Make a best effort attempt to flush reports at crash time
Make a best effort attempt to flush reports at crash time. This should allow us to upload reports for app initialization crashes. This will also prevent the app from needing to relaunch to upload the scheduled reports. If the best effort attempt fails, this will still go back to the original behaviour.
Coverage Report 1
Affected Products
firebase-crashlytics
Overall coverage changed from ? (988ff71) to 10.14% (a542470) by ?.
111 individual files with coverage change
Filename Base (988ff71) Merge (a542470) Diff AnalyticsDeferredProxy.java ? 0.00% ? AnalyticsEventLogger.java ? 0.00% ? AnalyticsEventReceiver.java ? 0.00% ? AppData.java ? 56.25% ? AutoCrashlyticsReportEncoder.java ? 57.86% ? AutoValue_CrashlyticsReport.java ? 0.00% ? AutoValue_CrashlyticsReportWithSessionId.java ? 0.00% ? AutoValue_CrashlyticsReport_ApplicationExitInfo.java ? 68.09% ? AutoValue_CrashlyticsReport_CustomAttribute.java ? 0.00% ? AutoValue_CrashlyticsReport_FilesPayload.java ? 0.00% ? AutoValue_CrashlyticsReport_FilesPayload_File.java ? 0.00% ? AutoValue_CrashlyticsReport_Session.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Application.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Application_Organization.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Device.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution_BinaryImage.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Exception.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Signal.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Application_Execution_Thread_Frame.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Device.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_Event_Log.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_OperatingSystem.java ? 0.00% ? AutoValue_CrashlyticsReport_Session_User.java ? 0.00% ? AutoValue_StaticSessionData.java ? 0.00% ? AutoValue_StaticSessionData_AppData.java ? 6.00% ? AutoValue_StaticSessionData_DeviceData.java ? 0.00% ? AutoValue_StaticSessionData_OsData.java ? 0.00% ? BackgroundPriorityRunnable.java ? 0.00% ? BatteryState.java ? 0.00% ? BlockingAnalyticsEventLogger.java ? 0.00% ? BreadcrumbAnalyticsEventReceiver.java ? 0.00% ? BreadcrumbHandler.java ? 0.00% ? BreadcrumbSource.java ? 0.00% ? BytesBackedNativeSessionFile.java ? 0.00% ? CachedSettingsIo.java ? 0.00% ? CLSUUID.java ? 0.00% ? CommonUtils.java ? 0.00% ? CrashlyticsAnalyticsListener.java ? 0.00% ? CrashlyticsBackgroundWorker.java ? 56.25% ? CrashlyticsController.java ? 18.29% ? CrashlyticsCore.java ? 0.63% ? CrashlyticsFileMarker.java ? 30.77% ? CrashlyticsLifecycleEvents.java ? 0.00% ? CrashlyticsNativeComponent.java ? 0.00% ? CrashlyticsNativeComponentDeferredProxy.java ? 25.81% ? CrashlyticsOriginAnalyticsEventLogger.java ? 0.00% ? CrashlyticsRegistrar.java ? 0.00% ? CrashlyticsReport.java ? 2.83% ? CrashlyticsReportDataCapture.java ? 3.98% ? CrashlyticsReportJsonTransform.java ? 1.24% ? CrashlyticsReportPersistence.java ? 3.19% ? CrashlyticsReportWithSessionId.java ? 0.00% ? CrashlyticsUncaughtExceptionHandler.java ? 0.00% ? CurrentTimeProvider.java ? 0.00% ? CustomKeysAndValues.java ? 0.00% ? DataCollectionArbiter.java ? 0.00% ? DataTransportCrashlyticsReportSender.java ? 48.28% ? DefaultSettingsJsonTransform.java ? 0.00% ? DefaultSettingsSpiCall.java ? 0.00% ? DeliveryMechanism.java ? 90.91% ? DevelopmentPlatformProvider.java ? 0.00% ? DisabledBreadcrumbSource.java ? 0.00% ? ExecutorUtils.java ? 0.00% ? FileBackedNativeSessionFile.java ? 0.00% ? FileLogStore.java ? 0.00% ? FileStore.java ? 36.36% ? FirebaseCrashlytics.java ? 0.00% ? HttpGetRequest.java ? 0.00% ? HttpRequestFactory.java ? 0.00% ? HttpResponse.java ? 0.00% ? IdManager.java ? 3.13% ? ImmutableList.java ? 0.00% ? InstallerPackageNameProvider.java ? 0.00% ? InstallIdProvider.java ? 0.00% ? KeysMap.java ? 24.32% ? LogFileManager.java ? 60.71% ? Logger.java ? 40.54% ? MetaDataStore.java ? 23.38% ? MiddleOutFallbackStrategy.java ? 0.00% ? MiddleOutStrategy.java ? 0.00% ? NativeSessionFile.java ? 0.00% ? NativeSessionFileGzipper.java ? 0.00% ? NativeSessionFileProvider.java ? 0.00% ? OnDemandCounter.java ? 0.00% ? QueueFile.java ? 0.00% ? QueueFileLogStore.java ? 7.58% ? RemoveRepeatsStrategy.java ? 0.00% ? ReportQueue.java ? 0.00% ? ResponseParser.java ? 0.00% ? SessionReportingCoordinator.java ? 44.76% ? Settings.java ? 94.74% ? SettingsCacheBehavior.java ? 0.00% ? SettingsController.java ? 0.00% ? SettingsJsonConstants.java ? 0.00% ? SettingsJsonParser.java ? 0.00% ? SettingsJsonTransform.java ? 0.00% ? SettingsProvider.java ? 0.00% ? SettingsRequest.java ? 0.00% ? SettingsSpiCall.java ? 0.00% ? SettingsV3JsonTransform.java ? 0.00% ? StackTraceTrimmingStrategy.java ? 0.00% ? StaticSessionData.java ? 12.50% ? SystemCurrentTimeProvider.java ? 0.00% ? TrimmedThrowableData.java ? 0.00% ? UnavailableAnalyticsEventLogger.java ? 0.00% ? UserMetadata.java ? 25.93% ? Utils.java ? 0.00% ? transport-runtime
Overall coverage changed from ? (988ff71) to 0.00% (a542470) by ?.
93 individual files with coverage change
Filename Base (988ff71) Merge (a542470) Diff AlarmManagerScheduler.java ? 0.00% ? AlarmManagerSchedulerBroadcastReceiver.java ? 0.00% ? AutoProtoEncoderDoNotUseEncoder.java ? 0.00% ? AutoValue_BackendRequest.java ? 0.00% ? AutoValue_BackendResponse.java ? 0.00% ? AutoValue_CreationContext.java ? 0.00% ? AutoValue_EventInternal.java ? 0.00% ? AutoValue_EventStoreConfig.java ? 0.00% ? AutoValue_PersistedEvent.java ? 0.00% ? AutoValue_SchedulerConfig.java ? 0.00% ? AutoValue_SchedulerConfig_ConfigValue.java ? 0.00% ? AutoValue_SendRequest.java ? 0.00% ? AutoValue_TransportContext.java ? 0.00% ? BackendFactory.java ? 0.00% ? BackendRegistry.java ? 0.00% ? BackendRegistryModule.java ? 0.00% ? BackendRequest.java ? 0.00% ? BackendResponse.java ? 0.00% ? ClientHealthMetricsStore.java ? 0.00% ? ClientMetrics.java ? 0.00% ? Clock.java ? 0.00% ? CreationContext.java ? 0.00% ? CreationContextFactory.java ? 0.00% ? CreationContextFactory_Factory.java ? 0.00% ? DaggerTransportRuntimeComponent.java ? 0.00% ? DefaultScheduler.java ? 0.00% ? DefaultScheduler_Factory.java ? 0.00% ? Destination.java ? 0.00% ? EncodedDestination.java ? 0.00% ? EncodedPayload.java ? 0.00% ? EventInternal.java ? 0.00% ? EventStore.java ? 0.00% ? EventStoreConfig.java ? 0.00% ? EventStoreModule.java ? 0.00% ? EventStoreModule_DbNameFactory.java ? 0.00% ? EventStoreModule_PackageNameFactory.java ? 0.00% ? EventStoreModule_SchemaVersionFactory.java ? 0.00% ? EventStoreModule_StoreConfigFactory.java ? 0.00% ? ExecutionModule.java ? 0.00% ? ExecutionModule_ExecutorFactory.java ? 0.00% ? ForcedSender.java ? 0.00% ? Function.java ? 0.00% ? GlobalMetrics.java ? 0.00% ? JobInfoScheduler.java ? 0.00% ? JobInfoSchedulerService.java ? 0.00% ? LogEventDropped.java ? 0.00% ? Logging.java ? 0.00% ? LogSourceMetrics.java ? 0.00% ? MetadataBackendRegistry.java ? 0.00% ? MetadataBackendRegistry_Factory.java ? 0.00% ? Monotonic.java ? 0.00% ? PersistedEvent.java ? 0.00% ? PriorityMapping.java ? 0.00% ? ProtoEncoderDoNotUse.java ? 0.00% ? Retries.java ? 0.00% ? RetryStrategy.java ? 0.00% ? SafeLoggingExecutor.java ? 0.00% ? Scheduler.java ? 0.00% ? SchedulerConfig.java ? 0.00% ? SchedulingConfigModule.java ? 0.00% ? SchedulingConfigModule_ConfigFactory.java ? 0.00% ? SchedulingModule.java ? 0.00% ? SchedulingModule_WorkSchedulerFactory.java ? 0.00% ? SchemaManager.java ? 0.00% ? SchemaManager_Factory.java ? 0.00% ? SendRequest.java ? 0.00% ? SQLiteEventStore.java ? 0.00% ? SQLiteEventStore_Factory.java ? 0.00% ? StorageMetrics.java ? 0.00% ? SynchronizationException.java ? 0.00% ? SynchronizationGuard.java ? 0.00% ? TestClock.java ? 0.00% ? TimeModule.java ? 0.00% ? TimeModule_EventClockFactory.java ? 0.00% ? TimeModule_UptimeClockFactory.java ? 0.00% ? TimeWindow.java ? 0.00% ? TransportBackend.java ? 0.00% ? TransportBackendDiscovery.java ? 0.00% ? TransportContext.java ? 0.00% ? TransportFactoryImpl.java ? 0.00% ? TransportImpl.java ? 0.00% ? TransportInternal.java ? 0.00% ? TransportRuntime.java ? 0.00% ? TransportRuntimeComponent.java ? 0.00% ? TransportRuntime_Factory.java ? 0.00% ? Uploader.java ? 0.00% ? Uploader_Factory.java ? 0.00% ? UptimeClock.java ? 0.00% ? WallTime.java ? 0.00% ? WallTimeClock.java ? 0.00% ? WorkInitializer.java ? 0.00% ? WorkInitializer_Factory.java ? 0.00% ? WorkScheduler.java ? 0.00% ?
Test Logs
Unit Test Results
792 tests - 180 792 :heavy_check_mark: - 180 5m 1s :stopwatch: + 3m 15s 60 suites + 9 0 :zzz: ± 0 60 files + 9 0 :x: ± 0
Results for commit 7a4d20e6. ± Comparison against base commit 6df92b97.
:recycle: This comment has been updated with latest results.
Size Report 1
Affected Products
firebase-crashlytics
Type Base (988ff71) Merge (a542470) Diff aar 340 kB 341 kB +965 B (+0.3%) apk (aggressive) 217 kB 217 kB +348 B (+0.2%) apk (release) 894 kB 895 kB +1.06 kB (+0.1%) transport-backend-cct
Type Base (988ff71) Merge (a542470) Diff apk (release) 105 kB 105 kB +416 B (+0.4%) transport-runtime
Type Base (988ff71) Merge (a542470) Diff aar 178 kB 180 kB +1.08 kB (+0.6%) apk (release) 83.0 kB 83.5 kB +540 B (+0.7%)
Test Logs
@emilypgoogle jfyi