scout_apm_ruby
mulog
scout_apm_ruby | mulog | |
---|---|---|
2 | 4 | |
187 | 472 | |
1.6% | - | |
5.9 | 4.6 | |
16 days ago | about 1 month ago | |
Ruby | Clojure | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
scout_apm_ruby
-
Tracing: Structured Logging, but better in every way
* trying to profile code, we used a modified version of Stackprof to do sampling instead of exact profiling. That worked surprisingly well at finding hotspots, with low overhead.
All sorts of other tricks came along too. I should go look at that codebase again to remind me. That'd be good for my resume.... :)
https://github.com/scoutapp/scout_apm_ruby
- Issues Installing scout_apm_ruby - SCOUT_DEV_TRACE
mulog
-
Tracing: Structured Logging, but better in every way
There are logging libraries that include syntactically scoped timers, such as mulog (https://github.com/BrunoBonacci/mulog). While a great library, we preferred timbre (https://github.com/taoensso/timbre) and rolled our own logging timer macro that interoperates with it. More convenient to have such niceties in a Lisp of course.
- A History of Clojure (2020) [pdf]
- Logging verbosely into a ring buffer?
-
Debugging in Clojure
Assuming the crash doesn't cause the process to completely exit, you could indeed use `scope-capture` for this. This works well for local dev. In theory, you could use `sc.api/spy` in production code, and then attach a remote repl to diagnose any crashes. I wouldn't recommend this though, I think it would be best to use a good logging library like Mulog: https://github.com/BrunoBonacci/mulog
What are some alternatives?
Rails Performance - Monitor performance of you Rails applications (self-hosted and free)
timbre - Pure Clojure/Script logging library
Skylight - Skylight agent for Ruby
re-frame-10x - A debugging dashboard for re-frame. X-ray vision as tooling.
yabeda-http_requests - Buildin metrics for monitor external HTTP requests
debug-repl - A Clojure debug repl as nrepl middleware
SchwadPerformanceLogger - Benchmarking your code, made simple.
clj-otel - An idiomatic Clojure API for adding telemetry to your libraries and applications using OpenTelemetry.
Instrumental - Ruby Agent for Instrumental Application Monitoring
cider - The Clojure Interactive Development Environment that Rocks for Emacs
New Relic - New Relic RPM Ruby Agent
spyscope - Trace-oriented debugging tools for Clojure