honeycomb-beeline 2.1.1 → 2.1.2
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 +4 -4
- data/.circleci/config.yml +8 -2
- data/.github/CODEOWNERS +5 -0
- data/Gemfile.lock +6 -6
- data/honeycomb-beeline.gemspec +1 -1
- data/lib/honeycomb/beeline/version.rb +1 -1
- data/lib/honeycomb/client.rb +15 -15
- data/lib/honeycomb/span.rb +11 -2
- data/lib/honeycomb/trace.rb +12 -1
- metadata +5 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7f19c4aff5f79d28bb532e24562c1070a1e4f6b2ee86d627e114a4fad388539f
|
4
|
+
data.tar.gz: f4a64e080f22e85e32e3e75b8655c8bd7e126ef67d6b928a69089df3ee57f4cf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8d6289b4ad7b7e1e82520925f59096761be2adff0c028a503676b692039138d3c0501df71b9a2fe6b2687fe592cc5abdcc6447476553bf0ca73eb630e7f9a43f
|
7
|
+
data.tar.gz: cf4f69a76786874d9e1e0cc2ef016365412613e9113913b863d0c7240e0cc034e8aa528ffc17cf54c95886ebc1cf6010a986a419ea59cfd4c82a45c3ec054224
|
data/.circleci/config.yml
CHANGED
@@ -69,7 +69,7 @@ workflows:
|
|
69
69
|
filters:
|
70
70
|
branches:
|
71
71
|
only:
|
72
|
-
-
|
72
|
+
- main
|
73
73
|
jobs:
|
74
74
|
- lint
|
75
75
|
- test: &test
|
@@ -77,7 +77,7 @@ workflows:
|
|
77
77
|
- lint
|
78
78
|
matrix:
|
79
79
|
parameters:
|
80
|
-
ruby-version: ["2.3", "2.4", "2.5", "2.6", "2.7"]
|
80
|
+
ruby-version: ["2.2", "2.3", "2.4", "2.5", "2.6", "2.7"]
|
81
81
|
gemfile:
|
82
82
|
- gemfiles/aws_2.gemfile
|
83
83
|
- gemfiles/aws_3.gemfile
|
@@ -96,6 +96,12 @@ workflows:
|
|
96
96
|
- gemfiles/redis_3.gemfile
|
97
97
|
- gemfiles/redis_4.gemfile
|
98
98
|
exclude:
|
99
|
+
- ruby-version: "2.2"
|
100
|
+
gemfile: gemfiles/faraday_1.gemfile
|
101
|
+
- ruby-version: "2.2"
|
102
|
+
gemfile: gemfiles/rails_52.gemfile
|
103
|
+
- ruby-version: "2.2"
|
104
|
+
gemfile: gemfiles/rails_6.gemfile
|
99
105
|
- ruby-version: "2.3"
|
100
106
|
gemfile: gemfiles/rails_6.gemfile
|
101
107
|
- ruby-version: "2.4"
|
data/.github/CODEOWNERS
ADDED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
honeycomb-beeline (2.1.
|
4
|
+
honeycomb-beeline (2.1.2)
|
5
5
|
libhoney (~> 1.14, >= 1.14.2)
|
6
6
|
|
7
7
|
GEM
|
@@ -16,7 +16,7 @@ GEM
|
|
16
16
|
thor (>= 0.14.0)
|
17
17
|
ast (2.4.0)
|
18
18
|
bump (0.9.0)
|
19
|
-
byebug (
|
19
|
+
byebug (10.0.2)
|
20
20
|
childprocess (0.9.0)
|
21
21
|
ffi (~> 1.0, >= 1.0.11)
|
22
22
|
coderay (1.1.2)
|
@@ -43,7 +43,7 @@ GEM
|
|
43
43
|
ffi-compiler (>= 1.0, < 2.0)
|
44
44
|
iniparse (1.5.0)
|
45
45
|
jaro_winkler (1.5.4)
|
46
|
-
libhoney (1.14.
|
46
|
+
libhoney (1.14.5)
|
47
47
|
addressable (~> 2.0)
|
48
48
|
http (>= 2.0, < 5.0)
|
49
49
|
method_source (0.9.2)
|
@@ -56,8 +56,8 @@ GEM
|
|
56
56
|
pry (0.12.2)
|
57
57
|
coderay (~> 1.1.0)
|
58
58
|
method_source (~> 0.9.0)
|
59
|
-
pry-byebug (3.
|
60
|
-
byebug (~>
|
59
|
+
pry-byebug (3.6.0)
|
60
|
+
byebug (~> 10.0)
|
61
61
|
pry (~> 0.10)
|
62
62
|
public_suffix (4.0.4)
|
63
63
|
rainbow (3.0.0)
|
@@ -116,7 +116,7 @@ DEPENDENCIES
|
|
116
116
|
honeycomb-beeline!
|
117
117
|
overcommit (~> 0.46.0)
|
118
118
|
pry (< 0.13.0)
|
119
|
-
pry-byebug (~> 3.
|
119
|
+
pry-byebug (~> 3.6.0)
|
120
120
|
rake
|
121
121
|
rspec (~> 3.0)
|
122
122
|
rubocop (< 0.69)
|
data/honeycomb-beeline.gemspec
CHANGED
@@ -44,7 +44,7 @@ Gem::Specification.new do |spec|
|
|
44
44
|
spec.add_development_dependency "bundler"
|
45
45
|
spec.add_development_dependency "overcommit", "~> 0.46.0"
|
46
46
|
spec.add_development_dependency "pry", "< 0.13.0"
|
47
|
-
spec.add_development_dependency "pry-byebug", "~> 3.
|
47
|
+
spec.add_development_dependency "pry-byebug", "~> 3.6.0"
|
48
48
|
spec.add_development_dependency "rake"
|
49
49
|
spec.add_development_dependency "rspec", "~> 3.0"
|
50
50
|
spec.add_development_dependency "rubocop", "< 0.69"
|
data/lib/honeycomb/client.rb
CHANGED
@@ -54,24 +54,24 @@ module Honeycomb
|
|
54
54
|
context.current_span.create_child
|
55
55
|
end
|
56
56
|
|
57
|
+
current_span = context.current_span
|
58
|
+
|
57
59
|
fields.each do |key, value|
|
58
|
-
|
60
|
+
current_span.add_field(key, value)
|
59
61
|
end
|
60
62
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
else
|
74
|
-
context.current_span
|
63
|
+
current_span.add_field("name", name)
|
64
|
+
|
65
|
+
return current_span unless block_given?
|
66
|
+
|
67
|
+
begin
|
68
|
+
yield current_span
|
69
|
+
rescue StandardError => e
|
70
|
+
current_span.add_field("error", e.class.name)
|
71
|
+
current_span.add_field("error_detail", e.message)
|
72
|
+
raise e
|
73
|
+
ensure
|
74
|
+
current_span.send
|
75
75
|
end
|
76
76
|
end
|
77
77
|
|
data/lib/honeycomb/span.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require "securerandom"
|
4
3
|
require "forwardable"
|
4
|
+
require "securerandom"
|
5
5
|
require "honeycomb/propagation"
|
6
6
|
require "honeycomb/deterministic_sampler"
|
7
7
|
require "honeycomb/rollup_fields"
|
@@ -24,7 +24,7 @@ module Honeycomb
|
|
24
24
|
builder:,
|
25
25
|
context:,
|
26
26
|
**options)
|
27
|
-
@id =
|
27
|
+
@id = generate_span_id
|
28
28
|
@context = context
|
29
29
|
@context.current_span = self
|
30
30
|
@builder = builder
|
@@ -85,6 +85,8 @@ module Honeycomb
|
|
85
85
|
|
86
86
|
private
|
87
87
|
|
88
|
+
INVALID_SPAN_ID = ("00" * 8)
|
89
|
+
|
88
90
|
attr_reader :event,
|
89
91
|
:parent,
|
90
92
|
:parent_id,
|
@@ -156,5 +158,12 @@ module Honeycomb
|
|
156
158
|
"mid"
|
157
159
|
end
|
158
160
|
end
|
161
|
+
|
162
|
+
def generate_span_id
|
163
|
+
loop do
|
164
|
+
id = SecureRandom.hex(8)
|
165
|
+
return id unless id == INVALID_SPAN_ID
|
166
|
+
end
|
167
|
+
end
|
159
168
|
end
|
160
169
|
end
|
data/lib/honeycomb/trace.rb
CHANGED
@@ -21,7 +21,7 @@ module Honeycomb
|
|
21
21
|
trace_id, parent_span_id, trace_fields, dataset =
|
22
22
|
parse serialized_trace
|
23
23
|
dataset && builder.dataset = dataset
|
24
|
-
@id = trace_id ||
|
24
|
+
@id = trace_id || generate_trace_id
|
25
25
|
@fields = trace_fields || {}
|
26
26
|
@root_span = Span.new(trace: self,
|
27
27
|
parent_id: parent_span_id,
|
@@ -34,5 +34,16 @@ module Honeycomb
|
|
34
34
|
def add_field(key, value)
|
35
35
|
@fields[key] = value
|
36
36
|
end
|
37
|
+
|
38
|
+
private
|
39
|
+
|
40
|
+
INVALID_TRACE_ID = ("00" * 16)
|
41
|
+
|
42
|
+
def generate_trace_id
|
43
|
+
loop do
|
44
|
+
id = SecureRandom.hex(16)
|
45
|
+
return id unless id == INVALID_TRACE_ID
|
46
|
+
end
|
47
|
+
end
|
37
48
|
end
|
38
49
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: honeycomb-beeline
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Holman
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: libhoney
|
@@ -106,14 +106,14 @@ dependencies:
|
|
106
106
|
requirements:
|
107
107
|
- - "~>"
|
108
108
|
- !ruby/object:Gem::Version
|
109
|
-
version: 3.
|
109
|
+
version: 3.6.0
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
112
|
version_requirements: !ruby/object:Gem::Requirement
|
113
113
|
requirements:
|
114
114
|
- - "~>"
|
115
115
|
- !ruby/object:Gem::Version
|
116
|
-
version: 3.
|
116
|
+
version: 3.6.0
|
117
117
|
- !ruby/object:Gem::Dependency
|
118
118
|
name: rake
|
119
119
|
requirement: !ruby/object:Gem::Requirement
|
@@ -222,6 +222,7 @@ files:
|
|
222
222
|
- ".circleci/bundler_version.sh"
|
223
223
|
- ".circleci/config.yml"
|
224
224
|
- ".circleci/setup-rubygems.sh"
|
225
|
+
- ".github/CODEOWNERS"
|
225
226
|
- ".gitignore"
|
226
227
|
- ".overcommit.yml"
|
227
228
|
- ".rspec"
|