Is there a port mvc-mini-profiler for Rails?

2019-03-08 05:48发布

I'm a big fan of the MiniProfiler created by Jarrod Dixon and the Stack Overflow team for ASP.NET. Is there a port of it for Rails applications?

Since the core of the profiler is in JavaScript, JQuery.tmpl and Less it seems that porting the back-end to Rails would be fairly straight forward, the front-end is already done.

pic1

pic2

The front end architecture allows for POST and AJAX request profiling by attaching profiling ids to every request in a custom header (X-MiniProfiler-Ids).

There is a similar port for Python and GAE.

Even though Rack Bug is fairly interesting, the UI is not as rich - POST and AJAX support is not there, there is no API for profiling blocks and use in production is not recommended.

Similarly, NewRelic in dev mode is not supported in production and does not have the famous MiniProfiler "chicklet" rendered on each page.

Is there a port of MiniProfiler in Rails?

4条回答
孤傲高冷的网名
2楼-- · 2019-03-08 06:14

Have you looked at Rails-Footnotes?

"It displays footnotes in your application for easy debugging, such as sessions, request parameters, cookies, filter chain, routes, queries, etc.

Even more, it contains links to open files directly in your editor including your backtrace lines."

查看更多
Rolldiameter
3楼-- · 2019-03-08 06:19

There's NewRelic's "Developer Mode".

https://support.newrelic.com/help/kb/ruby/developer-mode

It's not a 1:1 but it does log actions, queries and even show you the source that executed queries.

They also have the source available at: https://github.com/newrelic/rpm

查看更多
一纸荒年 Trace。
4楼-- · 2019-03-08 06:28

Funny that you ask that, turns out we have been busy porting it to Ruby.

See:

查看更多
看我几分像从前
5楼-- · 2019-03-08 06:28

Rackbug is a Rack application, adds a diagnostics toolbar to Rack apps, it looks similar with MiniProfiler.

enter image description here

Take a look at features list:

  • Password-based security
  • IP-based security
  • Rack::Bug instrumentation/reporting is broken up into panels.
    • Panels in default configuration:
      • Rails Info
      • Timer
      • Request Variables
      • SQL
      • Active Record
      • Cache
      • Templates
      • Log
      • Memory
    • Other bundled panels:
      • Redis
      • Sphinx
    • The API for adding your own panels is simple and powerful

It can work on every environment you specified with restriction by IP address

查看更多
登录 后发表回答