plain_apm 0.6.6 → 0.6.7

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e97786261500cb8d3f51d59adcf10e16fae25ec9d75abb892f9f484e6a8f301e
4
- data.tar.gz: 81d5e828c98ab00c203d429e963c6ad54c39a81e5ac21c21f84400e0daed0287
3
+ metadata.gz: da1f9aa5f6ef59cc4dfafb04888453d4bb1b498f4a741812ff3da2024b948980
4
+ data.tar.gz: 8e103d3aadd8ccca146f6783739ea2b3d7303b3bec82f433567af73a447074f5
5
5
  SHA512:
6
- metadata.gz: 0b967abf825f2a5e11c7318a207cfe7d254142999e80d255cd991802a85527fd89957c6819c0ef42a6e6887cb83c2084193c8cad760f906b8981b4514cae1b72
7
- data.tar.gz: 7db71b4417c755e4146ea5a9824f926dcc548b6a0de9952eaa752917fd85078af651f357acbd78c2900c89c4bf30df4183ef5ab67b5c7028f2591dc5e19a847a
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
- {
17
+ base.merge({
18
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.6"
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.6
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