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-10241] Extract libdatadog crashtracker telemetry into separate extension #3824

Merged

Commits on Aug 2, 2024

  1. Bootstrap libdatadog_api native extension

    This extension will be used to call libdatadog APIs without needing
    to go through profiling.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    94fc941 View commit details
    Browse the repository at this point in the history
  2. Setup libdatadog_api linking based on profiling stuff

    There's a lot of copy-pasta and I'm not entirely happy. Let's go with
    it for now, to get it moving.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    bea50c9 View commit details
    Browse the repository at this point in the history
  3. Successful experimental extraction of crashtracker to new module

    The specs still pass! :)
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    ed05c7b View commit details
    Browse the repository at this point in the history
  4. Introduce new datadog_ruby_common.h/.c for common bits between exte…

    …nsions
    
    This cleans up the wad of copy-pasted code I did for my first attempt.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    4f8f500 View commit details
    Browse the repository at this point in the history
  5. Adopt new datadog_ruby_common.h/.c for profiling native extension

    These new files just moved things around from where they were in the
    profiler, and other than minimal cleanups, they are the same stuff.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    5a8bec6 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    0bf005d View commit details
    Browse the repository at this point in the history
  7. Rubocop tweaks for extconf

    We need to use these features in extconf, so let's tell rubocop to stop
    annoying us about it.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    3342c52 View commit details
    Browse the repository at this point in the history
  8. Extract libdatadog_folder_* into helper that can be shared between …

    …extensions
    
    Let's reduce the copy-pasta!
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    eabcb38 View commit details
    Browse the repository at this point in the history
  9. Extract pkg_config_missing? to libdatadog_extconf_helpers

    This also included adding a `skip_building_extension!` to
    `libdatadog_api/extconf.rb` so we can properly handle pkg-config
    failures like the profiler extension does.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    587d535 View commit details
    Browse the repository at this point in the history
  10. Extract try_loading_libdatadog to libdatadog_extconf_helpers

    This was the last bit that had been copy-pasta'd from the profiler
    native extension into the `libdatadog_api/extconf_helpers` and thus we
    are now sharing most of the extconf helpers.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    28ebaa7 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    85b1d8b View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    f051a0f View commit details
    Browse the repository at this point in the history
  13. Tag extension builds with only major.minor, skipping Ruby patch version

    This makes it easy to use the same prebuilt extension across multiple
    Ruby patch versions.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    f0a17d2 View commit details
    Browse the repository at this point in the history
  14. Inline Init_libdatadog_api into crashtracker.c

    One less file, and we can always extract it again later.
    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    7037bdb View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    b7dc64d View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    7448a21 View commit details
    Browse the repository at this point in the history
  17. Update type signature

    ivoanjo committed Aug 2, 2024
    Configuration menu
    Copy the full SHA
    5f6580d View commit details
    Browse the repository at this point in the history