appmap 0.54.3 → 0.54.4

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