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

[PROF-9180] Benchmarks for allocation profiling #3477

Merged
merged 3 commits into from
Mar 5, 2024

Conversation

AlexJF
Copy link
Contributor

@AlexJF AlexJF commented Feb 23, 2024

What does this PR do?
Adds sample+serialize ruby microbenchmark and a benchmarking platform configuration focused on allocation profiling.

Motivation:
Understand overheads of allocation profiling.

How to test the change?

Microbenchmark

❯ bundle exec ruby benchmarks/profiler_memory_sample_serialize.rb
Libdatadog from: /Users/alexandre.fonseca/Projects/DataDog/libdatadog/build/arm64-darwin-23/lib/pkgconfig
Current pid is 48717
DogStatsD reporting ❌ disabled
Warming up --------------------------------------
sample+serialize 
                         1.000  i/100ms
Calculating -------------------------------------
sample+serialize 
                          4.526  (± 0.0%) i/s -     46.000  in  10.164368s

Benchmarking platform

image

For Datadog employees:

  • If this PR touches code that signs or publishes builds or packages, or handles
    credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
  • This PR doesn't touch any of that.

Unsure? Have a question? Request a review!

@AlexJF AlexJF force-pushed the alexjf/prof-9180-allocation-profiler-benchmarks branch from 329295c to 42dbcbd Compare February 23, 2024 12:31
@codecov-commenter
Copy link

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 98.23%. Comparing base (81e6060) to head (42dbcbd).

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #3477   +/-   ##
=======================================
  Coverage   98.23%   98.23%           
=======================================
  Files        1275     1275           
  Lines       75167    75169    +2     
  Branches     3548     3548           
=======================================
+ Hits        73842    73844    +2     
  Misses       1325     1325           

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

@AlexJF AlexJF force-pushed the alexjf/prof-9180-allocation-profiler-benchmarks branch from 42dbcbd to 5ce2b7b Compare February 23, 2024 12:48
@AlexJF AlexJF marked this pull request as ready for review February 23, 2024 19:38
@AlexJF AlexJF requested review from a team as code owners February 23, 2024 19:38
Copy link
Member

@ivoanjo ivoanjo left a comment

Choose a reason for hiding this comment

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

👍 LGTM

spec/datadog/profiling/validate_benchmarks_spec.rb Outdated Show resolved Hide resolved
benchmarks/profiler_memory_sample_serialize.rb Outdated Show resolved Hide resolved
@AlexJF AlexJF merged commit d0d0db7 into master Mar 5, 2024
219 checks passed
@AlexJF AlexJF deleted the alexjf/prof-9180-allocation-profiler-benchmarks branch March 5, 2024 14:57
@github-actions github-actions bot added this to the 2.0 milestone Mar 5, 2024
@ivoanjo ivoanjo modified the milestones: 2.0, 1.21.0 Mar 14, 2024
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.

4 participants