honeycomb-beeline 2.1.2 → 2.4.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: 7f19c4aff5f79d28bb532e24562c1070a1e4f6b2ee86d627e114a4fad388539f
4
- data.tar.gz: f4a64e080f22e85e32e3e75b8655c8bd7e126ef67d6b928a69089df3ee57f4cf
3
+ metadata.gz: d99297b1c5e39a9a250cc298aac8282da89dc29247d2ea03567111f47001d14e
4
+ data.tar.gz: 78233609ea887df63e5890476e8bae8b62e904db968f429d22c8562eaa62204e
5
5
  SHA512:
6
- metadata.gz: 8d6289b4ad7b7e1e82520925f59096761be2adff0c028a503676b692039138d3c0501df71b9a2fe6b2687fe592cc5abdcc6447476553bf0ca73eb630e7f9a43f
7
- data.tar.gz: cf4f69a76786874d9e1e0cc2ef016365412613e9113913b863d0c7240e0cc034e8aa528ffc17cf54c95886ebc1cf6010a986a419ea59cfd4c82a45c3ec054224
6
+ metadata.gz: 4745aa8377bcd8fc7665431754d5e8e7f6ec067c8cb157d6ea463b8270b46b1fd87206432e2b8b0a68cbd3465914479c31dd185d2888087173da26f0cfa276fc
7
+ data.tar.gz: 397aa8cd262415e7e1a83fb135b01e18d40a73f924a6526a7d4b5974cc9aef8e82a96906b0d6b8246cfcb45bcf474f5854f81c98766080cb29040736f3453f60
@@ -3,6 +3,10 @@
3
3
  set -ux
4
4
 
5
5
  if [[ "$BUNDLE_GEMFILE" =~ (rails_41.gemfile|rails_42.gemfile)$ ]]; then
6
+ echo "Rails 4.1 and 4.2 require an old Bundler"
6
7
  gem uninstall -v '>= 2' -ax bundler
7
8
  gem install bundler -v '< 2'
9
+ else
10
+ echo "Get the latest Bundler"
11
+ gem update bundler
8
12
  fi
data/.circleci/config.yml CHANGED
@@ -6,7 +6,6 @@ commands:
6
6
  type: string
7
7
  gemfile:
8
8
  type: string
9
- default: Gemfile
10
9
  command:
11
10
  type: string
12
11
  default: bundle exec rake test
@@ -14,28 +13,68 @@ commands:
14
13
  - checkout
15
14
  - restore_cache:
16
15
  keys:
17
- - gems-v1-<< parameters.ruby-version >>-{{ checksum "Gemfile.lock" }}
16
+ - gems-v1-<< parameters.ruby-version >>-<< parameters.gemfile >>-{{ checksum "Gemfile.lock" }}
17
+ - gems-v1-<< parameters.ruby-version >>-<< parameters.gemfile >>
18
18
  - gems-v1-<< parameters.ruby-version >>
19
- - run: gem update bundler
20
- - run: BUNDLE_GEMFILE=<< parameters.gemfile >> ./.circleci/bundler_version.sh
21
- - run: BUNDLE_GEMFILE=<< parameters.gemfile >> bundle install --jobs=4 --retry=3 --path vendor/bundle
19
+ - run: .circleci/bundler_version.sh
20
+ - run: bundle config set --local path $HOME/project/vendor/bundle
21
+ - run: bundle install --jobs=4 --retry=3
22
+ - run: bundle clean --force
23
+ - run: bundle env
22
24
  - save_cache:
23
25
  paths:
24
26
  - ./vendor/bundle
25
- key: gems-v1-<< parameters.ruby-version >>-{{ checksum "Gemfile.lock" }}
26
- - run: BUNDLE_GEMFILE=<< parameters.gemfile >> << parameters.command >>
27
+ key: gems-v1-<< parameters.ruby-version >>-<< parameters.gemfile >>-{{ checksum "Gemfile.lock" }}
28
+ - run: << parameters.command >>
27
29
 
28
30
  jobs:
29
- publish:
31
+ build_artifacts:
30
32
  docker:
31
- - image: circleci/ruby:2.6
33
+ - image: circleci/ruby:2.6
32
34
  steps:
33
35
  - checkout
