apollo-studio-tracing 1.0.0 → 1.0.1
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 676b93f9a1b7fdae4fa0d954064cdff300812e5f1d1673cbb2c179ad3e8fd777
|
4
|
+
data.tar.gz: f24bfa49269991787e26320e3f5eb089acfaffb994348b55dcb13e83fbb9e5e6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f41489cdf1f1540e50c4dfcfafbaa1cc14d0746761a33aa2775c056804c95a3729430f7776a95509051de8374d27c702bcc106a029b65a897f9c57a492250377
|
7
|
+
data.tar.gz: 2e40c8f8c03aecf4b182eb0b0a9ba4d816656127d0337e5c34d338a02de0ac5aab0039024a251f8b9402b58a560fd697cf861e8d17325a94c484fc76929182ba
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,10 @@
|
|
1
|
+
## [1.0.1](https://github.com/EnjoyTech/apollo-studio-tracing-ruby/compare/v1.0.0...v1.0.1) (2020-11-02)
|
2
|
+
|
3
|
+
|
4
|
+
### Bug Fixes
|
5
|
+
|
6
|
+
* **tracing:** avoid trapping SIGINT, just use `at_exit` ([de7c85e](https://github.com/EnjoyTech/apollo-studio-tracing-ruby/commit/de7c85e63b455a98474694a972daf001f8b12719))
|
7
|
+
|
1
8
|
# [1.0.0](https://github.com/EnjoyTech/apollo-studio-tracing-ruby/compare/v0.1.0...v1.0.0) (2020-10-26)
|
2
9
|
|
3
10
|
|
@@ -3,6 +3,7 @@
|
|
3
3
|
require 'apollo-studio-tracing/proto'
|
4
4
|
require 'apollo-studio-tracing/node_map'
|
5
5
|
require 'apollo-studio-tracing/tracer'
|
6
|
+
require 'apollo-studio-tracing/logger'
|
6
7
|
|
7
8
|
module ApolloStudioTracing
|
8
9
|
extend self
|
@@ -13,7 +14,7 @@ module ApolloStudioTracing
|
|
13
14
|
attr_accessor :logger
|
14
15
|
|
15
16
|
# TODO: Initialize this to Rails.logger in a Railtie
|
16
|
-
self.logger =
|
17
|
+
self.logger = ApolloLogger.new(STDOUT)
|
17
18
|
|
18
19
|
def use(schema, **options)
|
19
20
|
tracer = ApolloStudioTracing::Tracer.new(**options)
|
@@ -32,9 +33,7 @@ module ApolloStudioTracing
|
|
32
33
|
tracers.each(&:shutdown_trace_channel)
|
33
34
|
end
|
34
35
|
|
35
|
-
|
36
|
-
Thread.new { shutdown }
|
37
|
-
end
|
36
|
+
at_exit { shutdown }
|
38
37
|
|
39
38
|
private
|
40
39
|
|
@@ -22,13 +22,13 @@ module ApolloStudioTracing
|
|
22
22
|
if e.is_a?(RetryableUploadAttemptError) && attempt < max_attempts
|
23
23
|
retry_delay = min_retry_delay_secs * 2**attempt
|
24
24
|
ApolloStudioTracing.logger.warn(
|
25
|
-
"Attempt to send
|
25
|
+
"Attempt to send trace report failed and will be retried in #{retry_delay} " \
|
26
26
|
"secs: #{e.message}",
|
27
27
|
)
|
28
28
|
sleep(retry_delay)
|
29
29
|
retry
|
30
30
|
else
|
31
|
-
ApolloStudioTracing.logger.warn("Failed to send
|
31
|
+
ApolloStudioTracing.logger.warn("Failed to send trace report: #{e.message}")
|
32
32
|
end
|
33
33
|
end
|
34
34
|
|
@@ -104,6 +104,7 @@ module ApolloStudioTracing
|
|
104
104
|
def shutdown
|
105
105
|
return unless @uploader_thread
|
106
106
|
|
107
|
+
ApolloStudioTracing.logger.info('Shutting down Apollo trace channel...')
|
107
108
|
@shutdown_barrier.shutdown
|
108
109
|
@uploader_thread.join
|
109
110
|
end
|
@@ -115,15 +116,15 @@ module ApolloStudioTracing
|
|
115
116
|
end
|
116
117
|
|
117
118
|
def run_uploader
|
118
|
-
ApolloStudioTracing.logger.info('
|
119
|
+
ApolloStudioTracing.logger.info('Trace uploader starting')
|
119
120
|
drain_queue until @shutdown_barrier.await_shutdown(reporting_interval)
|
120
|
-
|
121
|
+
ApolloStudioTracing.logger.info('Draining queue before shutdown...')
|
121
122
|
drain_queue
|
122
123
|
rescue StandardError => e
|
123
124
|
ApolloStudioTracing.logger.warn("Exception thrown in uploader process. #{e}")
|
124
125
|
raise e
|
125
126
|
ensure
|
126
|
-
ApolloStudioTracing.logger.info('
|
127
|
+
ApolloStudioTracing.logger.info('Trace uploader exiting')
|
127
128
|
end
|
128
129
|
|
129
130
|
def drain_queue
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: apollo-studio-tracing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Luke Saniwck
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-11-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: graphql
|
@@ -220,6 +220,7 @@ files:
|
|
220
220
|
- bin/rspec
|
221
221
|
- lib/apollo-studio-tracing.rb
|
222
222
|
- lib/apollo-studio-tracing/api.rb
|
223
|
+
- lib/apollo-studio-tracing/logger.rb
|
223
224
|
- lib/apollo-studio-tracing/node_map.rb
|
224
225
|
- lib/apollo-studio-tracing/proto.rb
|
225
226
|
- lib/apollo-studio-tracing/proto/apollo.proto
|