plain_apm 0.9.3 → 0.9.5

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: 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