appmap 0.54.3 → 0.54.4

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: d3ca2cf6f6c6c2f014b4d1be4ef8dd4cedb208ec01c62cecd246b076bb165a9d
4
- data.tar.gz: fcdce5948539c5be8f322d2e520ebb5917d3317cc7c610ae9fdcf2c6f3c456bc
3
+ metadata.gz: 13450fa6c0ff3576dc48e27f35355e3eb4bd4ed70aac677af1235b8b8b8ce793
4
+ data.tar.gz: 2c08a504d3e6a467d212630290205ecab9391c64a33831574df43cb8526ab0ad
5
5
  SHA512:
6
- metadata.gz: cd2f3f337713094a40a921d5b535296ee7d0c4ee6fbc589bd10344ab9f885e6c5a50d3114e7a333779df6a927ec7acd873f64e7f878e03aa0489bdd69f45b8f3
7
- data.tar.gz: c507cbc7109bef936bc0a11d259d449b99264135d69332fba7448b78b1b9b9776eab256924c4d394d99730663944a5008b6fc13e095734ea5b0219cd6cf7b0f8
6
+ metadata.gz: 49585b5fba1c9b7a0aabffd6dfc44fb051532fd9fe96d35a0176c6bcf382a51df948bfac8f1f0d3db474917f5587dbf07e90de9c9097d3de9a1650a1632f8fd6
7
+ data.tar.gz: aa489a3dc598dfc2c16ee3a6167e53683e5564870c3b1ed0552e9e0ba0d758da2d1c442059bee3efbe57206f9088a98ca7c271d8550f52ed5d18d0aa2a039635
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [0.54.4](https://github.com/applandinc/appmap-ruby/compare/v0.54.3...v0.54.4) (2021-06-27)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Only allow trace_end once per location ([10e48cf](https://github.com/applandinc/appmap-ruby/commit/10e48cf855907f9029479b4b7b63bc4d25d664ab))
7
+
1
8
  ## [0.54.3](https://github.com/applandinc/appmap-ruby/compare/v0.54.2...v0.54.3) (2021-06-25)
2
9
 
3
10
 
data/lib/appmap/hook.rb CHANGED
@@ -37,8 +37,6 @@ module AppMap
37
37
  def initialize(config)
38
38
  @config = config
39
39
  @trace_enabled = []
40
- # Paths that are known to be non-tracing
41
- @notrace_paths = Set.new
42
40
  end
43
41
 
44
42
  # Observe class loading and hook all methods which match the config.
@@ -47,6 +45,11 @@ module AppMap
47
45
 
48
46
  hook_builtins
49
47
 
48
+ # Paths that are known to be non-tracing.
49
+ @notrace_paths = Set.new
50
+ # Locations that have already been visited.
51
+ @trace_locations = Set.new
52
+
50
53
  @trace_end = TracePoint.new(:end, &method(:trace_end))
51
54
  @trace_end.enable(&block)
52
55
  end
@@ -99,7 +102,9 @@ module AppMap
99
102
  end
100
103
 
101
104
  def trace_end(trace_point)
102
- warn "Class or module ends at location #{trace_location(trace_point)}" if Hook::LOG || Hook::LOG_HOOK
105
+ location = trace_location(trace_point)
106
+ warn "Class or module ends at location #{location}" if Hook::LOG || Hook::LOG_HOOK
107
+ return unless @trace_locations.add?(location)
103
108
 
104
109
  path = trace_point.path
105
110
  enabled = !@notrace_paths.member?(path) && config.path_enabled?(path)
@@ -3,7 +3,7 @@
3
3
  module AppMap
4
4
  URL = 'https://github.com/applandinc/appmap-ruby'
5
5
 
6
- VERSION = '0.54.3'
6
+ VERSION = '0.54.4'
7
7
 
8
8
  APPMAP_FORMAT_VERSION = '1.5.1'
9
9
 
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.54.3
4
+ version: 0.54.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kevin Gilpin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-06-25 00:00:00.000000000 Z
11
+ date: 2021-06-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport