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

Add lib injection support for Ruby 3.3 #4001

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

marcotc
Copy link
Member

@marcotc marcotc commented Oct 15, 2024

Support for Ruby 3.3 is present in the gem, the only thing needed for injection is to change the installation script to allow it to run with that version of Ruby.

Because the Ruby API does not change in incompatible ways in between patch versions, we declare our compatibility with the API version "3.3.0", thus supporting all 3.3.x versions.

How to test the change?

Unsure? Have a question? Request a review!

@marcotc marcotc requested a review from a team as a code owner October 15, 2024 16:53
@codecov-commenter
Copy link

codecov-commenter commented Oct 15, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 97.85%. Comparing base (38f6cc1) to head (0c22662).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #4001      +/-   ##
==========================================
- Coverage   97.86%   97.85%   -0.01%     
==========================================
  Files        1319     1319              
  Lines       79144    79144              
  Branches     3927     3927              
==========================================
- Hits        77451    77446       -5     
- Misses       1693     1698       +5     

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

Support for Ruby 3.3 is present in the gem, the only thing needed for injection is to change the installation script to allow it to run with that version of Ruby.

Because the Ruby API does not change in incompatible ways in between patch versions, we declare our compatibility with the API version "3.3.0", thus supporting all 3.3.x versions.

Signed-off-by: Marco Costa <[email protected]>
@pr-commenter
Copy link

pr-commenter bot commented Oct 15, 2024

Benchmarks

Benchmark execution time: 2024-10-22 17:23:00

Comparing candidate commit 0c22662 in PR branch marcotc/lilbinj-3.3.0 with baseline commit 38f6cc1 in branch master.

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

scenario:profiler - sample timeline=false

  • 🟥 throughput [-0.803op/s; -0.792op/s] or [-11.691%; -11.524%]

def runtime_supported?
major, minor, = RUBY_VERSION.split('.')
major, minor, = RUBY_VERSION.split('.') # {MAJOR}_{MINOR}_{TEENY}
ruby_api_version = "#{major}.#{minor}.0"
Copy link
Contributor

Choose a reason for hiding this comment

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

What is the purpose of .0 here? If only two components are used by the logic why not just have two components here?

Copy link
Contributor

@TonyCTHsu TonyCTHsu left a comment

Choose a reason for hiding this comment

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

What is blocking?

  • Need a custom Ruby 3.3 image to build gems in a static way
  • We are currently dealing with package size constraint, which is a prerequisite of this PR.

@marcotc
Copy link
Member Author

marcotc commented Oct 18, 2024

@TonyCTHsu

Need a custom Ruby 3.3 image to build gems in a static way

Where are these images stored?

@ivoanjo
Copy link
Member

ivoanjo commented Oct 23, 2024

Where are these images stored?

Afaik the dockerfiles are those in https://github.com/DataDog/dd-trace-rb/tree/master/.gitlab . I'm not sure how the rest of the pipeline is set up.

It may be worth documenting this somewhere? E.g. so it's clear how we can every year add new Ruby versions for the injection.

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.

5 participants