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

Reduce verbosity of CleanupSession debug logs. #5209

Merged
merged 2 commits into from
Feb 11, 2022

Conversation

michaelkaye
Copy link
Contributor

@michaelkaye michaelkaye commented Feb 11, 2022

Type of change

  • Feature
  • Bugfix
  • Technical
  • Other :

Content

Debug logging for CleanupSession has been combined into a single log line.

Motivation and context

When reading the logs from some of the integration tests, there were periods of up to 10s of these logs being generated, which was a lot to scroll through.

Currently we wait up to 10s for this operation to complete.

Replacing the two log lines with three, lets us halve the number of logs printed every 10ms,
but always print exactly one log line each iteration of the loop. Rather than:

02-10 19:58:48.880  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.880  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.890  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.890  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.900  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.900  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.910  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.910  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.920  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (0 - 0)

We'll print:

02-10 19:58:48.880  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.890  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.900  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.910  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.920  3140  3140 D CleanupSession: Finished waiting for all Realm instance to be closed (0 - 0)

The above example took 40ms to finish and saved 4 log lines; you can see how it adds up to a lot of logs if you take 10000ms to finish.

Screenshots / GIFs

N/A

Tests

Inspected logging before/after

Tested devices

  • Physical
  • Emulator
  • OS version(s):

Checklist

Currently we wait up to 10s for this operation to complete.

Replacing the two log lines with three, lets us halve the number of logs printed every 10ms,
but always print exactly one log line each iteration of the loop. Rather than:

```
02-10 19:58:48.880  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.880  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.890  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.890  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.900  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.900  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.910  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (29 - 0)
02-10 19:58:48.910  3140  3140 D CleanupSession: Waiting 10ms
02-10 19:58:48.920  3140  3140 D CleanupSession: Wait for all Realm instance to be closed (0 - 0)
```

We'll print:

```
02-10 19:58:48.880  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.890  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.900  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.910  3140  3140 D CleanupSession: Waiting 10ms for all Realm instance to be closed (29 - 0)
02-10 19:58:48.920  3140  3140 D CleanupSession: Finished waiting for all Realm instance to be closed (0 - 0)
```

The above example took 40ms to finish and saved 4 log lines; you can see how it adds up if you take 10000ms to finish.
@michaelkaye
Copy link
Contributor Author

(for example the logs here: https://github.com/vector-im/element-android/suites/5263938080/artifacts/162501857 are quite long)

Copy link
Contributor

@ouchadam ouchadam left a comment

Choose a reason for hiding this comment

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

looks good to me! 💯

@github-actions
Copy link

Unit Test Results

  76 files  ±0    76 suites  ±0   58s ⏱️ -1s
144 tests ±0  144 ✔️ ±0  0 💤 ±0  0 ±0 
452 runs  ±0  452 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit edd9546. ± Comparison against base commit ea13f1c.

@michaelkaye michaelkaye marked this pull request as ready for review February 11, 2022 16:06
@github-actions
Copy link

github-actions bot commented Feb 11, 2022

Matrix SDK

Integration Tests Results:

  • [org.matrix.android.sdk.session]
    passed="4" failures="4" errors="0" skipped="0"
  • [org.matrix.android.sdk.account]
    passed="5" failures="0" errors="0" skipped="2"
  • [org.matrix.android.sdk.internal]
    passed="158" failures="0" errors="0" skipped="38"
  • [org.matrix.android.sdk.ordering]
    passed="16" failures="0" errors="0" skipped="0"
  • [org.matrix.android.sdk.PermalinkParserTest]
    passed="2" failures="0" errors="0" skipped="0"

@michaelkaye
Copy link
Contributor Author

Matrix SDK

Integration Tests Results:

* `[org.matrix.android.sdk.session]`passed="25" failures="16" errors="0" skipped="2"

While a lot of these integration tests are failing, this is also true for current develop https://github.com/vector-im/element-android/runs/5157323975?check_suite_focus=true where 17 of them are failing. I think this is safe to merge.

@ouchadam ouchadam merged commit d19e6d2 into develop Feb 11, 2022
@ouchadam ouchadam deleted the michaelk/reduce_debug_logging_loop branch February 11, 2022 16:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants