Skip to content

Commit

Permalink
notes
Browse files Browse the repository at this point in the history
  • Loading branch information
danmayer committed May 25, 2020
1 parent 5fe0d85 commit 1b957b1
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 25 deletions.
28 changes: 5 additions & 23 deletions changes.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,33 +51,15 @@ Will be the fully modern release that drops maintenance legacy support in favor
- add gem_details_safe list to report on details on some gems
- - display gems that are in loaded with 0 coverage, thanks @kbaum

### Coverband_jam_session

This is a possible gem to host experimental or more complex features, which would require tuning, configuration, and performance trade offs. If something is really valuable it could be promoted into the main line.

Feature Ideas:

- per request coverage implemented via Ruby 2.6.0 coverage.clear https://bugs.ruby-lang.org/issues/15022
- statsd adapters (it would allow passing in date ranges on usage)
- Possibly add ability to record code run for a given route
- integrate recording with deploy tag or deploy timestamp
- diff code usage across deployed versions
- what methods increased usage or decreased
- ability to change the Coverband config at runtime by changing the config pushed to the Redis hash. In memory cache around the changes to only make that call periodically.
- Opposed to just showing code usage on a route allow 'tagging' events which would record line coverage for that tag (this would allow tagging all code that modified an ActiveRecord model for example
- additional adapters (tracepoint, ruby-profiler, etc)
- tagged coverage reports
- code route tracing (entry point to all code executed for example /some_path -> code coverage of that path)
- deploy git hash tagging of reported Coverage
- allow only to collect coverage based on route (limiting or scoped coverage)
- coverage over some other variable like a set of alpha users
- document how to use this on staging / selenium test suite runs
- possible add API to pull report at end of run

# Alpha / Beta / Release Candidates

### Coverband 5.0.0

- Full JRuby support
- Reduced footprint
- drops S3 support
- drops static report support
- drops gem support
- ?

# Released
Expand Down
7 changes: 5 additions & 2 deletions lib/coverband.rb
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,11 @@ def self.runtime_coverage!
end
unless ENV["COVERBAND_DISABLE_AUTO_START"]
begin
# TODO: unless already exists, as this was patched in Jruby latest
require "coverband/utils/jruby_ext" if RUBY_PLATFORM == "java"
if RUBY_PLATFORM == "java"
unless Coverage.respond_to(:line_stub)
require "coverband/utils/jruby_ext"
end
end
# Coverband should be setup as early as possible
# to capture usage of things loaded by initializers or other Rails engines
configure
Expand Down

0 comments on commit 1b957b1

Please sign in to comment.