36
+ - run: mkdir -p ~/artifacts
37
+ - run: gem build honeycomb-beeline.gemspec
38
+ - run: cp honeycomb-beeline-*.gem ~/artifacts/
39
+ - persist_to_workspace:
40
+ root: ~/
41
+ paths:
42
+ - artifacts
43
+ - store_artifacts:
44
+ path: ~/artifacts
45
+
46
+ publish_rubygems:
47
+ docker:
48
+ - image: circleci/ruby:2.6
49
+ steps:
50
+ - attach_workspace:
51
+ at: ~/
52
+ - run:
53
+ name: "Artifacts being published"
54
+ command: |
55
+ echo "about to publish to tag ${CIRCLE_TAG}"
56
+ ls -l ~/artifacts/*
57
+ - checkout
34
58
  - run:
35
59
  name: Setup Rubygems
36
60
  command: bash .circleci/setup-rubygems.sh
37
- - run: gem build honeycomb-beeline.gemspec
38
- - run: gem push honeycomb-beeline-*.gem
61
+ - run: gem push ~/artifacts/honeycomb-beeline-*.gem
62
+
63
+ publish_github:
64
+ docker:
65
+ - image: cibuilds/github:0.13.0
66
+ steps:
67
+ - attach_workspace:
68
+ at: ~/
69
+ - run:
70
+ name: "Artifacts being published"
71
+ command: |
72
+ echo "about to publish to tag ${CIRCLE_TAG}"
73
+ ls -l ~/artifacts/*
74
+ - run:
75
+ name: "GHR Draft"
76
+ command: ghr -draft -n ${CIRCLE_TAG} -t ${GITHUB_TOKEN} -u ${CIRCLE_PROJECT_USERNAME} -r ${CIRCLE_PROJECT_REPONAME} -c ${CIRCLE_SHA1} ${CIRCLE_TAG} ~/artifacts
77
+
39
78
  lint:
40
79
  parameters:
41
80
  ruby-version:
@@ -43,9 +82,12 @@ jobs:
43
82
  default: "2.6"
44
83
  docker:
45
84
  - image: circleci/ruby:<< parameters.ruby-version >>
85
+ environment:
86
+ BUNDLE_GEMFILE: ./Gemfile
46
87
  steps:
47
88
  - ruby:
48
89
  ruby-version: << parameters.ruby-version >>
90
+ gemfile: root
49
91
  command: bundle exec rake rubocop
50
92
  test:
51
93
  parameters:
@@ -55,11 +97,15 @@ jobs:
55
97
  type: string
56
98
  docker:
57
99
  - image: circleci/ruby:<< parameters.ruby-version >>
100
+ environment:
101
+ BUNDLE_GEMFILE: gemfiles/<< parameters.gemfile >>.gemfile
58
102
  steps:
59
103
  - ruby:
60
104
  ruby-version: << parameters.ruby-version >>
61
105
  gemfile: << parameters.gemfile >>
62
106
  command: bundle exec rake test
107
+ - store_test_results:
108
+ path: test/reports
63
109
 
64
110
  workflows:
65
111
  nightly:
@@ -73,62 +119,68 @@ workflows:
73
119
  jobs:
74
120
  - lint
75
121
  - test: &test
122
+ name: test-<< matrix.gemfile >>-ruby_<< matrix.ruby-version >>
76
123
  requires:
77
124
  - lint
78
125
  matrix:
79
126
  parameters:
80
127
  ruby-version: ["2.2", "2.3", "2.4", "2.5", "2.6", "2.7"]
81
128
  gemfile:
82
- - gemfiles/aws_2.gemfile
83
- - gemfiles/aws_3.gemfile
84
- - gemfiles/faraday_0.gemfile
85
- - gemfiles/faraday_1.gemfile
86
- - gemfiles/sequel4.gemfile
87
- - gemfiles/sequel5.gemfile
88
- - gemfiles/sinatra.gemfile
89
- - gemfiles/rack.gemfile
90
- - gemfiles/rails_41.gemfile
91
- - gemfiles/rails_42.gemfile
92
- - gemfiles/rails_5.gemfile
93
- - gemfiles/rails_51.gemfile
94
- - gemfiles/rails_52.gemfile
95
- - gemfiles/rails_6.gemfile
96
- - gemfiles/redis_3.gemfile
97
- - gemfiles/redis_4.gemfile
129
+ - aws_2
130
+ - aws_3
131
+ - faraday_0
132
+ - faraday_1
133
+ - sequel4
134
+ - sequel5
135
+ - sinatra
136
+ - rack
137
+ - rails_41
138
+ - rails_42
139
+ - rails_5
140
+ - rails_51
141
+ - rails_52
142
+ - rails_6
143
+ - rails_61
144
+ - redis_3
145
+ - redis_4
98
146
  exclude:
99
147
  - ruby-version: "2.2"
100
- gemfile: gemfiles/faraday_1.gemfile
148
+ gemfile: faraday_1
149
+ - ruby-version: "2.2"
150
+ gemfile: rails_52
101
151
  - ruby-version: "2.2"
102
- gemfile: gemfiles/rails_52.gemfile
152
+ gemfile: rails_6
153
+ - ruby-version: "2.3"
154
+ gemfile: rails_6
155
+ - ruby-version: "2.4"
156
+ gemfile: rails_6
103
157
  - ruby-version: "2.2"
104
- gemfile: gemfiles/rails_6.gemfile
158
+ gemfile: rails_61
105
159
  - ruby-version: "2.3"
106
- gemfile: gemfiles/rails_6.gemfile
160
+ gemfile: rails_61
107
161
  - ruby-version: "2.4"
108
- gemfile: gemfiles/rails_6.gemfile
162
+ gemfile: rails_61
109
163
  - ruby-version: "2.4"
110
- gemfile: gemfiles/rails_41.gemfile
164
+ gemfile: rails_41
111
165
  - ruby-version: "2.5"
112
- gemfile: gemfiles/rails_41.gemfile
166
+ gemfile: rails_41
113
167
  - ruby-version: "2.6"
114
- gemfile: gemfiles/rails_41.gemfile
168
+ gemfile: rails_41
115
169
  - ruby-version: "2.7"
116
- gemfile: gemfiles/rails_41.gemfile
170
+ gemfile: rails_41
117
171
  - ruby-version: "2.7"
118
- gemfile: gemfiles/rails_42.gemfile
172
+ gemfile: rails_42
119
173
  beeline:
120
174
  jobs:
121
175
  - lint:
122
- filters:
176
+ filters: &regular_filters
123
177
  tags:
124
178
  only: /.*/
