newrelic-infinite_tracing 6.11.0.365 → 6.12.0.367

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: cc6db54323c4ae07d8db4e91bf7fc71b39290662585d0b65ac55cf60e5f91a4a
4
- data.tar.gz: 928754820a8b4bea71bcb7bc1095058f2dba37bf0d53f7088642fbc67a0027f6
3
+ metadata.gz: c8701c192aa4a70795c34856b017f223549cb5ac0d64c6c6c1438745a0144019
4
+ data.tar.gz: 6b0d930769e43571033465b841c41db78e8e703f4f281c2c4563257c89daa4c5
5
5
  SHA512:
6
- metadata.gz: 12826887a68e0df4c28f2d7050909318a018f1ed8701b410b3a13a7750de45ee6375952ff8eaf46a56cbb5aac9f1ac5154b1ca14c7f1f38169c0219247bbfdd3
7
- data.tar.gz: ea57b78c49205cc3b35af034d4de6f6ccb9d74b902aa2806f521307af9fa10e3fbd06eb5f5a9b1afbfe9f74107733947d870c6e5f240e8547465247e33ea88a3
6
+ metadata.gz: 52c58c4f1d9074e3de7279a1e9fbaac50e1cac4d883ab1e180873df928e8eb1afe2936df50e017272105f028a5c36024435e8b726db3b28767ed5b4dcad16919
7
+ data.tar.gz: 0da76cc8199bfb29cef261351086b26d7f1ea9f89166453df97e65bd887c211873d731a85fee9b9b584bce76775c6a6d973f73afd0fd7d0f0f0c57bfeb685b02
@@ -1,4 +1,8 @@
1
1
  # New Relic Infinite Tracing for Ruby Agent Release Notes #
2
+
3
+ ## v6.12.0
4
+
5
+ * Implements restarting gRPC stream when server responds with OK response and no error.
2
6
 
3
7
  ## v6.11.0
4
8
 
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  source 'https://rubygems.org'
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'uri'
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # The Client class manages the streaming buffer with respect to the gRPC Connection.
@@ -88,6 +88,17 @@ module NewRelic::Agent
88
88
  @suspended
89
89
  end
90
90
 
91
+ # This method is called when the server closes the record status stream without
92
+ # raising an error. The Channel/Connection is not closed or reset in this case.
93
+ # We simply start streaming again, which will reuse the channel/connection to the
94
+ # server and re-establish the gRPC bi-directional stream. Useful for the server
95
+ # to initiate a load-balancing scheme.
96
+ def handle_close
97
+ NewRelic::Agent.logger.debug "The gRPC Trace Observer closed the stream with OK response. " \
98
+ "Restarting the stream."
99
+ start_streaming
100
+ end
101
+
91
102
  # Places the client into suspended state whereby client will no longer attempt to
92
103
  # reconnect to the gRPC server nor will it attempt to send span events henceforth.
93
104
  # The Suspended Streaming Buffer will be installed in this state.
@@ -101,13 +112,23 @@ module NewRelic::Agent
101
112
  end
102
113
  end
103
114
 
104
- def restart
115
+ def reset_connection
105
116
  @lock.synchronize do
106
117
  Connection.reset
118
+ end
119
+ end
120
+
121
+ def transfer_buffer
122
+ @lock.synchronize do
107
123
  old_buffer = @buffer
108
124
  @buffer = new_streaming_buffer
109
125
  old_buffer.transfer @buffer
110
126
  end
127
+ end
128
+
129
+ def restart
130
+ reset_connection
131
+ transfer_buffer
111
132
  start_streaming
112
133
  end
113
134
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # The connection class manages the channel and connection to the gRPC server.
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'grpc'
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # Generated by the protocol buffer compiler. DO NOT EDIT!
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # Generated by the protocol buffer compiler. DO NOT EDIT!
@@ -8,7 +8,7 @@
8
8
  # Original file comments:
9
9
  # encoding: utf-8
10
10
  # This file is distributed under New Relic's license terms.
11
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
11
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
12
12
  #
