lograge_waittime 0.4.0 → 0.4.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -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,15 @@ 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
|
+
|
13
|
+
## 0.4.1 - 2023-02-09
|
14
|
+
|
15
|
+
* Testing: Added Rails 7.0 on Ruby 3.1 to test matrix
|
16
|
+
|
8
17
|
## 0.4.0 - 2022-11-18
|
9
18
|
|
10
19
|
* Zeitwerk did not work seamlessly with the previous gem name, switching to `lograge_waittime`.
|
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: []
|