125
179
  - test:
126
180
  <<: *test
127
- filters:
128
- tags:
129
- only: /.*/
130
- - publish:
131
- filters:
181
+ filters: *regular_filters
182
+ - build_artifacts:
183
+ filters: &tag_filters
132
184
  tags:
133
185
  only: /^v.*/
134
186
  branches:
@@ -136,3 +188,10 @@ workflows:
136
188
  requires:
137
189
  - lint
138
190
  - test
191
+ - publish_rubygems: &publish
192
+ filters: *tag_filters
193
+ requires:
194
+ - build_artifacts
195
+ - publish_github:
196
+ <<: *publish
197
+ context: Honeycomb Secrets for Public Repos
data/.editorconfig ADDED
@@ -0,0 +1,12 @@
1
+ root = true
2
+
3
+ [*]
4
+ indent_style = space
5
+ indent_size = 2
6
+ charset = utf-8
7
+ trim_trailing_whitespace = true
8
+ insert_final_newline = true
9
+
10
+ [*.md]
11
+ indent_size = 4
12
+ trim_trailing_whitespace = true
@@ -0,0 +1,13 @@
1
+ # To get started with Dependabot version updates, you'll need to specify which
2
+ # package ecosystems to update and where the package manifests are located.
3
+ # Please see the documentation for all configuration options:
4
+ # https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
5
+
6
+ version: 2
7
+ updates:
8
+ - package-ecosystem: "bundler" # See documentation for possible values
9
+ directory: "/gemfiles/" # Location of package manifests
10
+ schedule:
11
+ interval: "weekly"
12
+ reviewers:
13
+ - "honeycombio/integrations-team"
@@ -0,0 +1,16 @@
1
+ name: Apply project labels
2
+
3
+ on:
4
+ - issues
5
+ - label
6
+ - pull_request_target
7
+ - pull_request
8
+
9
+ jobs:
10
+ apply-labels:
11
+ runs-on: ubuntu-latest
12
+ name: Apply common project labels
13
+ steps:
14
+ - uses: honeycombio/integrations-labels@v1
15
+ with:
16
+ github-token: ${{ secrets.GITHUB_TOKEN }}
data/.gitignore CHANGED
@@ -5,6 +5,7 @@
5
5
  /doc/
6
6
  /pkg/
7
7
  /spec/reports/
8
+ /test/reports/
8
9
  /tmp/
9
10
  .idea/
10
11
 
data/.rspec CHANGED
@@ -1,3 +1,7 @@
1
+ <% if ENV['CI'] %>
2
+ --format RspecJunitFormatter
3
+ --out test/reports/result.xml
4
+ <% end %>
1
5
  --format documentation
2
6
  --color
3
7
  --require spec_helper
data/.rubocop.yml CHANGED
@@ -32,6 +32,12 @@ Metrics/LineLength:
32
32
  Metrics/ParameterLists:
33
33
  Max: 6
34
34
 
