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

ci: benchmarking updates #1926

Merged
merged 37 commits into from
Jul 13, 2022
Merged

ci: benchmarking updates #1926

merged 37 commits into from
Jul 13, 2022

Conversation

armcknight
Copy link
Member

@armcknight armcknight commented Jun 30, 2022

We want to change a few things about benchmarking, necessitating refactoring so that the test and configs for actions/saucelabs are all separated from the UI test stuff into which they were previously integrated:

  • only run on a cron schedule once per day vs. on each PR
  • run on a device from each class we define as low, mid and high -> can't get it working on lower devices, see intermediate commits for what was tried
  • disable ANR tracking (Disable ANR detection in benchmarks  #1961)
  • capture the raw outputs from benchmarks and print to logs for postprocessing by a new script

script output from the most recent run:

❯ ./scripts/process-benchmark-raw-results.py /Users/andrewmcknight/Downloads/xcuitest-9.log
Benchmark report
----------------
All observations (overhead, %):
['3.776', '3.779', '3.780', '3.785', '3.787', '3.790', '3.790', '3.792', '3.792', '3.793', '3.794', '3.796', '3.796', '3.796', '3.798', '3.798', '3.800', '3.800', '3.802', '3.811']

Median: 3.793
Mean: 3.793
P90: 3.800

#skip-changelog

@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from b17ab9c to 8af6508 Compare June 30, 2022 23:41
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 7842bf6 to c0cdc13 Compare July 1, 2022 08:14
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 829b665 to 52c46f4 Compare July 6, 2022 00:45
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 043fe79 to 5ead763 Compare July 6, 2022 00:57
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from e604e58 to d83ab35 Compare July 6, 2022 01:28
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 60c3074 to 0d1218f Compare July 6, 2022 22:37
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 8c70b94 to 8cc7549 Compare July 6, 2022 23:58
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 92efeb3 to 3db365f Compare July 7, 2022 00:17
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 15ef7c9 to 6794cf9 Compare July 7, 2022 04:36
@armcknight armcknight force-pushed the armcknight/benchmark-raw-export branch from 65b4385 to 7408e19 Compare July 7, 2022 05:00
@armcknight armcknight marked this pull request as ready for review July 8, 2022 04:47
@armcknight armcknight requested a review from indragiek July 8, 2022 04:48
@philipphofmann
Copy link
Member

philipphofmann commented Jul 8, 2022

@philipphofmann this is not ready for review yet, we're still trying to work a couple things out. i'll mark it as ready for review when the time comes

I converted this to a draft. Please change it to ready for review once it is.

@philipphofmann philipphofmann marked this pull request as draft July 8, 2022 12:50
@armcknight
Copy link
Member Author

@philipphofmann It was actually a draft before, but I finished working on it yesterday so marked it as ready for review 😄

@armcknight armcknight marked this pull request as ready for review July 9, 2022 06:36
Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

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

First pass, will continue tomorrow.

Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

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

Just wonder why we dynamically create tests? Apart from that LGTM.

Copy link
Member

@philipphofmann philipphofmann left a comment

Choose a reason for hiding this comment

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

Thanks 🙏

@armcknight armcknight merged commit e7beac2 into master Jul 13, 2022
@armcknight armcknight deleted the armcknight/benchmark-raw-export branch July 13, 2022 19:38
kevinrenskers added a commit that referenced this pull request Jul 14, 2022
* master:
  ci: Don't run benchmarks on release (#1971)
  Don't track OOMs for simulators (#1970)
  feat: Automatic nest new spans with the ui life cycle function (#1959)
  docs: update some docs/comments to read a little better (#1966)
  ci: benchmarking updates (#1926)
  feat: upload list of slow/frozen rendered frame timestamps during a profile (#1910)
  feat: Enhance the UIViewController breadcrumbs with more data (#1945)

# Conflicts:
#	Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_System.h
kevinrenskers added a commit that referenced this pull request Jul 18, 2022
* master:
  ref: Fix linter error (#1981)
  fix: read free_memory when the event is captured, not only at SDK startup (#1962)
  fix: Remove Sentry keys from cached HTTP request headers (#1975)
  release: 7.21.0
  ci: Don't run benchmarks on release (#1971)
  Don't track OOMs for simulators (#1970)
  feat: Automatic nest new spans with the ui life cycle function (#1959)
  docs: update some docs/comments to read a little better (#1966)
  ci: benchmarking updates (#1926)
  feat: upload list of slow/frozen rendered frame timestamps during a profile (#1910)
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.

None yet

3 participants