newrelic-infinite_tracing 6.11.0.365 → 6.12.0.367

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