newrelic-infinite_tracing 8.8.0 → 8.9.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 35dbf54384abafc02dbfd6161424cf47437b9025de2c63f657e9a7dcb2de7d70
4
- data.tar.gz: 3be9f3d81e1e1c2945d5441fdd83e116ce0e1419659819e50139d3c1e547b20a
3
+ metadata.gz: e6712a9c3ffb94789cc17ccdcce33735ba3afdfd6bab87b2e03e98f54eba7f1c
4
+ data.tar.gz: b9e852c742440d75b8c89ba20cd49a92164ead327ddedbeedeefdff674970282
5
5
  SHA512:
6
- metadata.gz: 40b5e1b54794edbe83e9fdc4fd3ca22ad7a1728e7ebfe381aa080ec9dd36e8b397fe18766c36edeeb9adf1e186ce65addde5235684cc8fdcbdef9a4aba6e40b2
7
- data.tar.gz: 1b5965084b3e5834513b9bb12a6bb4f54496bc00ac2a9d73d0f61899862ca09d539879c0c73c5a23ca1fe1b9ed2e461b1914ffb81620141ba9322a6edd926654
6
+ metadata.gz: a9cca5b997416ec8b89e45c7833b185429343ce89e899eddcf1620316aaa09a51258c2b505c49cf4b6f69f8ee7daab596edb5dcdb3965bc9a0ee7efc0fce944a
7
+ data.tar.gz: 3197dc1c5cf9c01631b7a7499fa70b74e218b52c70302f85a03dbc39317feb47122e79331c6575df22ac181b5a84a38aee01374b39ed176e4e876bbbe0b3715a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # New Relic Infinite Tracing for Ruby Agent Release Notes #
2
2
 
3
+ ## v8.9.0
4
+
5
+ * **Bugfix: Infinite Tracing hung on connection restart**
6
+
7
+ Previously, when using infinite tracing, the agent would intermittently encounter a deadlock when attempting to restart the infinite tracing connection. This bug would prevent the agent from sending all data types, including non-infinite-tracing-related data. This change reworks how we restart infinite tracing to prevent potential deadlocks.
8
+
3
9
  ## v7.0.0
4
10
  * Bugfix: Fixes an intermittent bug where the agent was unable to start when infinite tracing was enabled.
5
11
 
@@ -18,7 +18,21 @@ module NewRelic::Agent
18
18
  end
19
19
  end
20
20
 
21
+ # Handles the case where the server tells us to restart -
22
+ # this clears the data, clears connection attempts, and
23
+ # waits a while to reconnect.
24
+ def handle_force_restart(error)
25
+ ::NewRelic::Agent.logger.debug error.message
26
+ drop_buffered_data
27
+ @service.force_restart if @service
28
+ @connect_state = :pending
29
+ close_infinite_tracer
30
+ sleep 30
31
+ end
32
+
33
+ # Whenever we reconnect, close and restart
21
34
  def close_infinite_tracer
35
+ NewRelic::Agent.logger.debug "Closing infinite tracer threads"
22
36
  return unless @infinite_tracer_thread
23
37
  @infinite_tracer_thread.join
24
38
  @infinite_tracer_thread.stop
@@ -114,7 +114,6 @@ module NewRelic::Agent
114
114
  @agent_connected = true
115
115
  @agent_started.signal
116
116
  end
117
- @active_clients.values.each(&:restart)
118
117
  end
119
118
 
120
119
  private
@@ -70,7 +70,6 @@ Gem or plugin, hosted on https://github.com/newrelic/newrelic-ruby-agent/
70
70
 
71
71
  s.homepage = "https://github.com/newrelic/newrelic-ruby-agent/tree/main/infinite_tracing"
72
72
  s.require_paths = ["lib", "infinite_tracing"]
73
- s.rubygems_version = Gem::VERSION
74
73
  s.summary = "New Relic Infinite Tracing for the Ruby agent"
75
74
 
76
75
  s.add_dependency 'newrelic_rpm', NewRelic::VERSION::STRING
@@ -86,6 +85,7 @@ Gem or plugin, hosted on https://github.com/newrelic/newrelic-ruby-agent/
86
85
  s.add_development_dependency 'guard', '~> 2.16.0'
87
86
  s.add_development_dependency 'guard-minitest', '~> 2.4.0'
88
87
  s.add_development_dependency 'bundler'
88
+ s.add_development_dependency 'simplecov'
89
89
 
90
90
  s.add_development_dependency 'grpc-tools', "~> 1.14"
91
91
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: newrelic-infinite_tracing
3
3
  version: !ruby/object:Gem::Version
4
- version: 8.8.0
4
+ version: 8.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tanna McClure
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2022-06-02 00:00:00.000000000 Z
14
+ date: 2022-07-11 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: newrelic_rpm
@@ -19,14 +19,14 @@ dependencies:
19
19
  requirements:
20
20
  - - '='
21
21
  - !ruby/object:Gem::Version
22
- version: 8.8.0
22
+ version: 8.9.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 8.8.0
29
+ version: 8.9.0
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: grpc
32
32
  requirement: !ruby/object:Gem::Requirement
@@ -181,6 +181,20 @@ dependencies:
181
181
  - - ">="
182
182
  - !ruby/object:Gem::Version
183
183
  version: '0'
184
+ - !ruby/object:Gem::Dependency
185
+ name: simplecov
186
+ requirement: !ruby/object:Gem::Requirement
187
+ requirements:
188
+ - - ">="
189
+ - !ruby/object:Gem::Version
190
+ version: '0'
191
+ type: :development
192
+ prerelease: false
193
+ version_requirements: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
184
198
  - !ruby/object:Gem::Dependency
185
199
  name: grpc-tools
186
200
  requirement: !ruby/object:Gem::Requirement