honeycomb-beeline 2.1.2 → 2.4.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: 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