Comments (4)
Hi @DChalcraft. I haven't used coverband in a while but 20% seems like a lot to me. Coverband relies on ruby's standard library code coverage which is pretty fast and shouldn't have that much overhead. Coverband also needs to write data to redis which should also be quite fast.
I think it would be interesting to dig in and see what's happening in your case. If you can replicate the issue in development then I think we are in a good position to track this down using a flame graph. Here's a library that I have used.
https://github.com/SamSaffron/flamegraph
As mentioned in the readme you could also use rack-mini-profiler which is a convenience library built on top of flamegraph and allows for generating the flamegraph directly in your browser with a request parameter.
In the end, you really just need to execute a code sample with coverband and without and compare the two flamegraphs. Just make sure that you've reproduced the issue in dev with that code sample before bringing in flamegraphs.
Hope that helps!
from coverband.
yeah, I haven't seen anything that drastic in terms of performance impact. If you have more info on the size of project, rails version, ruby version, coverband version, machine memory / CPU, etc that might help.
If you haven't adjusted any of the various toggles like reporting wiggle etc it would be worth trying those out.
from coverband.
Did you try anything else? If you have any other info I can try to look...
- rails / ruby versions
- number of files
- server: puma, unicorn, etc?
- coverband configuration file / options?
Let me know if you are doing any other investigation or want some specific help or I will close this out.
from coverband.
We've had to move onto other things for now so haven't had a chance to come back to this. If we return in the future I will post an update. Thanks for the help!
from coverband.
Related Issues (20)
- How do I clear/reset coverage of tracked views? HOT 9
- Output showing 0% or 100% in % Covered HOT 2
- Assets HOT 1
- Redis maximum number of connections HOT 4
- route tracker not showing list of not yet used routes HOT 1
- coverband tracking shape_too_complex
- Coverband Reports web View returning 500 errror unable to connect to redis HOT 3
- store clear raises TypeError on rake coverband:clear - Redis V5.0.8 HOT 2
- [feature request] display last posted datetime per line HOT 3
- Incompatible with bootsnap. HOT 4
- Docs/clarification request HOT 2
- Using COVERBAND_DISABLE_AUTO_START produces logging that Coverband failed to connect HOT 4
- Build generic Active Support Cache adapter
- remove the extra experimental cache layer in hash redis store
- cleanup and remove the migration concept
- remove simulate_oneshot_lines_coverage HOT 1
- Invalid route name, already in use `rails_service_blob_proxy` error at boot when upgrading to 6.1.2 HOT 2
- Redis namespace is not used by ViewTracker HOT 1
- Question: placing the configuration file for coverband under the `initializers` directory
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coverband.