appmap 0.74.0 → 0.75.0
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 +4 -4
- data/CHANGELOG.md +8 -0
- data/lib/appmap/gem_hooks/activesupport.yml +4 -0
- data/lib/appmap/trace.rb +32 -0
- data/lib/appmap/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: 322b607426359e9dcebd46ea4a565550c75413e785275b736530149e19f493c4
|
4
|
+
data.tar.gz: 34b81b8f50e4312b0d1b3e54ad58bb86666812eafaba19338aca73ed12f12c37
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac8aa369f84bd56aa5b2fddba6211eb528beb9c79d710738e9b7feb20198922a35a98e7b57bb615979ad186d7920b358f3ef06f9ced9d4b9289c5627cc660512
|
7
|
+
data.tar.gz: 9e1c7ab9a501fd4043b31843291f62f71257d3d946a46d8b4c08e3330546a6680cdb53ac512b23ce81ac525e1d35178cc491b5a72113e23a93649c8f87948dab
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,11 @@
|
|
1
|
+
# [0.75.0](https://github.com/applandinc/appmap-ruby/compare/v0.74.0...v0.75.0) (2022-03-17)
|
2
|
+
|
3
|
+
|
4
|
+
### Features
|
5
|
+
|
6
|
+
* Apply label deserialize.safe to ActiveSupport.run_load_hooks ([1f67f9b](https://github.com/applandinc/appmap-ruby/commit/1f67f9b260503772cba6824ef746f903def14323))
|
7
|
+
* Print stacks if requested by env var ([72ef911](https://github.com/applandinc/appmap-ruby/commit/72ef9116d3248467632762ce63303a54bed998e9))
|
8
|
+
|
1
9
|
# [0.74.0](https://github.com/applandinc/appmap-ruby/compare/v0.73.0...v0.74.0) (2022-03-14)
|
2
10
|
|
3
11
|
|
data/lib/appmap/trace.rb
CHANGED
@@ -84,12 +84,43 @@ module AppMap
|
|
84
84
|
end
|
85
85
|
end
|
86
86
|
|
87
|
+
class StackPrinter
|
88
|
+
class << self
|
89
|
+
def enabled?
|
90
|
+
ENV['APPMAP_PRINT_STACKS'] == 'true'
|
91
|
+
end
|
92
|
+
|
93
|
+
def depth
|
94
|
+
(ENV['APPMAP_STACK_DEPTH'] || 20).to_i
|
95
|
+
end
|
96
|
+
end
|
97
|
+
|
98
|
+
def initialize
|
99
|
+
@@stacks ||= Hash.new
|
100
|
+
end
|
101
|
+
|
102
|
+
def record(event)
|
103
|
+
stack = caller.select { |line| !line.index('/lib/appmap/') }[0...StackPrinter.depth].join("\n ")
|
104
|
+
stack_hash = Digest::SHA256.hexdigest(stack)
|
105
|
+
unless @@stacks[stack_hash]
|
106
|
+
@@stacks[stack_hash] = stack
|
107
|
+
puts
|
108
|
+
puts 'Event: ' + event.to_h.map { |k, v| [ "#{k}: #{v}" ] }.join(", ")
|
109
|
+
puts ' ' + stack
|
110
|
+
puts
|
111
|
+
end
|
112
|
+
end
|
113
|
+
end
|
114
|
+
|
87
115
|
class Tracer
|
116
|
+
attr_accessor :stacks
|
117
|
+
|
88
118
|
# Records the events which happen in a program.
|
89
119
|
def initialize
|
90
120
|
@events = []
|
91
121
|
@last_package_for_thread = {}
|
92
122
|
@methods = Set.new
|
123
|
+
@stack_printer = StackPrinter.new if StackPrinter.enabled?
|
93
124
|
@enabled = false
|
94
125
|
end
|
95
126
|
|
@@ -112,6 +143,7 @@ module AppMap
|
|
112
143
|
def record_event(event, package: nil, defined_class: nil, method: nil)
|
113
144
|
return unless @enabled
|
114
145
|
|
146
|
+
@stack_printer.record(event) if @stack_printer
|
115
147
|
@last_package_for_thread[Thread.current.object_id] = package if package
|
116
148
|
@events << event
|
117
149
|
static = event.static if event.respond_to?(:static)
|
data/lib/appmap/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: appmap
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.75.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kevin Gilpin
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-03-
|
11
|
+
date: 2022-03-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|