hubstep 1.0.2 → 2.0.0

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
  SHA1:
3
- metadata.gz: 0efe830ada901d3c3898e361c861fe5e5c577e7d
4
- data.tar.gz: f2e97b7fe95134a38fcd907f0e5685ee6cafe214
3
+ metadata.gz: a6cc1685cc178b797ff9f372fc95976ce9e71955
4
+ data.tar.gz: 6d0ee36b0061e338830a3216db25522ec32422e7
5
5
  SHA512:
6
- metadata.gz: 365d9a8283621ae309e5e9937c1cc7fa4f72d915bb81dbe62ff0b0f1ad0277c0d28e1e5e8af7783dd22df83a9feb82bf4b3de85bc0ce5de40a0fb2d3d2886e9d
7
- data.tar.gz: 748d1e752f58ac43ad81a477c571635f3e4615468bed8c322e2d7e4b45394e0a8dc6b7e0bcf4400d2b05bccba45dfc11d8f2aaf28d6b3283e01296b36e77d164
6
+ metadata.gz: a957015bb8f033702b83a843d234caa6c4b155e497cfaae7e5264bac6b2960953ae4538b54caf808630eb8a7721ff6221798c128a3016a51d56ef1c49bd4d722
7
+ data.tar.gz: d384d0b3ecf91fae640bc56984fa8405a2dc5df1e8bacf7fb85d739d1b308a53ee2ada32318cf29ada67739812c291c77529ffd0513e9981eb19348adc9b9827
data/hubstep.gemspec CHANGED
@@ -31,5 +31,7 @@ Gem::Specification.new do |spec|
31
31
  spec.add_development_dependency "rack-test", "~> 0.6"
32
32
  spec.add_development_dependency "activesupport", "~> 4.0"
33
33
  spec.add_development_dependency "faraday", "~> 0.10"
34
+ spec.add_development_dependency "failbot", "~> 2.0.0"
35
+ spec.add_development_dependency "webmock", "~> 2.3.1"
34
36
  spec.add_development_dependency "pry-byebug"
35
37
  end
@@ -12,8 +12,9 @@ module LightStep
12
12
  class HTTPError < StandardError; end
13
13
 
14
14
  # There's no way to call through to the normal implementation while getting
15
- # access to the response object, so we just copy all the code here.
16
- def report(report) # rubocop:disable Metrics/AbcSize
15
+ # access to the request/response objects, so we just copy all the code
16
+ # here.
17
+ def report(report) # rubocop:disable Metrics/AbcSize,Metrics/MethodLength
17
18
  p report if @verbose >= 3
18
19
 
19
20
  https = Net::HTTP.new(@host, @port)
@@ -23,6 +24,9 @@ module LightStep
23
24
  req["Content-Type"] = "application/json"
24
25
  req["Connection"] = "keep-alive"
25
26
  req.body = report.to_json
27
+
28
+ ::Failbot.push(request_body: req.body)
29
+
26
30
  res = https.request(req)
27
31
 
28
32
  puts res.to_s, res.body if @verbose >= 3
@@ -32,6 +36,7 @@ module LightStep
32
36
  nil
33
37
  ensure
34
38
  ::Failbot.report!($ERROR_INFO) if $ERROR_INFO
39
+ ::Failbot.pop
35
40
  end
36
41
 
37
42
  def track_error(res)
@@ -24,10 +24,15 @@ module HubStep
24
24
  # returns true, the tracer will be enabled for the duration
25
25
  # of the request. If the Proc returns false, the tracer will
26
26
  # be disabled for the duration of the request.
27
- def initialize(app, tracer, enable_if)
27
+ # include_urls - Boolean specifying whether the `http.url` tag should be
28
+ # added to the spans this middleware creates. URLs can
29
+ # contain sensitive information, so they are omitted by
30
+ # default.
31
+ def initialize(app, tracer:, enable_if:, include_urls: false)
28
32
  @app = app
29
33
  @tracer = tracer
30
34
  @enable_if = enable_if
35
+ @include_urls = include_urls
31
36
  end
32
37
 
33
38
  def call(env)
@@ -68,9 +73,11 @@ module HubStep
68
73
  tags = {
69
74
  "component" => "rack",
70
75
  "span.kind" => "server",
71
- "http.url" => request.url,
72
76
  "http.method" => request.request_method,
73
77
  }
78
+ if @include_urls
79
+ tags["http.url"] = request.url
80
+ end
74
81
  id = request_id(request)
75
82
  if id
76
83
  tags["guid:github_request_id"] = id
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module HubStep
3
- VERSION = "1.0.2"
3
+ VERSION = "2.0.0"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hubstep
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitHub
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-12-19 00:00:00.000000000 Z
11
+ date: 2016-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lightstep
@@ -122,6 +122,34 @@ dependencies:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0.10'
125
+ - !ruby/object:Gem::Dependency
126
+ name: failbot
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: 2.0.0
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - "~>"
137
+ - !ruby/object:Gem::Version
138
+ version: 2.0.0
139
+ - !ruby/object:Gem::Dependency
140
+ name: webmock
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - "~>"
144
+ - !ruby/object:Gem::Version
145
+ version: 2.3.1
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - "~>"
151
+ - !ruby/object:Gem::Version
152
+ version: 2.3.1
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: pry-byebug
127
155
  requirement: !ruby/object:Gem::Requirement