rack-profiler 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -2
- data/lib/grape/endpoint.rb +7 -0
- data/lib/rack/profiler.rb +10 -1
- data/lib/rack/profiler/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a343b0c57f979d808c382c43240fab52021e0d2b
|
4
|
+
data.tar.gz: af40d1d74d3b9bcd3bb3e2497ce0173a20e6ea6c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 888e9762b98c4c8a6bb20d0db4eb23c53358b1b32a595e3c7383b585d8fd44854dd5bb03210a9489207e186e381584471b0520a5517a35b9988c1b4947a2ae38
|
7
|
+
data.tar.gz: 9436e633d74ba37e8b347d6f8e5581a8bb7e2a059ca044759c495038367f20c490ce08b7426dcaa6fafe9318831a3dae1061cd34f129b77d9e3439ba2072f034
|
data/README.md
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
[](https://travis-ci.org/dawanda/rack-profiler) [](https://codeclimate.com/github/dawanda/rack-profiler) [](https://codeclimate.com/github/dawanda/rack-profiler)
|
4
4
|
[](http://badge.fury.io/rb/rack-profiler)
|
5
5
|
|
6
|
-
Simple profiler for Rack applications (Sinatra
|
6
|
+
Simple profiler for Rack applications (Sinatra, Ruby on Rails, or Grape for example).
|
7
7
|
It helps providing an answer to common questions like:
|
8
8
|
|
9
9
|
- Where is time spent in requests to my app?
|
@@ -21,6 +21,11 @@ subscribes by default to the following hooks:
|
|
21
21
|
* [render_partial.action_view](http://guides.rubyonrails.org/active_support_instrumentation.html#render_partial.action_view)
|
22
22
|
* [process_action.action_controller](http://guides.rubyonrails.org/active_support_instrumentation.html#process_action.action_controller)
|
23
23
|
|
24
|
+
`Rack::Profiler` also automatically subscribes to [Grape's](https://github.com/ruby-grape/grape) Active Support Instrumentation notifications
|
25
|
+
* [endpoint_run.grape](https://github.com/ruby-grape/grape#performance-monitoring)
|
26
|
+
* [endpoint_render.grape](https://github.com/ruby-grape/grape#performance-monitoring)
|
27
|
+
* [endpoint_run_filters.grape](https://github.com/ruby-grape/grape#performance-monitoring)
|
28
|
+
|
24
29
|
On top of this, you can also define your own events, by wrapping your code with
|
25
30
|
the [`Rack::Profiler.step`](#custom-steps).
|
26
31
|
|
@@ -46,7 +51,7 @@ Or install it yourself as:
|
|
46
51
|
|
47
52
|
$ gem install rack-profiler
|
48
53
|
|
49
|
-
### Rack/Sinatra
|
54
|
+
### Rack/Sinatra/Grape
|
50
55
|
|
51
56
|
In your `config.ru` use the `Rack::Profiler` middleware at the beginning of your
|
52
57
|
middleware stack:
|
data/lib/rack/profiler.rb
CHANGED
@@ -3,6 +3,7 @@ require "rack/request"
|
|
3
3
|
require "rack/auth/basic"
|
4
4
|
require "rack/profiler/version"
|
5
5
|
require "active_support/notifications"
|
6
|
+
require "grape/endpoint"
|
6
7
|
|
7
8
|
module Rack
|
8
9
|
class Profiler
|
@@ -14,8 +15,12 @@ module Rack
|
|
14
15
|
'render_template.action_view',
|
15
16
|
'render_partial.action_view',
|
16
17
|
'process_action.action_controller',
|
18
|
+
'endpoint_run.grape',
|
19
|
+
'endpoint_render.grape',
|
20
|
+
'endpoint_run_filters.grape',
|
17
21
|
'rack-profiler.total_time',
|
18
|
-
'rack-profiler.step'
|
22
|
+
'rack-profiler.step'
|
23
|
+
]
|
19
24
|
|
20
25
|
class DummyError < StandardError; end
|
21
26
|
|
@@ -83,6 +88,10 @@ module Rack
|
|
83
88
|
status, headers, body = @app.call(env)
|
84
89
|
end
|
85
90
|
return [status, headers, body] unless authorized?(env)
|
91
|
+
# Grape will inject the env into the payload.
|
92
|
+
# That'll cause problems with the json, so we'll just remove it.
|
93
|
+
events.each { |e| e[:payload].delete(:env) }
|
94
|
+
|
86
95
|
results = {
|
87
96
|
events: events.sort_by { |event| event[:start] },
|
88
97
|
response: {
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-profiler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luca Ongaro
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2016-01-14 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rack
|
@@ -95,6 +95,7 @@ files:
|
|
95
95
|
- LICENSE.txt
|
96
96
|
- README.md
|
97
97
|
- Rakefile
|
98
|
+
- lib/grape/endpoint.rb
|
98
99
|
- lib/rack/profiler.rb
|
99
100
|
- lib/rack/profiler/version.rb
|
100
101
|
- public/rack-profiler.html
|
@@ -121,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
121
122
|
version: '0'
|
122
123
|
requirements: []
|
123
124
|
rubyforge_project:
|
124
|
-
rubygems_version: 2.
|
125
|
+
rubygems_version: 2.2.2
|
125
126
|
signing_key:
|
126
127
|
specification_version: 4
|
127
128
|
summary: A simple profiler for Rack applications
|