Skip to content

Make traces and metrics optional#227

Merged
ioquatix merged 5 commits into
mainfrom
make-traces-metrics-optional
Jul 22, 2026
Merged

Make traces and metrics optional#227
ioquatix merged 5 commits into
mainfrom
make-traces-metrics-optional

Conversation

@ioquatix

Copy link
Copy Markdown
Member

Summary

  • Remove direct runtime dependencies on metrics and traces.
  • Keep metrics and traces available for the test/development bundle.
  • Require traces/provider explicitly from trace provider files.
  • Add an Unreleased release note.

Testing

  • bundle exec ruby -e 'require "async/http"'
  • bundle exec ruby -e 'require "metrics/provider/async/http"'
  • bundle exec ruby -e 'require "traces/provider/async/http"; require "traces/provider/async/http/protocol/http1/client"; require "traces/provider/async/http/protocol/http2/client"'
  • bundle exec rubocop async-http.gemspec gems.rb lib/traces/provider/async/http/client.rb lib/traces/provider/async/http/server.rb lib/traces/provider/async/http/protocol/http1/client.rb lib/traces/provider/async/http/protocol/http2/client.rb
  • bundle exec sus \test/async/http/body.rb
    test/async/http/body/hijack.rb
    test/async/http/body/pipe.rb
    test/async/http/client.rb
    test/async/http/client/google.rb
    test/async/http/endpoint.rb
    test/async/http/internet.rb
    test/async/http/internet/instance.rb
    test/async/http/middleware/location_redirector.rb
    test/async/http/mock.rb
    test/async/http/protocol/http.rb
    test/async/http/protocol/http1.rb
    test/async/http/protocol/http10.rb
    test/async/http/protocol/http11.rb
    test/async/http/protocol/http11/desync.rb
    test/async/http/protocol/http11/invalid_trailer.rb
    test/async/http/protocol/http2.rb
    test/async/http/protocol/http2/connection_close_with_active_streams.rb
    test/async/http/protocol/http2/invalid_trailer.rb
    test/async/http/protocol/http2/request_failed_on_refused_stream.rb
    test/async/http/protocol/http2/response_close_on_stream_error.rb
    test/async/http/protocol/http2/rst_stream_mid_write.rb
    test/async/http/protocol/https.rb
    test/async/http/proxy.rb
    test/async/http/retry.rb
    test/async/http/server.rb
    test/async/http/ssl.rb
    test/async/http/statistics.rb
    test/protocol/http/body/stream.rb
    test/protocol/http/body/streamable.rb
    test/rack/test.rb

Note: A plain bundle exec sus also picks up an unrelated untracked file, test/async/http/protocol/http2/put_reset_before_response.rb, which currently errors and is not included in this PR.

@ioquatix
ioquatix merged commit 73ed6ba into main Jul 22, 2026
34 of 40 checks passed
@ioquatix
ioquatix deleted the make-traces-metrics-optional branch July 22, 2026 02:40
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.

1 participant