honeycombio / libhoney-rb

Ruby library for sending data to Honeycomb
Apache License 2.0
11 stars 30 forks source link

Upgrade outdated dependencies #26

Closed reuben-sutton closed 6 years ago

reuben-sutton commented 6 years ago

Update some outdated dependencies

samstokes commented 6 years ago

Hi @reuben-sutton, thanks for submitting a PR!

Would you mind providing a bit more context about the problem you're trying to solve here? Upgrading rake and webmock is harmless and welcome (and I'd be happy to accept the PR as-is with just those changes), but upgrading the HTTP library can potentially have a pretty big impact - changing functionality, or altering the performance overhead or memory usage, etc - so it's something we try to do carefully and rarely.

If you happen to have run any benchmarks, performance tests etc that show the advantage of upgrading the http lib, or can link to any, that would be awesome too :)

bensheldon commented 6 years ago

I'm currently blocked on integrating Honeycomb because it has a dependency on http ~>2.0 and a version conflict with twitter gem which has pinned http ~>3.0 😭

I can't speak to performance unfortunately.

samstokes commented 6 years ago

Hi @bensheldon @reuben-sutton sorry to hear this is blocking you! Version constraint conflicts are the worst. I should have a chance next week to do some compatibility and performance testing on http 3.x to see if I can relax libhoney's constraint and allow that version.

In the meantime I've pushed a mirror of @reuben-sutton's branch to this repo, so as a temporary workaround you should be able to unblock by pointing your Gemfile at that branch:

gem 'libhoney', git: 'https://github.com/honeycombio/libhoney-rb', branch: 'upgrade_http_dependency'
samstokes commented 6 years ago

Hi, I've done some testing and it seems like performance is no worse (possibly even slightly better) with http 3.3.0. So I've released libhoney v1.10.0 which allows any 3.x version. Thanks for prompting us to upgrade!

(I made a slight change - rather than setting the requirement to http '~> 3.0' which would have forced all libhoney users to upgrade to http 3.x, I set it to http '>= 2.0', '< 4.0', which allows 3.x (and will use it by default) but also allows upgrading libhoney without upgrading http if anyone cares about that.)