13
13
 
14
14
 
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -28,8 +28,10 @@ module NewRelic::Agent
28
28
  NewRelic::Agent.logger.debug "gRPC Infinite Tracer Observer saw #{messages_seen} messages"
29
29
  end
30
30
  end
31
+ NewRelic::Agent.logger.debug "gRPC Infinite Tracer Observer closed the stream"
32
+ @client.handle_close
31
33
  rescue => error
32
- @lock.synchronize { @client.handle_error error }
34
+ @client.handle_error error
33
35
  end
34
36
  end
35
37
  rescue => error
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # The StreamingBuffer class provides an Enumerator to the standard Ruby Queue
@@ -61,14 +61,6 @@ module NewRelic::Agent
61
61
  NewRelic::Agent.increment_metric QUEUE_DUMPED_METRIC
62
62
  end
63
63
 
64
- # # Waits for the queue to be fully consumed or for the
65
- # # waiting consumers to release.
66
- # def flush_queue
67
- # @queue.num_waiting.times { @queue.push nil }
68
- # close_queue
69
- # until @queue.empty? do sleep(FLUSH_DELAY) end
70
- # end
71
-
72
64
  # Waits for the queue to be fully consumed or for the
73
65
  # waiting consumers to release.
74
66
  def flush_queue
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # The SuspendedStreamingBuffer class discards pushed segments and records
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic::Agent
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  module NewRelic
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  # The Worker class makes it easy to stop and start a thread at will.
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  require 'uri'
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
  # frozen_string_literal: true
5
5
 
6
6
  unless defined? NewRelic::Agent::InfiniteTracing
@@ -1,6 +1,6 @@
1
1
  // encoding: utf-8
2
2
  // This file is distributed under New Relic's license terms.
3
- // See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ // See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  syntax = "proto3";
6
6
 
@@ -34,7 +34,7 @@ Gem::Specification.new do |s|
34
34
  s.required_rubygems_version = Gem::Requirement.new("> 1.3.1") if s.respond_to? :required_rubygems_version=
35
35
  s.authors = [ "Rachel Klein", "Tanna McClure", "Michael Lang" ]
36
36
  s.date = Time.now.strftime('%Y-%m-%d')
37
- s.licenses = ['New Relic']
37
+ s.licenses = ['Apache-2.0']
38
38
  s.description = <<-EOS
39
39
  The New Relic Ruby agent requires the gem newrelic_rpm, and it includes distributed
40
40
  tracing that uses head-based sampling (standard distributed tracing).
@@ -47,7 +47,7 @@ New Relic is a performance management system, developed by New Relic,
47
47
  Inc (http://www.newrelic.com). New Relic provides you with deep
48
48
  information about the performance of your web application as it runs
49
49
  in production. The New Relic Ruby Agent is dual-purposed as a either a
50
- Gem or plugin, hosted on https://github.com/newrelic/rpm/
50
+ Gem or plugin, hosted on https://github.com/newrelic/newrelic-ruby-agent/
51
51
  EOS
52
52
 
53
53
  s.email = "support@newrelic.com"
@@ -58,16 +58,17 @@ EOS
58
58
  ]
59
59
 
60
60
  s.metadata = {
61
- 'bug_tracker_uri' => 'https://support.newrelic.com/',
62
- 'changelog_uri' => 'https://github.com/newrelic/rpm/blob/master/infinite_tracing/CHANGELOG.md',
61
+ 'bug_tracker_uri' => 'https://github.com/newrelic/newrelic-ruby-agent/issues',
62
+ 'changelog_uri' => 'https://github.com/newrelic/newrelic-ruby-agent/blob/main/infinite_tracing/CHANGELOG.md',
63
63
  'documentation_uri' => 'https://docs.newrelic.com/docs/agents/ruby-agent',
64
- 'source_code_uri' => 'https://github.com/newrelic/rpm'
64
+ 'source_code_uri' => 'https://github.com/newrelic/newrelic-ruby-agent',
65
+ "homepage_uri" => "https://newrelic.com/products/edge-infinite-tracing",
65
66
  }
