Package libdatadog 0.8.0 for Ruby#44
Merged
Merged
Conversation
I'm following along the checklist at <https://github.com/DataDog/libdatadog/blob/main/ruby/README.md#releasing-a-new-version-to-rubygemsorg>
sanchda
approved these changes
Aug 30, 2022
sanchda
left a comment
Contributor
There was a problem hiding this comment.
Observation checklist:
- Updates hashes
- Refactors variable names
- References to ddprof_ffi_with_rpath are changed to datadog_profiling_with_rpath
I didn't check the hashes, but otherwise LGTM!
ivoanjo
pushed a commit
that referenced
this pull request
Jun 18, 2025
This started with enhancing tags, but when I was done I discovered a sigsev which could be triggered even from Rust code. I knew I had screwed up the lifetimes and unsafe code. So, I started working and I kept unravelling more and more. Slice and vec have been split into their own files as lib.rs was getting large. Many From traits were changed to work with &T instead of T because of lifetime issues. In this PR, some C FFI APIs for tags have been removed. A subsequent PR will add them back and enhance them. I wanted to keep the PR size to be somewhat manageable. Some places using some form of string have changed to use `Cow<'static, str>`. This allows you to borrow static strings, and own all others. When calling from C, the difference is very little because they _should_ have been copied (probably, was unsafe if not). I believe these are the changes which actually fixed the crash.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this PR do?
I'm following along the checklist at
https://github.com/DataDog/libdatadog/blob/main/ruby/README.md#releasing-a-new-version-to-rubygemsorg.
Motivation
Use latest release for Ruby profiling.
How to test the change?
I've gone ahead and updated the Ruby profiler to use this version in https://github.com/DataDog/dd-trace-rb/tree/ivoanjo/upgrade-to-libdatadog-0.8.0 . I am able to run the Ruby profiler test suite both on macOS as well as on Linux with the new release.
To reproduce my results, you need to do the following:
cd ruby && bundle exec rake packageruby/pkg/libdatadog-0.8.0.1.0.gemthat is generated by packaging to the root of the dd-trace-rb repositorydocker-compose run --rm tracer-2.7 /bin/bashgem install libdatadog-0.8.0.1.0.gembundle installbundle exec rake clean compile && bundle exec rspec spec/datadog/profiling