firebase-android-sdk icon indicating copy to clipboard operation
firebase-android-sdk copied to clipboard

Make a best effort attempt to flush reports at crash time

Open mrober opened this issue 2 years ago • 4 comments

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.

mrober avatar Sep 16 '22 14:09 mrober

Coverage Report 1

Affected Products

  • firebase-crashlytics

    Overall coverage changed from ? (988ff71) to 10.14% (a542470) by ?.

    111 individual files with coverage change

    FilenameBase (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

    FilenameBase (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

google-oss-bot avatar Sep 16 '22 14:09 google-oss-bot

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.

github-actions[bot] avatar Sep 16 '22 15:09 github-actions[bot]

Size Report 1

Affected Products

  • firebase-crashlytics

    TypeBase (988ff71)Merge (a542470)Diff
    aar340 kB341 kB+965 B (+0.3%)
    apk (aggressive)217 kB217 kB+348 B (+0.2%)
    apk (release)894 kB895 kB+1.06 kB (+0.1%)
  • transport-backend-cct

    TypeBase (988ff71)Merge (a542470)Diff
    apk (release)105 kB105 kB+416 B (+0.4%)
  • transport-runtime

    TypeBase (988ff71)Merge (a542470)Diff
    aar178 kB180 kB+1.08 kB (+0.6%)
    apk (release)83.0 kB83.5 kB+540 B (+0.7%)

Test Logs

google-oss-bot avatar Sep 16 '22 15:09 google-oss-bot

@emilypgoogle jfyi

vkryachko avatar Sep 16 '22 15:09 vkryachko