66
67
 
67
68
  file_list = `git ls-files . -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/(?!agent_helper.rb)}) }
68
69
  s.files = file_list
69
70
 
70
- s.homepage = "https://github.com/newrelic/rpm/tree/master/infinite_tracing"
71
+ s.homepage = "https://github.com/newrelic/newrelic-ruby-agent/tree/main/infinite_tracing"
71
72
  s.require_paths = ["lib", "infinite_tracing"]
72
73
  s.rubygems_version = Gem::VERSION
73
74
  s.summary = "New Relic Infinite Tracing for the Ruby agent"
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  # This is required to load in task definitions from merb
6
6
  Dir.glob(File.join(File.dirname(__FILE__),'*.rake')) do |file|
@@ -1,6 +1,6 @@
1
1
  # encoding: utf-8
2
2
  # This file is distributed under New Relic's license terms.
3
- # See https://github.com/newrelic/rpm/blob/master/LICENSE for complete details.
3
+ # See https://github.com/newrelic/newrelic-ruby-agent/blob/main/LICENSE for complete details.
4
4
 
5
5
  namespace :proto do
6
6
  desc "Generate proto files"
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: 6.11.0.365
4
+ version: 6.12.0.367
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rachel Klein
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2020-05-28 00:00:00.000000000 Z
13
+ date: 2020-07-14 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: newrelic_rpm
@@ -18,14 +18,14 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 6.11.0.365
21
+ version: 6.12.0.367
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  requirements:
26
26
  - - '='
27
27
  - !ruby/object:Gem::Version
28
- version: 6.11.0.365
28
+ version: 6.12.0.367
29
29
  - !ruby/object:Gem::Dependency
30
30
  name: grpc
31
31
  requirement: !ruby/object:Gem::Requirement
@@ -220,7 +220,7 @@ description: |
220
220
  Inc (http://www.newrelic.com). New Relic provides you with deep
221
221
  information about the performance of your web application as it runs
222
222
  in production. The New Relic Ruby Agent is dual-purposed as a either a
223
- Gem or plugin, hosted on https://github.com/newrelic/rpm/
223
+ Gem or plugin, hosted on https://github.com/newrelic/newrelic-ruby-agent/
224
224
  email: support@newrelic.com
225
225
  executables: []
226
226
  extensions: []
@@ -259,14 +259,15 @@ files:
259
259
  - newrelic-infinite_tracing.gemspec
260
260
  - tasks/all.rb
261
261
  - tasks/proto.rake
262
- homepage: https://github.com/newrelic/rpm/tree/master/infinite_tracing
262
+ homepage: https://github.com/newrelic/newrelic-ruby-agent/tree/main/infinite_tracing
263
263
  licenses:
264
- - New Relic
264
+ - Apache-2.0
265
265
  metadata:
266
- bug_tracker_uri: https://support.newrelic.com/
267
- changelog_uri: https://github.com/newrelic/rpm/blob/master/infinite_tracing/CHANGELOG.md
266
+ bug_tracker_uri: https://github.com/newrelic/newrelic-ruby-agent/issues
267
+ changelog_uri: https://github.com/newrelic/newrelic-ruby-agent/blob/main/infinite_tracing/CHANGELOG.md
268
268
  documentation_uri: https://docs.newrelic.com/docs/agents/ruby-agent
269
- source_code_uri: https://github.com/newrelic/rpm
269
+ source_code_uri: https://github.com/newrelic/newrelic-ruby-agent
270
+ homepage_uri: https://newrelic.com/products/edge-infinite-tracing
270
271
  post_install_message:
271
272
  rdoc_options: []
272
273
  require_paths:
@@ -283,7 +284,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
283
284
  - !ruby/object:Gem::Version
284
285
  version: 1.3.1
285
286
  requirements: []
286
- rubygems_version: 3.0.6
287
+ rubygems_version: 3.1.3
287
288
  signing_key:
288
289
  specification_version: 4
289
290
  summary: New Relic Infinite Tracing for the Ruby agent