plain_apm 0.6.5 → 0.6.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 879ff27ef73e4399d72ad122f873b1c7330bab98e2b239a990874f929bb9bc52
4
- data.tar.gz: ad80bd5875bf2773cbbb82e233349ee79292095aa7c472d5280642517b9deae1
3
+ metadata.gz: da1f9aa5f6ef59cc4dfafb04888453d4bb1b498f4a741812ff3da2024b948980
4
+ data.tar.gz: 8e103d3aadd8ccca146f6783739ea2b3d7303b3bec82f433567af73a447074f5
5
5
  SHA512:
6
- metadata.gz: 32e1d94aea4a68fea4a4c20a00d0b38b00c386933610a8c88f7654279491327c89849ed8900f41fc1ea85f9482c6aeaa9934fe89ed2ebaf622a67073fc4cd84a
7
- data.tar.gz: 1126345cfb64fc29afaa06229eb5c411343116b4b91c0038e782a54bf04d64102e236bcee4ee235a144fb5d768692be869b5140ad7e9c2795c3833b8d99e0c4f
6
+ metadata.gz: 440081dc334c342649b6375b857c129d4e47c8bbd47fb2d60b199c58f1156dcc2539593305e509de5a9bbe6ad48d9a07bb645b61cc8ad7a8380fc4e1f4181dad
7
+ data.tar.gz: 9569d0b13c04e3c1630bd00f1af3f68d0573a798c82a2d6643585da7baf9a69c8b5376d6e72f34750c07cda4ebb2607fe955ff4873d8264c080454447d6e8795
@@ -12,19 +12,9 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
  payload = event.payload
17
17
 
18
- base = {
19
- "source" => source,
20
- "name" => name,
21
- "backtrace" => filtered_backtrace,
22
- "allocations" => event.allocations,
23
- "thread_allocations" => event.thread_allocations,
24
- "started_at" => event.time,
25
- "finished_at" => event.end
26
- }
27
-
28
18
  case name
29
19
  when "deliver"
30
20
  base.merge({
@@ -12,19 +12,9 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
  payload = event.payload
17
17
 
18
- base = {
19
- "source" => source,
20
- "name" => name,
21
- "backtrace" => filtered_backtrace,
22
- "allocations" => event.allocations,
23
- "thread_allocations" => event.thread_allocations,
24
- "started_at" => event.time,
25
- "finished_at" => event.end
26
- }
27
-
28
18
  case name
29
19
  when "process_action"
30
20
  base.merge({
@@ -12,19 +12,9 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
  payload = event.payload
17
17
 
18
- base = {
19
- "source" => source,
20
- "name" => name,
21
- "backtrace" => filtered_backtrace,
22
- "started_at" => event.time,
23
- "finished_at" => event.end,
24
- "allocations" => event.allocations,
25
- "thread_allocations" => event.thread_allocations
26
- }
27
-
28
18
  case name
29
19
  when "render_collection"
30
20
  base.merge({
@@ -12,18 +12,11 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
  payload = event.payload
17
17
  job = payload[:job]
18
18
 
19
- base = {
20
- "source" => source,
21
- "name" => name,
22
- "backtrace" => filtered_backtrace,
23
- "started_at" => event.time,
24
- "finished_at" => event.end,
25
- "allocations" => event.allocations,
26
- "thread_allocations" => event.thread_allocations,
19
+ base.merge!({
27
20
  "queue_name" => job.queue_name,
28
21
  "job_id" => job.job_id,
29
22
  "job_class" => job.class.name,
@@ -34,7 +27,7 @@ module PlainApm
34
27
  "scheduled_at" => job.scheduled_at,
35
28
  "adapter" => payload[:adapter].class.name,
36
29
  "aborted" => payload[:aborted]
37
- }
30
+ })
38
31
 
39
32
  case name
40
33
  when "enqueue", "enqueue_at", "perform"
@@ -6,6 +6,7 @@ module PlainApm
6
6
  module Hooks
7
7
  class ActiveRecord < ActiveSupportSubscriber
8
8
  NOTIFICATION_PATTERN = /\A[^!]\w+\.active_record\Z/.freeze
9
+ IGNORED_SQL_NAMES = %w(SCHEMA CACHE).freeze
9
10
 
10
11
  private
11
12
 
@@ -14,25 +15,14 @@ module PlainApm
14
15
  end
15
16
 
16
17
  def payload(event)
17
- name, source = *event.name.split(".")
18
+ name, base = common_attributes(event)
18
19
  payload = event.payload
19
20
 
20
- base = {
21
- "source" => source,
22
- "name" => name,
23
- "backtrace" => filtered_backtrace,
24
- "started_at" => event.time,
25
- "finished_at" => event.end,
26
- "allocations" => event.allocations,
27
- "thread_allocations" => event.thread_allocations
28
- }
21
+ return if IGNORED_SQL_NAMES.include?(payload[:name])
29
22
 
30
23
  case name
31
24
  when "sql"
32
- base.merge({
33
- "sql_name" => payload[:name],
34
- "sql" => payload[:sql]
35
- })
25
+ base.merge({ "sql" => payload[:sql] })
36
26
  end
37
27
  end
38
28
  end
@@ -12,19 +12,10 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
  payload = event.payload
17
17
 
18
- base = {
19
- "source" => source,
20
- "name" => name,
21
- "backtrace" => filtered_backtrace,
22
- "started_at" => event.time,
23
- "finished_at" => event.end,
24
- "allocations" => event.allocations,
25
- "thread_allocations" => event.thread_allocations,
26
- "store" => payload[:store]
27
- }
18
+ base.merge!({ "store" => payload[:store] })
28
19
 
29
20
  case name
30
21
  when "cache_read"
@@ -39,6 +39,24 @@ module PlainApm
39
39
  raise "Not implemented"
40
40
  end
41
41
 
42
+ def common_attributes(event)
43
+ name, source = *event.name.split(".")
44
+ bt = filtered_backtrace
45
+
46
+ attrs = {
47
+ "source" => source,
48
+ "name" => name,
49
+ "allocations" => event.allocations,
50
+ "thread_allocations" => event.thread_allocations,
51
+ "started_at" => event.time,
52
+ "finished_at" => event.end
53
+ }
54
+
55
+ attrs.merge!("backtrace" => bt) if bt && !bt.empty?
56
+
57
+ [name, attrs]
58
+ end
59
+
42
60
  def filtered_backtrace
43
61
  if defined?(Rails) && defined?(Rails::BacktraceCleaner)
44
62
  @cleaner ||= Rails::BacktraceCleaner.new
@@ -12,19 +12,14 @@ module PlainApm
12
12
  end
13
13
 
14
14
  def payload(event)
15
- name, source = *event.name.split(".")
15
+ name, base = common_attributes(event)
16
16
 
17
- {
18
- "source" => "plain_apm",
17
+ base.merge({
18
+ "source" => "user",
19
19
  "name" => "manual",
20
- "backtrace" => filtered_backtrace,
21
- "started_at" => event.time,
22
- "finished_at" => event.end,
23
- "allocations" => event.allocations,
24
- "thread_allocations" => event.thread_allocations,
25
20
  "payload_name" => name,
26
21
  "payload" => event.payload
27
- }
22
+ })
28
23
  end
29
24
  end
30
25
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlainApm
4
- VERSION = "0.6.5"
4
+ VERSION = "0.6.7"
5
5
  end
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.6.5
4
+ version: 0.6.7
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-12-28 00:00:00.000000000 Z
11
+ date: 2023-01-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest