rack-mini-profiler 3.1.1 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +17 -0
- data/README.md +2 -1
- data/lib/html/includes.js +3 -2
- data/lib/html/speedscope/{import.cf0fa83f.js → import.8ae8aa3d.js} +26 -18
- data/lib/html/speedscope/index.html +1 -1
- data/lib/html/speedscope/release.txt +3 -3
- data/lib/html/speedscope/{speedscope.44364064.js → speedscope.f27db165.js} +99 -106
- data/lib/mini_profiler/actions.rb +152 -0
- data/lib/mini_profiler/asset_version.rb +1 -1
- data/lib/mini_profiler/config.rb +2 -1
- data/lib/mini_profiler/profiling_methods.rb +4 -0
- data/lib/mini_profiler/storage/memcache_store.rb +9 -0
- data/lib/mini_profiler/timer_struct/request.rb +6 -0
- data/lib/mini_profiler/timer_struct/sql.rb +3 -1
- data/lib/mini_profiler/version.rb +1 -1
- data/lib/mini_profiler/views.rb +193 -0
- data/lib/mini_profiler.rb +64 -353
- data/lib/mini_profiler_rails/railtie.rb +10 -0
- data/lib/mini_profiler_rails/railtie_methods.rb +1 -1
- data/lib/patches/sql_patches.rb +2 -2
- data/rack-mini-profiler.gemspec +1 -1
- metadata +8 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 569f89edd8e16a6577ec6e22ca4a889026678d288d9282114b8fdeaedc6be2bf
|
4
|
+
data.tar.gz: 7ec71935c344ff9113d3b4b9dc70dfaf3430fa30796075391d7d65bc008cb390
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dcb3c67be45ee1b7dc7516f7ddef1f4f9b6fc1513db927009aac3ef11c504caa6d9b11f3d9a8b28028c7f35f2e6e450cdc0a6b124939d1901679129a758d4499
|
7
|
+
data.tar.gz: 28b0c19d557485c1abf1e636bebe911e42c8f3706de174021af6e543c0c52c4a6fa0ecdef39518acb58d18d5284147c4b57c950186a8b630e9bd2e69acbc72c9
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,22 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 3.3.0 - 2023-12-07
|
4
|
+
- [FEATURE] Use `?pp=flamegraph?ignore_gc=true` or `config.flamegraph_ignore_gc` to ignore gc in flamegraphs. [#599](https://github.com/MiniProfiler/rack-mini-profiler/pull/599)
|
5
|
+
|
6
|
+
## 3.2.1 - 2023-12-07
|
7
|
+
- [FIX] memory_profiler was broken due to an undefined local [#597](https://github.com/MiniProfiler/rack-mini-profiler/pull/597)
|
8
|
+
|
9
|
+
## 3.2.0 - 2023-12-06
|
10
|
+
- [BREAKING CHANGE] Ruby version 2.7.0 or later is required.
|
11
|
+
- [FEATURE] All RMP actions can be chosen by including a X-Rack-Mini-Profiler header as well as by query parameter. [#578](https://github.com/MiniProfiler/rack-mini-profiler/pull/578)
|
12
|
+
- [FEATURE] Speedscope 1.12 -> 1.16
|
13
|
+
- [FIX] If patch_rails is false, do not patch mysql2 or pg [#583](https://github.com/MiniProfiler/rack-mini-profiler/pull/583)
|
14
|
+
- [FIX] vertical position bottom now aligns the detail window correctly [#581](https://github.com/MiniProfiler/rack-mini-profiler/pull/581)
|
15
|
+
- [FIX] Webpacker hiccup in some setups [#582](https://github.com/MiniProfiler/rack-mini-profiler/pull/582)
|
16
|
+
- [INTERNAL] Capture rows instantiated by ActiveRecord, UI to be added later [#585](https://github.com/MiniProfiler/rack-mini-profiler/pull/585)
|
17
|
+
- [INTERNAL] Lots of refactoring.
|
18
|
+
|
19
|
+
|
3
20
|
## 3.1.1 - 2023-08-01
|
4
21
|
|
5
22
|
- [FIX] Include configured base path in speedscope iframe URL [#587](https://github.com/MiniProfiler/rack-mini-profiler/pull/587)
|
data/README.md
CHANGED
@@ -178,7 +178,7 @@ export RACK_MINI_PROFILER_PATCH_NET_HTTP="false"
|
|
178
178
|
|
179
179
|
To generate [flamegraphs](http://samsaffron.com/archive/2013/03/19/flame-graphs-in-ruby-miniprofiler), add the [**stackprof**](https://rubygems.org/gems/stackprof) gem to your Gemfile.
|
180
180
|
|
181
|
-
Then, to view the flamegraph as a direct HTML response from your request, just visit any page in your app with `?pp=flamegraph` appended to the URL
|
181
|
+
Then, to view the flamegraph as a direct HTML response from your request, just visit any page in your app with `?pp=flamegraph` appended to the URL, or add the header `X-Rack-Mini-Profiler` to the request with the value `flamegraph`.
|
182
182
|
|
183
183
|
Conversely, if you want your regular response instead (which is specially useful for JSON and/or XHR requests), just append the `?pp=async-flamegraph` parameter to your request/fetch URL; the request will then return as normal, and the flamegraph data will be stored for later *async* viewing, both for this request and for all subsequent requests made by this page (based on the `REFERER` header). For viewing these async flamegraphs, use the 'flamegraph' link that will appear inside the MiniProfiler UI for these requests.
|
184
184
|
|
@@ -431,6 +431,7 @@ start_hidden | `false`
|
|
431
431
|
backtrace_threshold_ms | `0` | Minimum SQL query elapsed time before a backtrace is recorded.
|
432
432
|
flamegraph_sample_rate | `0.5` | How often to capture stack traces for flamegraphs in milliseconds.
|
433
433
|
flamegraph_mode | `:wall` | The [StackProf mode](https://github.com/tmm1/stackprof#all-options) to pass to `StackProf.run`.
|
434
|
+
flamegraph_ignore_gc | `false` | Whether to ignore garbage collection frames in flamegraphs.
|
434
435
|
base_url_path | `'/mini-profiler-resources/'` | Path for assets; added as a prefix when naming assets and sought when responding to requests.
|
435
436
|
cookie_path | `'/'` | Set-Cookie header path for profile cookie
|
436
437
|
collapse_results | `true` | If multiple timing results exist in a single page, collapse them till clicked.
|
data/lib/html/includes.js
CHANGED
@@ -401,9 +401,10 @@ var _MiniProfiler = (function() {
|
|
401
401
|
var px = button.offsetTop - 1,
|
402
402
|
// position next to the button we clicked
|
403
403
|
windowHeight = window.innerHeight,
|
404
|
-
maxHeight = windowHeight - px - 40
|
404
|
+
maxHeight = windowHeight - px - 40, // make sure the popup doesn't extend below the fold
|
405
|
+
pxVertical = options.renderVerticalPosition === 'bottom' ? button.offsetParent.clientHeight - 21 - px : px;
|
405
406
|
|
406
|
-
popup.style[options.renderVerticalPosition] = "".concat(
|
407
|
+
popup.style[options.renderVerticalPosition] = "".concat(pxVertical, "px");
|
407
408
|
popup.style.maxHeight = "".concat(maxHeight, "px");
|
408
409
|
popup.style[options.renderHorizontalPosition] = "".concat(
|
409
410
|
button.offsetWidth - 3,
|