plain_apm 0.9.3 → 0.9.5

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: a2950f7d2e02a813b67a5bfb4c2ff7cc522acb8770404e3ef3dcef4e13aa4c4c
4
- data.tar.gz: 4af16bf90b9904db8f5adf9efc6438aec2a6f31954a481f1a3384fbdadddf1d4
3
+ metadata.gz: 8700716a8232dd006ee1f152ff706b110e183180f31b174dad707073d56191cd
4
+ data.tar.gz: cab9abf563da3173c75448eaf1ab4a30d385d12190b64adb6c2a13bf9c154c3f
5
5
  SHA512:
6
- metadata.gz: 6ceba3781efda4b4b60dc66f85ed07a065b47c624d7c6da2fbd42d52bc525cf2b95204d9030aa6e5540e7f6e5e6112b387a40008b29c69236cedcbeb9ae62e69
7
- data.tar.gz: '08dcda87123a5e006442cfe574da4ee41c011a28880b559a19bb65871785eb06154ba19f86c00d159c7d0c3e40b22c9758b6a373150de1344a001062fab0cd96'
6
+ metadata.gz: 25ab862df530c784896f3b0de84fb53fc9838a6551fdbb774cef2927566abe920458f6669425a1204407d849d4be5bf7c2055523f6cade5fffceffc8bdfe68b6
7
+ data.tar.gz: 948fe60ffebd3fee6897145343c2c89dce907639bd7b4b584569b43108301b2be789908838cc97142f7a01f54d51d7f9f6fbb231873e83940b82a06050299f2d
@@ -125,8 +125,16 @@ module PlainApm
125
125
 
126
126
  def source_location(backtrace = nil)
127
127
  return if self.class.rails_root.nil?
128
- call = (backtrace || caller).find { |frame| frame.start_with?(self.class.rails_root) } || return
129
- call[(self.class.rails_root.size + 1)..-1]
128
+ root_length = self.class.rails_root.length
129
+
130
+ (backtrace || caller).each do |frame|
131
+ if frame.start_with?(self.class.rails_root)
132
+ path = frame[(root_length + 1)..-1]
133
+ return path if path.start_with?("app") || path.start_with?("lib")
134
+ end
135
+ end
136
+
137
+ nil
130
138
  end
131
139
 
132
140
  def self.included(other)
@@ -1,14 +1,17 @@
1
1
  module PlainApm
2
2
  module Helpers
3
3
  def plain_apm_context(context = {})
4
- return unless PlainApm.agent.enabled?
4
+ return context unless PlainApm.agent.enabled?
5
5
  PlainApm::Extensions::Context.context.merge!(context)
6
6
  end
7
7
 
8
8
  def plain_apm_instrument(name, context = {}, &block)
9
- return unless PlainApm.agent.enabled? && defined?(ActiveSupport::Notifications)
10
- sanitized_name = name.gsub(/\W/, "_").gsub(/(?!^)([A-Z])/) { |m| "_#{m}" }.squeeze("_").downcase
11
- ActiveSupport::Notifications.instrument("#{sanitized_name}.manual_plain_apm", **context, &block)
9
+ if PlainApm.agent.enabled? && defined?(ActiveSupport::Notifications)
10
+ sanitized_name = name.gsub(/\W/, "_").gsub(/(?!^)([A-Z])/) { |m| "_#{m}" }.squeeze("_").downcase
11
+ ActiveSupport::Notifications.instrument("#{sanitized_name}.manual_plain_apm", **context, &block)
12
+ else
13
+ yield if block
14
+ end
12
15
  end
13
16
  end
14
17
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PlainApm
4
- VERSION = "0.9.3"
4
+ VERSION = "0.9.5"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plain_apm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.3
4
+ version: 0.9.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - PlainAPM Team