Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix logs, breadcrumbs and custom keys for ANRs #2718

Merged
merged 62 commits into from
Jun 23, 2021
Merged

Conversation

tejasd
Copy link
Contributor

@tejasd tejasd commented Jun 4, 2021

No description provided.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 4, 2021

Coverage Report

Affected SDKs

  • firebase-crashlytics

    SDK overall coverage changed from 8.81% (ac38b9a) to 10.16% (2e98b5c5) by +1.35%.

    Filename Base (ac38b9a) Head (2e98b5c5) Diff
    CommonUtils.java 0.94% 7.55% +6.60%
    CrashlyticsController.java 13.26% 14.48% +1.22%
    KeysMap.java 0.00% 36.84% +36.84%
    LogFileManager.java 2.17% 43.48% +41.30%
    MetaDataStore.java 0.00% 13.24% +13.24%
    QueueFileLogStore.java 0.00% 7.58% +7.58%
    SessionReportingCoordinator.java 43.28% 43.38% +0.10%
    UserMetadata.java 0.00% 40.00% +40.00%

Test Logs

Notes

HTML coverage reports can be produced locally with ./gradlew <product>:checkCoverage.
Report files are located at <product-build-dir>/reports/jacoco/.

Head commit (2e98b5c5) is created by Prow via merging commits: ac38b9a 2c8ee59.

@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 4, 2021

Binary Size Report

Affected SDKs

  • firebase-crashlytics

    Type Base (ac38b9a) Head (2e98b5c5) Diff
    aar 330 kB 330 kB +171 B (+0.1%)
    apk (aggressive) 196 kB 197 kB +732 B (+0.4%)
    apk (release) 825 kB 825 kB -116 B (-0.0%)

Test Logs

Notes

Head commit (2e98b5c5) is created by Prow via merging commits: ac38b9a 2c8ee59.

@tejasd tejasd requested review from mrichards and vywoo June 4, 2021 19:51
@tejasd tejasd changed the title Fix logs and breadcrumbs for ANRs Fix logs, breadcrumbs and custom keys for ANRs Jun 15, 2021
@google-oss-bot
Copy link
Contributor

google-oss-bot commented Jun 15, 2021

Macrobenchmark Report

Affected SDKs

Measurements are for head commit (339e3be). Diffing against base commit (ca67b3f) is working in progress.

  • baseline

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait143.0 ms191.0 ms160.0 ms174.9 ms189.5 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait41.0 ms67.0 ms54.5 ms63.4 ms67.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait53.0 ms103.0 ms80.0 ms90.1 ms100.7 ms
  • firebase-common

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait124.0 ms159.0 ms138.5 ms146.8 ms158.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait28.0 ms63.0 ms49.5 ms62.1 ms63.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait50.0 ms115.0 ms74.5 ms83.8 ms110.4 ms
  • firebase-config

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait143.0 ms168.0 ms148.5 ms161.7 ms168.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait36.0 ms66.0 ms52.0 ms63.2 ms65.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait54.0 ms101.0 ms69.5 ms86.8 ms99.7 ms
  • firebase-crashlytics

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait148.0 ms185.0 ms163.5 ms171.5 ms183.3 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait39.0 ms67.0 ms56.5 ms60.1 ms65.9 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait59.0 ms92.0 ms72.5 ms85.2 ms91.1 ms
  • firebase-database

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait119.0 ms155.0 ms140.0 ms152.0 ms154.4 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait40.0 ms60.0 ms47.0 ms56.1 ms59.4 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait53.0 ms82.0 ms66.5 ms81.1 ms82.0 ms
  • firebase-dynamic-links

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait129.0 ms169.0 ms142.5 ms153.2 ms166.3 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait36.0 ms62.0 ms51.0 ms60.1 ms61.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms88.0 ms76.0 ms85.2 ms87.8 ms
  • firebase-firestore

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait130.0 ms166.0 ms144.5 ms151.4 ms163.9 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait40.0 ms72.0 ms47.5 ms62.0 ms70.1 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms95.0 ms70.5 ms82.2 ms92.9 ms
  • firebase-functions

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait131.0 ms185.0 ms143.5 ms158.7 ms181.2 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait40.0 ms61.0 ms53.0 ms57.0 ms60.2 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait48.0 ms89.0 ms70.0 ms82.2 ms88.1 ms
  • firebase-inappmessaging-display

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait157.0 ms203.0 ms181.0 ms188.6 ms203.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait36.0 ms65.0 ms54.5 ms64.1 ms65.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait60.0 ms90.0 ms78.5 ms86.3 ms89.8 ms
  • firebase-messaging

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait139.0 ms176.0 ms156.0 ms171.5 ms176.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait47.0 ms63.0 ms52.0 ms57.1 ms62.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait48.0 ms88.0 ms70.5 ms82.2 ms87.2 ms
  • firebase-perf

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait149.0 ms196.0 ms164.0 ms176.4 ms193.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait33.0 ms62.0 ms55.5 ms61.1 ms62.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms94.0 ms74.0 ms90.2 ms93.6 ms
  • firebase-storage

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait123.0 ms170.0 ms149.5 ms163.1 ms168.9 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait36.0 ms69.0 ms52.5 ms66.3 ms69.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait54.0 ms90.0 ms74.0 ms87.1 ms89.6 ms

@pydichandra pydichandra self-requested a review June 16, 2021 14:00
relevantUserMetadata.setCustomKeys(new MetaDataStore(getFilesDir()).readKeyData(sessionId));
reportingCoordinator.persistAppExitInfoEvent(
sessionId,
applicationExitInfoList.get(0),

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am assuming single app_exit_info entry gets created for app exit (and not multiple app_exit_info entries eg., ANR and OOM after an app exit). Is this assumption correct?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That assumption is most likely correct., but the documentation doesn't explicitly mention it, and I haven't looked at the implementation yet - but it does imply (https://developer.android.com/reference/kotlin/android/app/ApplicationExitInfo#gettraceinputstream)

However, we're currently only collecting ANRs, and so it's ok to only collect the last app_exit_info.

Base automatically changed from td/anr to crashlytics/anrs June 23, 2021 14:32
@google-oss-bot
Copy link
Contributor

@tejasd: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
macrobenchmark 2c8ee59 link /test macrobenchmark
device-check-changed 2c8ee59 link /test device-check-changed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@tejasd tejasd merged commit a856774 into crashlytics/anrs Jun 23, 2021
@tejasd tejasd deleted the td/anr-2 branch June 23, 2021 17:31
@firebase firebase locked and limited conversation to collaborators Jul 24, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
cla: yes Override cla size/M
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants