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