plain_apm 0.5.5 → 0.5.6
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/lib/plain_apm/extensions/context/active_job.rb +8 -1
- data/lib/plain_apm/hooks/active_job.rb +12 -0
- data/lib/plain_apm/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae9d484b8cae829dc9a8159030fb3075493b7a164fc007c2f7a4688e5f0e7657
|
4
|
+
data.tar.gz: 5c0e75c7ed7c549c13de43d44e8ff3733bda46d38994b77af93d48782a2855a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74432ea0610f7d525e77aa2173de4adba0f723d713b5870d4a5dfdda1bf3fdb8e812b4b7b08b55d7c3729415d98890d2dd491bb0e94922cb8e8fa6d8a98916a1
|
7
|
+
data.tar.gz: b5d84121648c14f64dbb76c4c7a9e040283465f0d9a9263dcf48292e6c2e3a604714e00a480f323b40fce13e80047890b4c6f7c7b269e0edaac7b3c0645f0fd9
|
@@ -4,16 +4,23 @@ module PlainApm
|
|
4
4
|
module Extensions
|
5
5
|
module Context
|
6
6
|
module ActiveJob
|
7
|
+
# Timestamp when job was deserialized (popped off of the queue).
|
8
|
+
attr_accessor :dequeued_at
|
9
|
+
|
7
10
|
# TODO: would it be useful to de-serialize the whole context (e.g. user
|
8
11
|
# IDs, subscriptions, etc?)
|
9
12
|
def serialize
|
10
13
|
trace_id = PlainApm::Extensions::Context.trace_id || SecureRandom.uuid
|
11
|
-
|
14
|
+
# Rails wasn't preserving the nano-time, this has now been fixed
|
15
|
+
# upstream in #39698 and scheduled for Rails 7.1.
|
16
|
+
super.update("trace_id" => trace_id, "enqueued_at" => Time.now.utc.iso8601(9))
|
12
17
|
end
|
13
18
|
|
14
19
|
def deserialize(job)
|
15
20
|
PlainApm::Extensions::Context.trace_id = job["trace_id"]
|
16
21
|
|
22
|
+
self.dequeued_at = Time.now.utc.iso8601(9)
|
23
|
+
|
17
24
|
super(job)
|
18
25
|
end
|
19
26
|
end
|
@@ -29,6 +29,8 @@ module PlainApm
|
|
29
29
|
"job_class" => job.class.name,
|
30
30
|
"job_arguments" => job.arguments,
|
31
31
|
"executions" => job.executions,
|
32
|
+
"enqueued_at" => enqueued_at(job),
|
33
|
+
"dequeued_at" => dequeued_at(job),
|
32
34
|
"scheduled_at" => job.scheduled_at,
|
33
35
|
"adapter" => payload[:adapter].class.name,
|
34
36
|
"aborted" => payload[:aborted]
|
@@ -50,6 +52,16 @@ module PlainApm
|
|
50
52
|
nil
|
51
53
|
end
|
52
54
|
end
|
55
|
+
|
56
|
+
private
|
57
|
+
|
58
|
+
def enqueued_at(job)
|
59
|
+
Time.parse(job.enqueued_at).to_f if job.enqueued_at
|
60
|
+
end
|
61
|
+
|
62
|
+
def dequeued_at(job)
|
63
|
+
Time.parse(job.dequeued_at).to_f if job.respond_to?(:dequeued_at) && job.dequeued_at
|
64
|
+
end
|
53
65
|
end
|
54
66
|
end
|
55
67
|
end
|
data/lib/plain_apm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: plain_apm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- PlainAPM Team
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-12-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: minitest
|
@@ -143,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
143
143
|
- !ruby/object:Gem::Version
|
144
144
|
version: '0'
|
145
145
|
requirements: []
|
146
|
-
rubygems_version: 3.3.
|
146
|
+
rubygems_version: 3.3.26
|
147
147
|
signing_key:
|
148
148
|
specification_version: 4
|
149
149
|
summary: PlainAPM agent
|