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

[NO-TICKET] Tweak duration of profiler_sample_serialize benchmark #3928

Merged
merged 1 commit into from
Sep 19, 2024

Conversation

ivoanjo
Copy link
Member

@ivoanjo ivoanjo commented Sep 19, 2024

What does this PR do?

This PR tweaks the default duration of the
benchmarks/profiler_sample_serialize.rb benchmark. This duration gets used when we run benchmarks on every PR.

Motivation:

We've been seeing quite a bit of variance in the benchmarks from run-to-run which makes it seem like there are regressions/improvements even when nothing of consequence is touched (e.g. PR that changes docs even).

This got better when we adjusted the thresholds used by the benchmarking platform, but I'm still seeing this benchmark in particular show up quite often in a "flaky" way.

I suspect this behavior may be because each step on this benchmark can take takes more than one second (since it simulates 60 seconds of profiling data) and thus the low number of iterations creates more noise.

I'm hoping that by raising the duration of this benchmark to 1 minute we'll see the run-to-run variation go down.

Additional Notes:

N/A

How to test the change?

Validate benchmark is running for 1 minute in CI.

**What does this PR do?**

This PR tweaks the default duration of the
`benchmarks/profiler_sample_serialize.rb` benchmark. This duration
gets used when we run benchmarks on every PR.

**Motivation:**

We've been seeing quite a bit of variance in the benchmarks from
run-to-run which makes it seem like there are regressions/improvements
even when nothing of consequence is touched (e.g. PR that changes docs
even).

This got better when we adjusted the thresholds used by the benchmarking
platform, but I'm still seeing this benchmark in particular show up
quite often in a "flaky" way.

I suspect this behavior may be because each step on this benchmark takes
more than one second (since it simulates 60 seconds of profiling data)
and thus the low number of iterations creates more noise.

I'm hoping that by raising the duration of this benchmark to 1 minute
we'll see the run-to-run variation go down.

**Additional Notes:**

N/A

**How to test the change?**

Validate benchmark is running for 1 minute in CI.
@ivoanjo ivoanjo requested a review from a team as a code owner September 19, 2024 05:01
@github-actions github-actions bot added the dev/testing Involves testing processes (e.g. RSpec) label Sep 19, 2024
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.79%. Comparing base (f6ec8b7) to head (3b54135).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3928   +/-   ##
=======================================
  Coverage   97.78%   97.79%           
=======================================
  Files        1291     1291           
  Lines       77149    77149           
  Branches     3810     3810           
=======================================
+ Hits        75440    75447    +7     
+ Misses       1709     1702    -7     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@pr-commenter
Copy link

pr-commenter bot commented Sep 19, 2024

Benchmarks

Benchmark execution time: 2024-09-19 05:40:22

Comparing candidate commit 3b54135 in PR branch ivoanjo/tweak-profiler-sample-benchmark with baseline commit f6ec8b7 in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 23 metrics, 2 unstable metrics.

@ivoanjo ivoanjo merged commit 2610cb8 into master Sep 19, 2024
193 checks passed
@ivoanjo ivoanjo deleted the ivoanjo/tweak-profiler-sample-benchmark branch September 19, 2024 07:03
@github-actions github-actions bot added this to the 2.4.0 milestone Sep 19, 2024
@ivoanjo ivoanjo added profiling Involves Datadog profiling dev/internal Other internal work that does not need to be included in the changelog labels Sep 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dev/internal Other internal work that does not need to be included in the changelog dev/testing Involves testing processes (e.g. RSpec) profiling Involves Datadog profiling
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants