lograge_waittime 0.4.1 → 0.4.2
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/CHANGELOG.md +5 -0
- data/README.md +12 -5
- data/lib/lograge_waittime/version.rb +1 -1
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8091b0af74830e6c1e7be81df8c280b9666389796891833c8d36073da5d1a7e0
|
4
|
+
data.tar.gz: 11c1fa15d4a937b1e12ff63100e15889ad358fab351ef16e4e1e4bbe361e4824
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b2291da1e229851b0f3aebcb71794ae0a4a863589b463da6d781486ffc7fced52bfbb099d9b6b96dc9c08087dfb0630039edd40342e61b0e0ba7fa4403fd275c
|
7
|
+
data.tar.gz: 4ecc7ba4b8dc9a5d711bf557b39510decd626eb8e5ee8bf427a0d847e9b17ea401a024f4eb9e456780683c924e8f074fdc421d54c6f17a6ab5bcbfd5aaaf188e
|
data/CHANGELOG.md
CHANGED
@@ -5,6 +5,11 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|
5
5
|
|
6
6
|
## Unreleased
|
7
7
|
|
8
|
+
## 0.4.2 - 2024-11-10
|
9
|
+
|
10
|
+
* Testing: Added Rails 7.0 on Ruby 3.2 to test matrix
|
11
|
+
* Testing: Added Rails 7.1 and 8.0 on Ruby 3.3 to test matrix
|
12
|
+
|
8
13
|
## 0.4.1 - 2023-02-09
|
9
14
|
|
10
15
|
* Testing: Added Rails 7.0 on Ruby 3.1 to test matrix
|
data/README.md
CHANGED
@@ -27,14 +27,14 @@ Long wait times will feel like a sluggish site for end users, and even though yo
|
|
27
27
|
|
28
28
|
## Docker demo setup
|
29
29
|
|
30
|
-
To quickly get a feel for the parts of the setup, a `docker
|
30
|
+
To quickly get a feel for the parts of the setup, a `docker compose` sample configuration is included.
|
31
31
|
The setup is fairly simple: requests first hit an NGINX instance, then they are forwarded to the Rails app.
|
32
32
|
By looking at the log-output you can observe the request queueing time for each request as `wait`.
|
33
33
|
|
34
34
|
Try it out by running:
|
35
35
|
|
36
36
|
```
|
37
|
-
docker
|
37
|
+
docker compose up
|
38
38
|
```
|
39
39
|
|
40
40
|
Then you can visit [http://localhost:3030/echo](http://localhost:3030/echo) and you will now see the live `wait=` output in the Rails log, like this:
|
@@ -50,6 +50,8 @@ This next request was through a warmed up stack:
|
|
50
50
|
method=GET path=/echo format=html controller=EchosController action=index status=200 duration=0.60 view=0.28 wait=14.37
|
51
51
|
```
|
52
52
|
|
53
|
+
For comparison, you can visit [http://localhost:3020/echo](http://localhost:3020/echo) to see the behaviour when the NGINX queue start header is missing.
|
54
|
+
|
53
55
|
## Installation
|
54
56
|
|
55
57
|
### NGINX change
|
@@ -60,8 +62,10 @@ proxy_set_header X-Request-Start "t=${msec}";
|
|
60
62
|
```
|
61
63
|
to the relevant part of your server setup. According to [NGINX docs](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_set_header), it can go in one of `http`, `server`, or `location`.
|
62
64
|
|
65
|
+
Example from the demo config is at [nginx.conf](docker/web/nginx.conf#L36-L37).
|
66
|
+
|
63
67
|
This adds a new header to all incoming requests, with current time in milliseconds as the value.
|
64
|
-
`msec` is supported from NGINX releases 1.2.6 and 1.3.9.
|
68
|
+
`msec` is supported from NGINX releases 1.2.6 and 1.3.9 (both from 2012).
|
65
69
|
|
66
70
|
### Rails app changes:
|
67
71
|
|
@@ -72,7 +76,7 @@ bundle add lograge_waittime
|
|
72
76
|
```
|
73
77
|
|
74
78
|
Then add it to your existing lograge initializer, typically in `config/initializers/lograge.rb`.
|
75
|
-
If you are just setting up lograge, please check
|
79
|
+
If you are just setting up lograge, please check the [lograge projects documentation](https://www.rubydoc.info/gems/lograge/) for up to date information.
|
76
80
|
|
77
81
|
``` ruby
|
78
82
|
Rails.application.configure do
|
@@ -116,12 +120,15 @@ If you prefer a oneliner for testing a combination, try this:
|
|
116
120
|
(asdf shell ruby 3.0.4; export RAILS_VERSION="~> 6.1.0"; rm Gemfile.lock; bundle install; bundle exec rake ci)
|
117
121
|
(asdf shell ruby 3.0.4; export RAILS_VERSION="~> 7.0.0"; rm Gemfile.lock; bundle install; bundle exec rake ci)
|
118
122
|
(asdf shell ruby 3.1.2; export RAILS_VERSION="~> 7.0.0"; rm Gemfile.lock; bundle install; bundle exec rake ci)
|
123
|
+
(asdf shell ruby 3.3.5; export RAILS_VERSION="~> 8.0.0"; rm Gemfile.lock; bundle install; bundle exec rake ci)
|
119
124
|
```
|
120
125
|
|
121
126
|
It assumes you have [`asdf`](https://asdf-vm.com/) installed to manage your ruby versions, which is very convenient.
|
122
127
|
|
123
128
|
|
124
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
129
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
130
|
+
|
131
|
+
To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
125
132
|
|
126
133
|
## Contributing
|
127
134
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lograge_waittime
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Laust Rud Jacobsen
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-11-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: lograge
|
@@ -66,7 +66,7 @@ dependencies:
|
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
description:
|
69
|
+
description:
|
70
70
|
email:
|
71
71
|
- laust@valuestream.io
|
72
72
|
executables: []
|
@@ -87,7 +87,7 @@ homepage: https://github.com/rud/lograge_waittime
|
|
87
87
|
licenses:
|
88
88
|
- MIT
|
89
89
|
metadata: {}
|
90
|
-
post_install_message:
|
90
|
+
post_install_message:
|
91
91
|
rdoc_options: []
|
92
92
|
require_paths:
|
93
93
|
- lib
|
@@ -102,8 +102,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
|
-
rubygems_version: 3.
|
106
|
-
signing_key:
|
105
|
+
rubygems_version: 3.5.16
|
106
|
+
signing_key:
|
107
107
|
specification_version: 4
|
108
108
|
summary: Add webserver request queueing time to lograge output.
|
109
109
|
test_files: []
|