time_bandits 0.12.7 → 0.13.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/.github/workflows/run-tests.yml +2 -2
- data/Appraisals +10 -7
- data/CHANGELOG.md +8 -1
- data/Gemfile +5 -0
- data/docker-compose.yml +1 -1
- data/lib/time_bandits/monkey_patches/redis.rb +30 -6
- data/lib/time_bandits/rack/logger.rb +1 -1
- data/lib/time_bandits/time_consumers/redis.rb +1 -1
- data/lib/time_bandits/version.rb +1 -1
- data/test/unit/redis_test.rb +4 -4
- data/time_bandits.gemspec +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: e14e3f3974575197ad97649241f327dbf69824c354044bde8bd55ff421d9c21a
|
4
|
+
data.tar.gz: 4115bb4f9820a3227a62d6b4ea66c5f045c59cacb019fd89be71ff9da6b2f790
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: abc74cb6ae11bdf9388f8d113a3df89d61e6403cd614ebdd8d73aaa5be84c8a2d9d50d746b57a2eb4079140e1a34c9e1e3c172428e1065d15893ad94e99330b6
|
7
|
+
data.tar.gz: bd2347a6f49613abd7359524c1a08cb609acf501180b1deeb5b093318b664ff330c7a0bd8b2a577b1dee303d62ea8481162485b704d4f9041000cc58b3dd77a2
|
@@ -13,10 +13,10 @@ jobs:
|
|
13
13
|
|
14
14
|
strategy:
|
15
15
|
matrix:
|
16
|
-
ruby-version: [3.1.
|
16
|
+
ruby-version: [3.2.0, 3.1.3, 3.0.5, 2.7.7]
|
17
17
|
|
18
18
|
steps:
|
19
|
-
- uses: actions/checkout@
|
19
|
+
- uses: actions/checkout@v3
|
20
20
|
|
21
21
|
- name: Start containers
|
22
22
|
run: docker-compose -f docker-compose.yml up -d
|
data/Appraisals
CHANGED
@@ -1,14 +1,17 @@
|
|
1
1
|
appraisals = [
|
2
|
-
"6.0.
|
3
|
-
"6.1.
|
2
|
+
"6.0.6",
|
3
|
+
"6.1.6",
|
4
4
|
]
|
5
5
|
|
6
|
-
appraisals.insert(0, "5.2.
|
7
|
-
appraisals << "7.0.
|
6
|
+
appraisals.insert(0, "5.2.8.1") if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("3.0.0")
|
7
|
+
appraisals << "7.0.4" if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("2.7.0")
|
8
8
|
|
9
9
|
appraisals.each do |rails_version|
|
10
|
-
|
11
|
-
|
12
|
-
|
10
|
+
%w(4.0 5.0).each do |redis_version|
|
11
|
+
appraise "activesupport-#{rails_version}-redis-#{redis_version}" do
|
12
|
+
gem "redis", "~> #{redis_version}"
|
13
|
+
gem "activesupport", rails_version
|
14
|
+
gem "activerecord", rails_version
|
15
|
+
end
|
13
16
|
end
|
14
17
|
end
|
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,13 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
-
##
|
3
|
+
## 0.13.1
|
4
|
+
* Fixed last place that tried to log a monotonic clock timestamp
|
5
|
+
instead of a Time instance.
|
6
|
+
|
7
|
+
## 0.13.0
|
8
|
+
* Support redis 5.0.
|
9
|
+
|
10
|
+
## Version 0.12.7
|
4
11
|
* logging start time requires a real time, not a monotonic clock
|
5
12
|
|
6
13
|
## Version 0.12.6
|
data/Gemfile
CHANGED
@@ -2,3 +2,8 @@ source "https://rubygems.org"
|
|
2
2
|
|
3
3
|
# Specify your gem's dependencies in time_bandits.gemspec
|
4
4
|
gemspec
|
5
|
+
|
6
|
+
gem "hiredis-client"
|
7
|
+
|
8
|
+
# Use patched appraisal gem until it is fixed upstream.
|
9
|
+
gem "appraisal", git: "https://github.com/thoughtbot/appraisal.git", ref: "0c855ae0da89fec74b4d1a01801c55b0e72496d4"
|
data/docker-compose.yml
CHANGED
@@ -1,12 +1,36 @@
|
|
1
1
|
require 'redis'
|
2
|
-
class Redis
|
3
|
-
class Client
|
4
|
-
alias :old_logging :logging
|
5
2
|
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
if Redis::VERSION < "5.0"
|
4
|
+
|
5
|
+
class Redis
|
6
|
+
class Client
|
7
|
+
alias :old_logging :logging
|
8
|
+
|
9
|
+
def logging(commands, &block)
|
10
|
+
ActiveSupport::Notifications.instrument('request.redis', commands: commands) do
|
11
|
+
old_logging(commands, &block)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
else
|
18
|
+
|
19
|
+
module TimeBandits
|
20
|
+
module RedisInstrumentation
|
21
|
+
def call(command, redis_config)
|
22
|
+
ActiveSupport::Notifications.instrument("request.redis", commands: [command]) do
|
23
|
+
super
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
def call_pipelined(commands, redis_config)
|
28
|
+
ActiveSupport::Notifications.instrument("request.redis", commands: commands) do
|
29
|
+
super
|
30
|
+
end
|
9
31
|
end
|
10
32
|
end
|
11
33
|
end
|
34
|
+
RedisClient.register(TimeBandits::RedisInstrumentation)
|
35
|
+
|
12
36
|
end
|
@@ -28,7 +28,7 @@ module TimeBandits
|
|
28
28
|
|
29
29
|
def call_app(request, env)
|
30
30
|
start_time = Process.clock_gettime(Process::CLOCK_MONOTONIC)
|
31
|
-
start(request,
|
31
|
+
start(request, Time.now)
|
32
32
|
resp = @app.call(env)
|
33
33
|
resp[2] = ::Rack::BodyProxy.new(resp[2]) { finish(request) }
|
34
34
|
resp
|
data/lib/time_bandits/version.rb
CHANGED
data/test/unit/redis_test.rb
CHANGED
@@ -54,10 +54,10 @@ class RedisTest < Test::Unit::TestCase
|
|
54
54
|
private
|
55
55
|
def pipelined_work(type = :pipelined)
|
56
56
|
TimeBandits.reset
|
57
|
-
@redis.send(type) do
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
@redis.send(type) do |transaction|
|
58
|
+
transaction.get("foo")
|
59
|
+
transaction.set("bar", 1)
|
60
|
+
transaction.hgetall("baz")
|
61
61
|
end
|
62
62
|
end
|
63
63
|
|
data/time_bandits.gemspec
CHANGED
@@ -33,7 +33,7 @@ Gem::Specification.new do |s|
|
|
33
33
|
s.add_development_dependency("mocha")
|
34
34
|
s.add_development_dependency("mysql2")
|
35
35
|
s.add_development_dependency("rake")
|
36
|
-
s.add_development_dependency("redis"
|
36
|
+
s.add_development_dependency("redis")
|
37
37
|
s.add_development_dependency("sequel")
|
38
38
|
s.add_development_dependency("activerecord")
|
39
39
|
s.add_development_dependency("beetle", ">= 3.4.1")
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: time_bandits
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stefan Kaes
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thread_variables
|
@@ -168,16 +168,16 @@ dependencies:
|
|
168
168
|
name: redis
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - "
|
171
|
+
- - ">="
|
172
172
|
- !ruby/object:Gem::Version
|
173
|
-
version: '
|
173
|
+
version: '0'
|
174
174
|
type: :development
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - "
|
178
|
+
- - ">="
|
179
179
|
- !ruby/object:Gem::Version
|
180
|
-
version: '
|
180
|
+
version: '0'
|
181
181
|
- !ruby/object:Gem::Dependency
|
182
182
|
name: sequel
|
183
183
|
requirement: !ruby/object:Gem::Requirement
|
@@ -289,7 +289,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
289
289
|
- !ruby/object:Gem::Version
|
290
290
|
version: '0'
|
291
291
|
requirements: []
|
292
|
-
rubygems_version: 3.
|
292
|
+
rubygems_version: 3.4.1
|
293
293
|
signing_key:
|
294
294
|
specification_version: 4
|
295
295
|
summary: Custom performance logging for Rails
|