35
+ Style/AccessModifierDeclarations:
36
+ Exclude:
37
+ - lib/honeycomb/propagation/aws.rb
38
+ - lib/honeycomb/propagation/w3c.rb
39
+ - lib/honeycomb/propagation/honeycomb.rb
40
+
35
41
  Style/FrozenStringLiteralComment:
36
42
  EnforcedStyle: always
37
43
  Exclude:
data/CHANGELOG.md ADDED
@@ -0,0 +1,104 @@
1
+ # beeline-ruby changelog
2
+
3
+ ## 2.4.2 2021-06-25
4
+
5
+ ### Fixes
6
+
7
+ - Update Rails middleware to get status code even on raised error. (#153) [@lirossarvet](https://github.com/lirossarvet)
8
+ - Make Rails spec consistent with Honeycomb Railtie Initialization. (#154) [@robbkidd](https://github.com/robbkidd)
9
+ - CI Improvements (#155) [@robbkidd](https://github.com/robbkidd)
10
+ - Improve performance of Redis command serialization. (#146) [@ajvondrak](https://github.com/ajvondrak)
11
+
12
+ ## 2.4.1 2021-06-01
13
+
14
+ ### Fixes
15
+
16
+ - Updates Redis event-field filter to handle string keys in options in
17
+ addition to symbol keys. (#147) [@cupakromer](https://github.com/cupakromer)
18
+
19
+ ### Maintenance
20
+
21
+ - Expanded on the Rails 5.2 example. (#141) [@robbkidd](https://github.com/robbkidd)
22
+ - Added a test case for current behavior of event emitted for an
23
+ exception raised in Rails. (@132) [@vreynolds](https://github.com/vreynolds)
24
+
25
+ ## 2.4.0 2021-01-07
26
+ ### Added
27
+ - Add support for HTTP Accept-Encoding header (#125) [@irvingreid](https://github.com/irvingreid)
28
+ - Add with_field, with_trace_field wrapper methods (#51) [@ajvondrak](https://github.com/ajvondrak)
29
+
30
+ ## 2.3.0 2020-11-06
31
+ ### Improvements
32
+ - Custom trace header hooks (#117)
33
+ - Add rspec filter :focus for assisting with debugging tests (#120)
34
+ - Be more lenient in expected output from AWS gem (#119)
35
+
36
+ ## 2.2.0 2020-09-02
37
+ ### New things
38
+ - refactor parsers/propagators, add w3c and aws parsers and propagators (#104) [@katiebayes](https://github.com/katiebayes)
39
+
40
+ ### Tiny fix
41
+ - Adjusted a threshold that should resolve the occasional build failures (#107) [@katiebayes](https://github.com/katiebayes)
42
+
43
+ ## 2.1.2 2020-08-26
44
+ ### Improvements
45
+ - reference current span in start_span (#105) [@rintaun](https://github.com/rintaun)
46
+ - switch trace and span ids over to w3c-supported formats (#100) [@katiebayes](https://github.com/katiebayes)
47
+
48
+ ## 2.1.1 2020-07-28
49
+ ### Fixes
50
+ - Remove children after sending | #98 | [@martin308](https://github.com/martin308)
51
+
52
+ ## 2.1.0 2020-06-10
53
+ ### Features
54
+ - Adding X-Forwarded-For to instrumented fields | #91 | [@paulosman](https://github.com/paulosman)
55
+ - Add request.header.accept_language field | #94 | [@timcraft](https://github.com/timcraft)
56
+ - Support custom notifications based on a regular expression | #92 | [@mrchucho](https://github.com/mrchucho)
57
+
58
+ ### Fixes
59
+ - Properly pass options for Ruby 2.7 | #85 | [@terracatta](https://github.com/terracatta)
60
+ - Fix regex substitution for warden and empty? errors for Rack | #88 | [@irvingreid](https://github.com/irvingreid)
61
+
62
+ ## 2.0.0 2020-03-10
63
+ See [release notes](https://github.com/honeycombio/beeline-ruby/releases/tag/v2.0.0)
64
+
65
+ ## 1.3.0 2019-11-20
66
+ ### Features
67
+ - redis integration | #42 | [@ajvondrak](https://github.com/ajvondrak)
68
+
69
+ ## 1.2.0 2019-11-04
70
+ ### Features
71
+ - aws-sdk v2 & v3 integration | #40 | [@ajvondrak](https://github.com/ajvondrak)
72
+
73
+ ## 1.1.1 2019-10-10
74
+ ### Fixes
75
+ - Skip params when unavailable | #39 | [@martin308](https://github.com/martin308)
76
+
77
+ ## 1.1.0 2019-10-07
78
+ ### Features
79
+ - Split rails and railtie integrations | #35 | [@martin308](https://github.com/martin308)
80
+
81
+ ## 1.0.1 2019-09-03
82
+ ### Fixes
83
+ - Set sample_hook and presend_hook on child spans | #26 | [@orangejulius](https://github.com/orangejulius)
84
+ - No-op if no client found in Faraday integration | #27 | [@Sergio-Mira](https://github.com/Sergio-Mira)
85
+
86
+ ## 1.0.0 2019-07-23
87
+ Version 1 is a milestone release. A complete re-write and modernization of Honeycomb's Ruby support.
88
+ See UPGRADING.md for migrating from v0.8.0 and see https://docs.honeycomb.io for full documentation.
89
+
90
+ ## 0.8.0 2019-05-06
91
+ ### Enhancements
92
+ - Expose event to #span block | #17 | [@eternal44](https://github.com/eternal44)
93
+
94
+ ## 0.7.0 2019-03-13
95
+ ### Enhancements
96
+ - Remove default inclusion of Sequel instrumentation | #12 | [@martin308](https://github.com/martin308)
97
+
98
+ ## 0.6.0 2018-11-29
99
+ ### Enhancements
100
+ - Tracing API and cross-process tracing | #4 | [@samstokes](https://github.com/samstokes)
101
+
102
+ ## 0.5.0 2018-11-29
103
+ ### Enhancements
104
+ - Improved rails support | #3 | [@samstokes](https://github.com/samstokes)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- honeycomb-beeline (2.1.2)
4
+ honeycomb-beeline (2.4.2)
5
5
  libhoney (~> 1.14, >= 1.14.2)
6
6
 
7
7
  GEM
@@ -19,6 +19,9 @@ GEM
19
19
  byebug (10.0.2)
20
20
  childprocess (0.9.0)
21
21
  ffi (~> 1.0, >= 1.0.11)
22
+ codecov (0.2.8)
23
+ json
24
+ simplecov
22
25
  coderay (1.1.2)
23
26
  crack (0.4.3)
24
27
  safe_yaml (~> 1.0.0)
@@ -26,6 +29,7 @@ GEM
26
29
  docile (1.3.2)
27
30
  domain_name (0.5.20190701)
28
31
  unf (>= 0.0.5, < 1.0.0)
32
+ excon (0.82.0)
29
33
  ffi (1.12.2)
30
34
  ffi-compiler (1.0.1)
31
35
  ffi (>= 1.0.0)
@@ -36,15 +40,17 @@ GEM
36
40
  http-cookie (~> 1.0)
37
41
  http-form_data (~> 2.2)
38
42
  http-parser (~> 1.2.0)
39
- http-cookie (1.0.3)
43
+ http-cookie (1.0.4)
40
44
  domain_name (~> 0.5)
41
45
  http-form_data (2.3.0)
42
- http-parser (1.2.1)
46
+ http-parser (1.2.3)
43
47
  ffi-compiler (>= 1.0, < 2.0)
44
48
  iniparse (1.5.0)
45
49
  jaro_winkler (1.5.4)
46
- libhoney (1.14.5)
50
+ json (2.3.1)
51
+ libhoney (1.18.0)
47
52
  addressable (~> 2.0)
53
+ excon
48
54
  http (>= 2.0, < 5.0)
49
55
  method_source (0.9.2)
50
56
  overcommit (0.46.0)
@@ -75,6 +81,8 @@ GEM
75
81
  diff-lcs (>= 1.2.0, < 2.0)
76
82
  rspec-support (~> 3.9.0)
77
83
  rspec-support (3.9.3)
84
+ rspec_junit_formatter (0.4.1)
85
+ rspec-core (>= 2, < 4, != 2.12.0)
78
86
  rubocop (0.68.1)
79
87
  jaro_winkler (~> 1.5.1)
80
88
  parallel (~> 1.10)
@@ -113,12 +121,14 @@ DEPENDENCIES
113
121
  appraisal
114
122
  bump
115
123
  bundler
124
+ codecov
116
125
  honeycomb-beeline!
117
126
  overcommit (~> 0.46.0)
118
127
  pry (< 0.13.0)
119
128
  pry-byebug (~> 3.6.0)
120
129
  rake
121
130
  rspec (~> 3.0)
131
+ rspec_junit_formatter
122
132
  rubocop (< 0.69)
123
133
  rubocop-performance (< 1.3.0)
124
134
  simplecov
@@ -126,4 +136,4 @@ DEPENDENCIES
126
136
  webmock
127
137
 
128
138
  BUNDLED WITH
129
- 2.1.4
139
+ 2.2.21