Skip to content

Conversation

@tejasd
Copy link
Contributor

@tejasd tejasd commented May 14, 2021

No description provided.

@googlebot googlebot added the cla: yes Override cla label May 14, 2021
@google-oss-bot
Copy link
Contributor

google-oss-bot commented May 26, 2021

Macrobenchmark Report

Affected SDKs

Measurements are for head commit (167f2c1). Diffing against base commit (1b56da8) is working in progress.

  • baseline

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait129.0 ms165.0 ms142.0 ms154.6 ms164.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait35.0 ms63.0 ms49.5 ms59.1 ms62.4 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait60.0 ms95.0 ms73.5 ms86.5 ms94.2 ms
  • firebase-common

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait122.0 ms154.0 ms140.0 ms152.1 ms153.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait38.0 ms70.0 ms48.5 ms59.5 ms68.9 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait52.0 ms88.0 ms73.0 ms85.0 ms87.4 ms
  • firebase-config

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait136.0 ms165.0 ms148.0 ms161.0 ms164.2 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms63.0 ms55.0 ms60.3 ms63.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait57.0 ms108.0 ms76.0 ms92.4 ms105.7 ms
  • firebase-crashlytics

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait138.0 ms182.0 ms152.0 ms172.7 ms181.4 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait37.0 ms66.0 ms45.0 ms62.2 ms65.6 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait61.0 ms91.0 ms79.0 ms83.1 ms89.7 ms
  • firebase-database

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait129.0 ms163.0 ms152.5 ms162.0 ms162.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait38.0 ms69.0 ms55.5 ms62.4 ms68.4 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait55.0 ms95.0 ms74.5 ms93.0 ms94.6 ms
  • firebase-dynamic-links

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait127.0 ms167.0 ms142.5 ms153.5 ms165.3 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait38.0 ms67.0 ms49.0 ms57.8 ms66.6 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms88.0 ms72.5 ms83.1 ms87.2 ms
  • firebase-firestore

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait124.0 ms170.0 ms144.0 ms166.3 ms169.8 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait34.0 ms68.0 ms52.0 ms63.2 ms67.4 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait59.0 ms89.0 ms72.0 ms86.1 ms88.6 ms
  • firebase-functions

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait129.0 ms174.0 ms145.0 ms165.0 ms172.3 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait32.0 ms65.0 ms49.5 ms53.8 ms64.2 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms84.0 ms71.0 ms76.0 ms82.5 ms
  • firebase-inappmessaging-display

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait157.0 ms207.0 ms179.0 ms201.1 ms206.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait40.0 ms63.0 ms55.0 ms62.1 ms63.0 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait56.0 ms96.0 ms75.0 ms88.0 ms94.5 ms
  • firebase-messaging

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait139.0 ms165.0 ms157.0 ms162.0 ms164.4 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait40.0 ms68.0 ms52.5 ms63.4 ms67.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait59.0 ms89.0 ms74.5 ms81.3 ms88.1 ms
  • firebase-perf

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait162.0 ms206.0 ms180.0 ms200.1 ms205.0 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait44.0 ms79.0 ms61.0 ms67.6 ms77.9 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait64.0 ms96.0 ms84.0 ms92.1 ms95.4 ms
  • firebase-storage

    NameDeviceMinMaxP50P90P99
    BenchmarkTest.startup[mode=COLD]flame-30-en-portrait131.0 ms164.0 ms138.0 ms154.6 ms163.2 ms
    BenchmarkTest.startup[mode=HOT]flame-30-en-portrait38.0 ms68.0 ms50.5 ms64.3 ms67.8 ms
    BenchmarkTest.startup[mode=WARM]flame-30-en-portrait54.0 ms93.0 ms77.0 ms85.3 ms92.1 ms

@tejasd tejasd requested review from mrichards and vywoo June 2, 2021 19:22
@tejasd tejasd requested a review from pydichandra June 16, 2021 17:15
assertEquals(testApplicationExitInfo.getTimestamp(), event.getTimestamp());
assertEquals(
testApplicationExitInfo.getImportance()
!= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND,

Choose a reason for hiding this comment

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

makeAppExitInfo is setting ApplicationExitInfo.importance to FOREGROUND. Does that set event.app.background as well?

This condition is hard to read:
testApplicationExitInfo.getImportance() set to IMPORTANCE_FOREGROUND, so: testApplicationExitInfo.getImportance()
!= ActivityManager.RunningAppProcessInfo.IMPORTANCE_FOREGROUND evaluates false. I am not sure what is the default value for event.getApp().getBackground()

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Cleaned it up to make it more obvious (and added an extra test), but yes, converting an AppExitInfo to Event uses testApplicationExitInfo.getImportance() to decide whether it's foreground or background.

}

public Event captureAnrEventData(CrashlyticsReport.ApplicationExitInfo applicationExitInfo) {
final int orientation = context.getResources().getConfiguration().orientation;

Choose a reason for hiding this comment

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

nit: this is not the orientation of device at the time of ANR. may be do you want to add a comment here?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done.


private static Event makeAnrEvent() {
return makeTestEvent("ANR");
return Event.builder()

Choose a reason for hiding this comment

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

I see similar create ANR event methods in other unit tests as well. would it be possible to create a utility method to create ANR and use that in all the tests?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The codebase currently doesn't use a utility class and there are a decent number of methods that are repeated across unit tests eg.

  1. makeTestApplication
  2. makeTestEvents

etc.

I can take on a task to refactor this in a separate PR!

@tejasd tejasd merged commit ac38b9a into crashlytics/anrs Jun 23, 2021
@tejasd tejasd deleted the td/anr branch 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 6af964a link /test macrobenchmark
device-check-changed 6af964a link /test device-check-changed
Details

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.

@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/L

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants