honeycomb-beeline 2.1.1 → 2.1.2

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: 8dc063924a92fcf2aa2ce4bbdcd3ab6bb79666a4d6266e957129f57bb131ee77
4
- data.tar.gz: 30111f935a4503b82321d30fbf752ff7462951c40c6249357543167d24890130
3
+ metadata.gz: 7f19c4aff5f79d28bb532e24562c1070a1e4f6b2ee86d627e114a4fad388539f
4
+ data.tar.gz: f4a64e080f22e85e32e3e75b8655c8bd7e126ef67d6b928a69089df3ee57f4cf
5
5
  SHA512:
6
- metadata.gz: 300c4652b990b2365eb4194702c16012c027beb7b13d396b0129d7ebe8a82a6bf848ab221d0158967f0e2c9d4bbc20d91715dae88f96b7d4f63714cdc03099f0
7
- data.tar.gz: 546ffeb8520ce66beb3d57223aac4e5131f9b0b0286c90618b11983e8a2821a1e8303ed9faf09a3022564956918a2dad688d8bce6bfa4e185c0e4a253fc72666
6
+ metadata.gz: 8d6289b4ad7b7e1e82520925f59096761be2adff0c028a503676b692039138d3c0501df71b9a2fe6b2687fe592cc5abdcc6447476553bf0ca73eb630e7f9a43f
7
+ data.tar.gz: cf4f69a76786874d9e1e0cc2ef016365412613e9113913b863d0c7240e0cc034e8aa528ffc17cf54c95886ebc1cf6010a986a419ea59cfd4c82a45c3ec054224
@@ -69,7 +69,7 @@ workflows:
69
69
  filters:
70
70
  branches:
71
71
  only:
72
- - master
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"
@@ -0,0 +1,5 @@
1
+ # Code owners file.
2
+ # This file controls who is tagged for review for any given pull request.
3
+
4
+ # For anything not explicitly taken by someone else:
5
+ * @honeycombio/integrations-team @martin308
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- honeycomb-beeline (2.1.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 (11.1.3)
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.4)
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.7.0)
60
- byebug (~> 11.0)
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.7.0)
119
+ pry-byebug (~> 3.6.0)
120
120
  rake
121
121
  rspec (~> 3.0)
122
122
  rubocop (< 0.69)
@@ -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.7.0"
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"
@@ -3,7 +3,7 @@
3
3
  module Honeycomb
4
4
  module Beeline
5
5
  NAME = "honeycomb-beeline".freeze
6
- VERSION = "2.1.1".freeze
6
+ VERSION = "2.1.2".freeze
7
7
  USER_AGENT_SUFFIX = "#{NAME}/#{VERSION}".freeze
8
8
  end
9
9
  end
@@ -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
- context.current_span.add_field(key, value)
60
+ current_span.add_field(key, value)
59
61
  end
60
62
 
61
- context.current_span.add_field("name", name)
62
-
63
- if block_given?
64
- begin
65
- yield context.current_span
66
- rescue StandardError => e
67
- context.current_span.add_field("error", e.class.name)
68
- context.current_span.add_field("error_detail", e.message)
69
- raise e
70
- ensure
71
- context.current_span.send
72
- end
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
 
@@ -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 = SecureRandom.uuid
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
@@ -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 || SecureRandom.uuid
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.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-07-02 00:00:00.000000000 Z
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.7.0
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.7.0
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"