callstacking-rails 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/callstacking/rails/engine.rb +0 -1
- data/lib/callstacking/rails/instrument.rb +10 -3
- data/lib/callstacking/rails/settings.rb +2 -1
- data/lib/callstacking/rails/trace.rb +2 -2
- data/lib/callstacking/rails/traces_helper.rb +2 -0
- data/lib/callstacking/rails/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ae9342c9f37c47dde2042523854b08bbc9c7f94ce3f4fec32b3ecde123b62603
|
4
|
+
data.tar.gz: 500efff1f6650199ebea44d1964248758244caf8a0e1c0b40da98194d5797c22
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 330b4e4dbe4eb13c09708e661963e130d9f164389b1ab0911b90cd89b5c2d37de9e41dd8bfcae60f5cccfa64eb9f013ed34fc1ffd0248778df4f334cf4eea8ef
|
7
|
+
data.tar.gz: 2e5219f83a3fdf775daf72d79708a49f7b76707b596508a424837b688a450d4d52c140456af6ec524ffbf6968e0e1db3d7a8b86b2619adc3a2450d0f3ce57ced
|
@@ -22,7 +22,8 @@ module Callstacking
|
|
22
22
|
|
23
23
|
tmp_module = find_or_initialize_module
|
24
24
|
|
25
|
-
return if tmp_module.
|
25
|
+
return if tmp_module.nil? ||
|
26
|
+
tmp_module.instance_methods.include?(method_name) ||
|
26
27
|
tmp_module.singleton_methods.include?(method_name)
|
27
28
|
|
28
29
|
tmp_module.define_method(method_name) do |*args, &block|
|
@@ -37,7 +38,7 @@ module Callstacking
|
|
37
38
|
klass = tmp_module.instance_variable_get(:@klass)
|
38
39
|
|
39
40
|
arguments = Callstacking::Rails::Instrument.arguments_for(method(__method__).super_method, args)
|
40
|
-
|
41
|
+
|
41
42
|
spans.call_entry(klass, method_name, arguments, p || path, l || line_no)
|
42
43
|
return_val = super(*args, &block)
|
43
44
|
spans.call_return(klass, method_name, p || path, l || line_no, return_val)
|
@@ -47,6 +48,8 @@ module Callstacking
|
|
47
48
|
end
|
48
49
|
|
49
50
|
def find_or_initialize_module
|
51
|
+
return if klass&.name == nil
|
52
|
+
|
50
53
|
module_name = "#{klass.name.gsub('::', '')}Span"
|
51
54
|
module_index = klass.ancestors.map(&:to_s).index(module_name)
|
52
55
|
|
@@ -74,10 +77,14 @@ module Callstacking
|
|
74
77
|
param_names = m.parameters&.map(&:last)
|
75
78
|
return {} if param_names.nil?
|
76
79
|
|
77
|
-
param_names.map.with_index do |param, index|
|
80
|
+
h = param_names.map.with_index do |param, index|
|
78
81
|
next if [:&, :*, :**].include?(param)
|
79
82
|
[param, args[index]]
|
80
83
|
end.compact.to_h
|
84
|
+
|
85
|
+
filter = ::Rails.application.config.filter_parameters
|
86
|
+
f = ActiveSupport::ParameterFilter.new filter
|
87
|
+
f.filter h
|
81
88
|
end
|
82
89
|
|
83
90
|
private
|
@@ -23,7 +23,7 @@ module Callstacking
|
|
23
23
|
end
|
24
24
|
|
25
25
|
def auth_token?
|
26
|
-
auth_token.
|
26
|
+
!auth_token.nil?
|
27
27
|
end
|
28
28
|
|
29
29
|
def write_settings(new_settings)
|
@@ -31,6 +31,7 @@ module Callstacking
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def enabled?
|
34
|
+
return false if settings.nil?
|
34
35
|
settings[:enabled]
|
35
36
|
end
|
36
37
|
|
@@ -27,12 +27,12 @@ module Callstacking
|
|
27
27
|
trace_id = nil
|
28
28
|
|
29
29
|
ActiveSupport::Notifications.subscribe("start_processing.action_controller") do |name, start, finish, id, payload|
|
30
|
-
request_id = payload[:request].
|
30
|
+
request_id = payload[:request]&.request_id || SecureRandom.uuid
|
31
31
|
Callstacking::Rails::Trace.current_request_id = request_id
|
32
32
|
|
33
33
|
trace_id, _interval = client.create(payload[:method], payload[:controller],
|
34
34
|
payload[:action], payload[:format],
|
35
|
-
::Rails.root, payload[:request]
|
35
|
+
::Rails.root, payload[:request]&.original_url,
|
36
36
|
request_id, payload[:headers],
|
37
37
|
payload[:params])
|
38
38
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: callstacking-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jim Jones
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-01-
|
11
|
+
date: 2023-01-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|