signalfx-tracing 0.2.0 → 1.0.0
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 +4 -4
- data/.gitignore +2 -0
- data/README.md +114 -13
- data/bin/sfx-rb-trace-bootstrap +52 -0
- data/gem.deps.rb +15 -0
- data/lib/signalfx/tracing/instrumentation/active_record.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/elasticsearch.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/faraday.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/grape.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/mongodb.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/mysql2.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/net_http.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/rack.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/rails.rb +7 -2
- data/lib/signalfx/tracing/instrumentation/redis.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/restclient.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/sequel.rb +6 -1
- data/lib/signalfx/tracing/instrumentation/sinatra.rb +6 -1
- data/lib/signalfx/tracing/version.rb +1 -1
- data/lib/signalfx/tracing.rb +1 -1
- data/signalfx-tracing.gemspec +10 -31
- metadata +10 -176
- data/bin/console +0 -14
- data/bin/setup +0 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 20456ae4ee55db663d056e9351711cbf04207893
|
4
|
+
data.tar.gz: 55a020a7ad44fb93a5a09662608a8a92afed5f8c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e0442c92a625217ac9f41b6ec19a5c2d7f7156ecca6eab8cbaa476e0984824fd686e8544875bfd0858fc624fe4606cf54198bf90376d0f01f9b262d7a86460ab
|
7
|
+
data.tar.gz: 814046f126eabb8778f8dfca1739eede6ba7ed6780cb81c465ed57991ddc5a13889d934c1b9710cf37cb0ee0bd935be00d70d15474c5398156d1620bb938b1b3
|
data/.gitignore
ADDED
data/README.md
CHANGED
@@ -1,14 +1,52 @@
|
|
1
|
-
# Ruby
|
1
|
+
# SignalFx-Tracing Library for Ruby: An OpenTracing Auto-Instrumentor
|
2
|
+
|
3
|
+
This utility provides users with the ability of automatically configuring OpenTracing community-contributed [instrumentation libraries](https://github.com/opentracing-contrib) for their Ruby application via a single function.
|
4
|
+
|
5
|
+
```ruby
|
6
|
+
require 'signalfx/tracing'
|
7
|
+
|
8
|
+
SignalFx::Tracing::Instrumenter.configure(auto_instrument:true)
|
9
|
+
```
|
2
10
|
|
3
11
|
## Installation
|
4
12
|
|
5
|
-
|
13
|
+
### General installation
|
14
|
+
|
15
|
+
```bash
|
16
|
+
$ gem install signalfx-tracing
|
17
|
+
```
|
18
|
+
|
19
|
+
The SignalFx Tracing Library for Ruby requires just enough dependencies to allow custom instrumentation for your application, with target library instrumentations needing to be installed manually.
|
20
|
+
The basic installation provides an `sfx-rb-trace-bootstrap` executable to assist with this process, which allows you to specify the desired libraries for instrumentation as a comma-separated list:
|
21
|
+
|
22
|
+
```bash
|
23
|
+
$ sfx-rb-trace-bootstrap --install-deps rack,rails,activerecord,restclient
|
24
|
+
$ # use the --list option to see all available instrumentations
|
25
|
+
$ sfx-rb-trace-bootstrap --list
|
26
|
+
Available target libraries:
|
27
|
+
{"activerecord"=>["activerecord-opentracing", "~> 0.2.1"],
|
28
|
+
< ... >
|
29
|
+
"sinatra"=>["sinatra-instrumentation", "~> 0.1.2"]}
|
30
|
+
```
|
31
|
+
|
32
|
+
If you'd prefer to install all the available instrumentations without the assistance of the `sfx-rb-trace-bootstrap` utility, please install the provided [gem dependencies](./gem.deps.rb).
|
33
|
+
|
34
|
+
```bash
|
35
|
+
$ # Run from a cloned and updated https://github.com/signalfx/signalfx-ruby-tracing.git
|
36
|
+
$ cd signalfx-ruby-tracing
|
37
|
+
$ bundle install
|
38
|
+
$ gem install -g
|
39
|
+
```
|
40
|
+
|
41
|
+
### Installation in existing application
|
42
|
+
|
43
|
+
Specify the desired dependency by adding this line to your application's Gemfile:
|
6
44
|
|
7
45
|
```ruby
|
8
46
|
gem 'signalfx-tracing'
|
9
47
|
```
|
10
48
|
|
11
|
-
|
49
|
+
Then execute the following (or use your desired installation method for your application).
|
12
50
|
|
13
51
|
```bash
|
14
52
|
$ bundle install
|
@@ -25,6 +63,8 @@ The instrumentation can be done automatically, where the auto-instrumenter will
|
|
25
63
|
check for modules defined in the code and instrument them if available:
|
26
64
|
|
27
65
|
```ruby
|
66
|
+
require 'signalfx/tracing'
|
67
|
+
|
28
68
|
SignalFx::Tracing::Instrumenter.configure(auto_instrument:true)
|
29
69
|
```
|
30
70
|
|
@@ -44,29 +84,25 @@ Valid lib names are listed below with the instrumentation documentation.
|
|
44
84
|
- `tracer`: a preconfigured OpenTracing tracer to use. If one is not provided,
|
45
85
|
a new tracer will be initialized.
|
46
86
|
- Default: `nil`
|
47
|
-
- `ingest_url`: this is the endpoint to which spans are sent by the tracer.
|
48
|
-
- Default: `
|
87
|
+
- `ingest_url`: this is the Smart Agent or Smart Gateway endpoint to which spans are sent by the tracer.
|
88
|
+
- Default: `http://localhost:9080/v1/trace`
|
49
89
|
- `service_name`: service name to send spans under.
|
50
90
|
- Default: `signalfx-ruby-tracing`
|
51
|
-
- `access_token`: SignalFx access token for authentication.
|
91
|
+
- `access_token`: SignalFx access token for authentication. Unnecessary for most deployments.
|
52
92
|
- Default: `''`
|
53
93
|
|
54
94
|
Environment variables can be used to configure `service_name` and `access_token`
|
55
95
|
if not given to the `configure` method.
|
56
96
|
|
57
97
|
```bash
|
58
|
-
export SIGNALFX_ACCESS_TOKEN="<token>"
|
59
98
|
export SIGNALFX_SERVICE_NAME="<service_name>"
|
60
|
-
export
|
99
|
+
export SIGNALFX_ENDPOINT_URL="<url>"
|
100
|
+
export SIGNALFX_ACCESS_TOKEN="<token>"
|
61
101
|
```
|
62
102
|
|
63
103
|
If these environment variables are not set, the values will default to the ones
|
64
104
|
listed above.
|
65
105
|
|
66
|
-
The `access_token` or `SIGNALFX_ACCESS_TOKEN` only needs to be set when sending
|
67
|
-
spans to a SignalFx ingest directly. It is not required when using the Smart
|
68
|
-
Agent or Smart Gateway.
|
69
|
-
|
70
106
|
# Instrumentation
|
71
107
|
|
72
108
|
This section contains details and configuration for specific frameworks.
|
@@ -92,7 +128,7 @@ When interfacing with these web servers as a Rack application, please configure
|
|
92
128
|
|
93
129
|
| Library | Versions Supported |
|
94
130
|
| ----------------------------------- | ------------------ |
|
95
|
-
| [ActiveRecord](#active-record) |
|
131
|
+
| [ActiveRecord](#active-record) | >= 5.x |
|
96
132
|
| [Elasticsearch](#elasticsearch) | >= 5.x |
|
97
133
|
| [Faraday](#faraday) | > 0.9.2 |
|
98
134
|
| [Grape](#grape) | > 1.0.0 |
|
@@ -115,6 +151,11 @@ The source for this instrumentation is located [here](https://github.com/salemov
|
|
115
151
|
|
116
152
|
### Usage
|
117
153
|
|
154
|
+
```bash
|
155
|
+
$ # install the instrumentation if not done previously
|
156
|
+
$ sfx-rb-trace-bootstrap -i activerecord
|
157
|
+
```
|
158
|
+
|
118
159
|
```ruby
|
119
160
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
120
161
|
p.instrument(:ActiveRecord)
|
@@ -130,6 +171,11 @@ The forked source for the instrumentation is located [here](https://github.com/s
|
|
130
171
|
|
131
172
|
### Usage
|
132
173
|
|
174
|
+
```bash
|
175
|
+
$ # install the instrumentation if not done previously
|
176
|
+
$ sfx-rb-trace-bootstrap -i elasticsearch
|
177
|
+
```
|
178
|
+
|
133
179
|
```ruby
|
134
180
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
135
181
|
p.instrument(:Elasticsearch, auto_instrument: true)
|
@@ -163,6 +209,11 @@ The source for this instrumentation is located [here](https://github.com/opentra
|
|
163
209
|
|
164
210
|
### Usage
|
165
211
|
|
212
|
+
```bash
|
213
|
+
$ # install the instrumentation if not done previously
|
214
|
+
$ sfx-rb-trace-bootstrap -i faraday
|
215
|
+
```
|
216
|
+
|
166
217
|
```ruby
|
167
218
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
168
219
|
p.instrument(:Faraday)
|
@@ -189,6 +240,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
189
240
|
|
190
241
|
### Usage
|
191
242
|
|
243
|
+
```bash
|
244
|
+
$ # install the instrumentation if not done previously
|
245
|
+
$ sfx-rb-trace-bootstrap -i grape
|
246
|
+
```
|
247
|
+
|
192
248
|
```ruby
|
193
249
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
194
250
|
p.instrument(:Grape)
|
@@ -203,6 +259,11 @@ end
|
|
203
259
|
If patching is disabled, but spans nested by request are still desired, then the
|
204
260
|
Rack middleware must be manually added to the API class.
|
205
261
|
|
262
|
+
```bash
|
263
|
+
$ # install the instrumentation if not done previously
|
264
|
+
$ sfx-rb-trace-bootstrap -i rack
|
265
|
+
```
|
266
|
+
|
206
267
|
```ruby
|
207
268
|
require 'rack/tracer'
|
208
269
|
|
@@ -222,6 +283,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
222
283
|
|
223
284
|
### Usage
|
224
285
|
|
286
|
+
```bash
|
287
|
+
$ # install the instrumentation if not done previously
|
288
|
+
$ sfx-rb-trace-bootstrap -i mongodb
|
289
|
+
```
|
290
|
+
|
225
291
|
```ruby
|
226
292
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
227
293
|
p.instrument(:MongoDB)
|
@@ -236,6 +302,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
236
302
|
|
237
303
|
### Usage
|
238
304
|
|
305
|
+
```bash
|
306
|
+
$ # install the instrumentation if not done previously
|
307
|
+
$ sfx-rb-trace-bootstrap -i mysql2
|
308
|
+
```
|
309
|
+
|
239
310
|
```ruby
|
240
311
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
241
312
|
p.instrument(:Mysql2)
|
@@ -268,6 +339,11 @@ The source for this instrumentation is located [here](https://github.com/opentra
|
|
268
339
|
|
269
340
|
### Usage
|
270
341
|
|
342
|
+
```bash
|
343
|
+
$ # install the instrumentation if not done previously
|
344
|
+
$ sfx-rb-trace-bootstrap -i rack
|
345
|
+
```
|
346
|
+
|
271
347
|
```ruby
|
272
348
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
273
349
|
p.instrument(:Rack)
|
@@ -285,6 +361,11 @@ The forked source for this instrumentation is located [here](https://github.com/
|
|
285
361
|
|
286
362
|
### Usage
|
287
363
|
|
364
|
+
```bash
|
365
|
+
$ # install the instrumentation if not done previously
|
366
|
+
$ sfx-rb-trace-bootstrap -i rails
|
367
|
+
```
|
368
|
+
|
288
369
|
```ruby
|
289
370
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
290
371
|
p.instrument(:Rails)
|
@@ -315,6 +396,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
315
396
|
|
316
397
|
### Usage
|
317
398
|
|
399
|
+
```bash
|
400
|
+
$ # install the instrumentation if not done previously
|
401
|
+
$ sfx-rb-trace-bootstrap -i redis
|
402
|
+
```
|
403
|
+
|
318
404
|
```ruby
|
319
405
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
320
406
|
p.instrument(:Redis, tracer: tracer)
|
@@ -334,6 +420,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
334
420
|
|
335
421
|
### Usage
|
336
422
|
|
423
|
+
```bash
|
424
|
+
$ # install the instrumentation if not done previously
|
425
|
+
$ sfx-rb-trace-bootstrap -i restclient
|
426
|
+
```
|
427
|
+
|
337
428
|
```ruby
|
338
429
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
339
430
|
p.instrument(:RestClient, tracer: tracer, propagate: true)
|
@@ -354,6 +445,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
354
445
|
|
355
446
|
### Usage
|
356
447
|
|
448
|
+
```bash
|
449
|
+
$ # install the instrumentation if not done previously
|
450
|
+
$ sfx-rb-trace-bootstrap -i sequel
|
451
|
+
```
|
452
|
+
|
357
453
|
```ruby
|
358
454
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
359
455
|
p.instrument(:Sequel)
|
@@ -375,6 +471,11 @@ The source for this instrumentation is located [here](https://github.com/signalf
|
|
375
471
|
|
376
472
|
### Usage
|
377
473
|
|
474
|
+
```bash
|
475
|
+
$ # install the instrumentation if not done previously
|
476
|
+
$ sfx-rb-trace-bootstrap -i sinatra
|
477
|
+
```
|
478
|
+
|
378
479
|
```ruby
|
379
480
|
SignalFx::Tracing::Instrumenter.configure do |p|
|
380
481
|
p.instrument(:Sinatra)
|
@@ -0,0 +1,52 @@
|
|
1
|
+
#!/usr/bin/env ruby -rubygems
|
2
|
+
require 'optparse'
|
3
|
+
require 'ostruct'
|
4
|
+
require 'pp'
|
5
|
+
|
6
|
+
instrumentations = {
|
7
|
+
"activerecord" => ["activerecord-opentracing", "~> 0.2.1"],
|
8
|
+
"elasticsearch" => ["signalfx-elasticsearch-instrumentation", "~> 0.1.0"],
|
9
|
+
"faraday" => ["signalfx-faraday-instrumentation", "~> 0.1.1"],
|
10
|
+
"grape" => ["grape-instrumentation", "~> 0.1.0"],
|
11
|
+
"mongodb" => ["mongodb-instrumentation", "~> 0.1.1"],
|
12
|
+
"mysql2" => ["mysql2-instrumentation", "~> 0.1.0"],
|
13
|
+
"nethttp" => ["nethttp-instrumentation", "~> 0.1.2"],
|
14
|
+
"rack" => ["rack-tracer", "~> 0.8"],
|
15
|
+
"rails" => ["rails-instrumentation", "~> 0.1.2"],
|
16
|
+
"redis" => ["redis-instrumentation", "~> 0.1.1"],
|
17
|
+
"restclient" => ["restclient-instrumentation", "~> 0.1.1"],
|
18
|
+
"sequel" => ["sequel-instrumentation", "~> 0.1.0"],
|
19
|
+
"sinatra" => ["sinatra-instrumentation", "~> 0.1.2"]
|
20
|
+
}
|
21
|
+
|
22
|
+
options = OpenStruct.new
|
23
|
+
options.target_libraries = []
|
24
|
+
|
25
|
+
|
26
|
+
parser = OptionParser.new do |opts|
|
27
|
+
opts.banner = 'Usage: sfx-rb-trace-bootstrap --install-deps [deps]'
|
28
|
+
|
29
|
+
opts.on('-l', '--list', 'List available library instrumentations.') do |l|
|
30
|
+
puts 'Available target libraries:'
|
31
|
+
pp(instrumentations)
|
32
|
+
end
|
33
|
+
opts.on('-i lib1,lib2', '--install-deps lib1,lib2', Array, 'Install instrumentations for target libraries (comma-separated).') do |list|
|
34
|
+
options.target_libraries = list
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
|
39
|
+
def install_instrumentors(instrumentors, libs)
|
40
|
+
libs.each do |lib|
|
41
|
+
if instrumentors.has_key?(lib)
|
42
|
+
target = instrumentors[lib]
|
43
|
+
puts %Q{Installing instrumentation for target library "#{lib}": #{target[0]} "#{target[1]}".}
|
44
|
+
Gem.install(*target)
|
45
|
+
else
|
46
|
+
puts %Q{signalfx-tracing has no target library "#{lib}".}
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
parser.parse(ARGV)
|
52
|
+
install_instrumentors(instrumentations, options.target_libraries)
|
data/gem.deps.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
group :instrumentations do
|
2
|
+
gem 'activerecord-opentracing', '~> 0.2.1'
|
3
|
+
gem 'grape-instrumentation', "~> 0.1.0"
|
4
|
+
gem 'mongodb-instrumentation', '~> 0.1.1'
|
5
|
+
gem 'mysql2-instrumentation', '~> 0.1.0'
|
6
|
+
gem 'nethttp-instrumentation', '~> 0.1.2'
|
7
|
+
gem 'rack-tracer', '~> 0.8'
|
8
|
+
gem 'rails-instrumentation', '0.1.2'
|
9
|
+
gem 'redis-instrumentation', '~> 0.1.1'
|
10
|
+
gem 'restclient-instrumentation', '~> 0.1.1'
|
11
|
+
gem 'sequel-instrumentation', '~> 0.1.0'
|
12
|
+
gem 'signalfx-elasticsearch-instrumentation', '~> 0.1.0'
|
13
|
+
gem 'signalfx-faraday-instrumentation', '~> 0.1.1'
|
14
|
+
gem 'sinatra-instrumentation', '~> 0.1.2'
|
15
|
+
end
|
@@ -16,7 +16,12 @@ module SignalFx
|
|
16
16
|
return
|
17
17
|
end
|
18
18
|
|
19
|
-
|
19
|
+
begin
|
20
|
+
require 'active_record/opentracing'
|
21
|
+
rescue LoadError => e
|
22
|
+
puts e.message
|
23
|
+
return
|
24
|
+
end
|
20
25
|
::ActiveRecord::OpenTracing.instrument if !@instrumented
|
21
26
|
@instrumented = true
|
22
27
|
end
|
@@ -18,7 +18,12 @@ module SignalFx
|
|
18
18
|
return
|
19
19
|
end
|
20
20
|
|
21
|
-
|
21
|
+
begin
|
22
|
+
require 'grape/instrumentation'
|
23
|
+
rescue LoadError => e
|
24
|
+
puts e.message
|
25
|
+
return
|
26
|
+
end
|
22
27
|
|
23
28
|
tracer = opts.fetch(:tracer, OpenTracing.global_tracer)
|
24
29
|
parent_span = opts.fetch(:parent_span, nil)
|
@@ -14,7 +14,12 @@ module SignalFx
|
|
14
14
|
return
|
15
15
|
end
|
16
16
|
|
17
|
-
|
17
|
+
begin
|
18
|
+
require 'mysql2/instrumentation'
|
19
|
+
rescue LoadError => e
|
20
|
+
puts e.message
|
21
|
+
return
|
22
|
+
end
|
18
23
|
|
19
24
|
::Mysql2::Instrumentation.instrument(tracer: SignalFx::Tracing::Instrumenter.tracer) if !@instrumented
|
20
25
|
@instrumented = true
|
@@ -8,7 +8,12 @@ module SignalFx
|
|
8
8
|
class << self
|
9
9
|
|
10
10
|
def instrument(opts = {})
|
11
|
-
|
11
|
+
begin
|
12
|
+
require 'net/http/instrumentation'
|
13
|
+
rescue LoadError => e
|
14
|
+
puts e.message
|
15
|
+
return
|
16
|
+
end
|
12
17
|
|
13
18
|
tracer = opts.fetch(:tracer, OpenTracing.global_tracer)
|
14
19
|
ignore_request = lambda { Thread.current.thread_variable_get(:http_sender_thread) }
|
@@ -18,8 +18,13 @@ module SignalFx
|
|
18
18
|
return
|
19
19
|
end
|
20
20
|
|
21
|
-
|
22
|
-
|
21
|
+
begin
|
22
|
+
require 'rails/instrumentation'
|
23
|
+
require 'rack/tracer'
|
24
|
+
rescue LoadError => e
|
25
|
+
puts e.message
|
26
|
+
return
|
27
|
+
end
|
23
28
|
|
24
29
|
if opts.fetch(:rack_tracer, true)
|
25
30
|
# add rack middlewares
|
@@ -13,7 +13,12 @@ module SignalFx
|
|
13
13
|
return
|
14
14
|
end
|
15
15
|
|
16
|
-
|
16
|
+
begin
|
17
|
+
require 'redis/instrumentation'
|
18
|
+
rescue LoadError => e
|
19
|
+
puts e.message
|
20
|
+
return
|
21
|
+
end
|
17
22
|
|
18
23
|
tracer = opts.fetch(:tracer, OpenTracing.global_tracer)
|
19
24
|
::Redis::Instrumentation.instrument(tracer: tracer)
|
@@ -14,7 +14,12 @@ module SignalFx
|
|
14
14
|
return
|
15
15
|
end
|
16
16
|
|
17
|
-
|
17
|
+
begin
|
18
|
+
require 'restclient/instrumentation'
|
19
|
+
rescue LoadError => e
|
20
|
+
puts e.message
|
21
|
+
return
|
22
|
+
end
|
18
23
|
|
19
24
|
tracer = opts.fetch(:tracer, OpenTracing.global_tracer)
|
20
25
|
propagate = opts.fetch(:propagate, false)
|
data/lib/signalfx/tracing.rb
CHANGED
@@ -14,7 +14,7 @@ module SignalFx
|
|
14
14
|
attr_accessor :tracer, :reporter
|
15
15
|
|
16
16
|
def configure(tracer: nil,
|
17
|
-
ingest_url: ENV['SIGNALFX_INGEST_URL'] || '
|
17
|
+
ingest_url: ENV['SIGNALFX_ENDPOINT_URL'] || ENV['SIGNALFX_INGEST_URL'] || 'http://localhost:9080/v1/trace',
|
18
18
|
service_name: ENV['SIGNALFX_SERVICE_NAME'] || "signalfx-ruby-tracing",
|
19
19
|
access_token: ENV['SIGNALFX_ACCESS_TOKEN'],
|
20
20
|
auto_instrument: false)
|
data/signalfx-tracing.gemspec
CHANGED
@@ -5,30 +5,19 @@ require "signalfx/tracing/version"
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "signalfx-tracing"
|
7
7
|
spec.version = Signalfx::Tracing::VERSION
|
8
|
-
spec.authors = ["
|
9
|
-
spec.email = ["
|
8
|
+
spec.authors = ["SignalFx, Inc."]
|
9
|
+
spec.email = ["info@signalfx.com"]
|
10
10
|
|
11
11
|
spec.summary = %q{Auto-instrumentation framework for Ruby}
|
12
12
|
# spec.description = %q{TODO: Write a longer description or delete this line.}
|
13
13
|
spec.homepage = "https://github.com/signalfx/signalfx-ruby-tracing"
|
14
14
|
spec.license = "Apache-2.0"
|
15
15
|
|
16
|
-
# Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
|
17
|
-
# to allow pushing to a single host or delete this section to allow pushing to any host.
|
18
|
-
# if spec.respond_to?(:metadata)
|
19
|
-
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
20
|
-
# else
|
21
|
-
# raise "RubyGems 2.0 or newer is required to protect against " \
|
22
|
-
# "public gem pushes."
|
23
|
-
# end
|
24
|
-
|
25
|
-
# Specify which files should be added to the gem when it is released.
|
26
|
-
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
27
16
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
28
17
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
29
18
|
end
|
30
|
-
spec.bindir = "
|
31
|
-
spec.executables = spec.files.grep(%r{^
|
19
|
+
spec.bindir = "bin"
|
20
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
32
21
|
spec.require_paths = ["lib"]
|
33
22
|
|
34
23
|
spec.add_development_dependency "bundler", "~> 1.16"
|
@@ -38,21 +27,11 @@ Gem::Specification.new do |spec|
|
|
38
27
|
spec.add_dependency "opentracing", "> 0.3.0"
|
39
28
|
spec.add_dependency "jaeger-client", "~> 0.10.0"
|
40
29
|
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
spec.add_dependency "mysql2-instrumentation", "~> 0.1.0"
|
46
|
-
spec.add_dependency "redis-instrumentation", "~> 0.1.0"
|
47
|
-
spec.add_dependency "sequel-instrumentation", "~> 0.1.0"
|
48
|
-
spec.add_dependency "grape-instrumentation", "~> 0.1.0"
|
49
|
-
spec.add_dependency "rails-instrumentation", "~> 0.1.2"
|
50
|
-
|
51
|
-
# forks
|
52
|
-
spec.add_dependency "signalfx-elasticsearch-instrumentation", "~> 0.1.0"
|
53
|
-
spec.add_dependency "signalfx-faraday-instrumentation", "~> 0.1.1"
|
30
|
+
# We are no longer setting all available instrumentations as dependencies.
|
31
|
+
# Manual installation via bootstrapper or gem.deps.rb is now required.
|
32
|
+
# `sfx-rb-trace-bootstrap -i sinatra,redis,etc.`
|
33
|
+
# `gem install -g`
|
54
34
|
|
55
|
-
#
|
56
|
-
spec.add_dependency "
|
57
|
-
spec.add_dependency "activerecord-opentracing", "~> 0.2.1"
|
35
|
+
# stdlib instrumentations
|
36
|
+
spec.add_dependency "nethttp-instrumentation", "~> 0.1.2"
|
58
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: signalfx-tracing
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
-
|
7
|
+
- SignalFx, Inc.
|
8
8
|
autorequire:
|
9
|
-
bindir:
|
9
|
+
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -66,20 +66,6 @@ dependencies:
|
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 0.10.0
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: sinatra-instrumentation
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - "~>"
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: 0.1.2
|
76
|
-
type: :runtime
|
77
|
-
prerelease: false
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
79
|
-
requirements:
|
80
|
-
- - "~>"
|
81
|
-
- !ruby/object:Gem::Version
|
82
|
-
version: 0.1.2
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: nethttp-instrumentation
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,173 +80,21 @@ dependencies:
|
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
82
|
version: 0.1.2
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: restclient-instrumentation
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: 0.1.1
|
104
|
-
type: :runtime
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: 0.1.1
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: mongodb-instrumentation
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - "~>"
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: 0.1.1
|
118
|
-
type: :runtime
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - "~>"
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: 0.1.1
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: mysql2-instrumentation
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - "~>"
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: 0.1.0
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - "~>"
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: 0.1.0
|
139
|
-
- !ruby/object:Gem::Dependency
|
140
|
-
name: redis-instrumentation
|
141
|
-
requirement: !ruby/object:Gem::Requirement
|
142
|
-
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: 0.1.0
|
146
|
-
type: :runtime
|
147
|
-
prerelease: false
|
148
|
-
version_requirements: !ruby/object:Gem::Requirement
|
149
|
-
requirements:
|
150
|
-
- - "~>"
|
151
|
-
- !ruby/object:Gem::Version
|
152
|
-
version: 0.1.0
|
153
|
-
- !ruby/object:Gem::Dependency
|
154
|
-
name: sequel-instrumentation
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - "~>"
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 0.1.0
|
160
|
-
type: :runtime
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - "~>"
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.1.0
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: grape-instrumentation
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - "~>"
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 0.1.0
|
174
|
-
type: :runtime
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - "~>"
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 0.1.0
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: rails-instrumentation
|
183
|
-
requirement: !ruby/object:Gem::Requirement
|
184
|
-
requirements:
|
185
|
-
- - "~>"
|
186
|
-
- !ruby/object:Gem::Version
|
187
|
-
version: 0.1.2
|
188
|
-
type: :runtime
|
189
|
-
prerelease: false
|
190
|
-
version_requirements: !ruby/object:Gem::Requirement
|
191
|
-
requirements:
|
192
|
-
- - "~>"
|
193
|
-
- !ruby/object:Gem::Version
|
194
|
-
version: 0.1.2
|
195
|
-
- !ruby/object:Gem::Dependency
|
196
|
-
name: signalfx-elasticsearch-instrumentation
|
197
|
-
requirement: !ruby/object:Gem::Requirement
|
198
|
-
requirements:
|
199
|
-
- - "~>"
|
200
|
-
- !ruby/object:Gem::Version
|
201
|
-
version: 0.1.0
|
202
|
-
type: :runtime
|
203
|
-
prerelease: false
|
204
|
-
version_requirements: !ruby/object:Gem::Requirement
|
205
|
-
requirements:
|
206
|
-
- - "~>"
|
207
|
-
- !ruby/object:Gem::Version
|
208
|
-
version: 0.1.0
|
209
|
-
- !ruby/object:Gem::Dependency
|
210
|
-
name: signalfx-faraday-instrumentation
|
211
|
-
requirement: !ruby/object:Gem::Requirement
|
212
|
-
requirements:
|
213
|
-
- - "~>"
|
214
|
-
- !ruby/object:Gem::Version
|
215
|
-
version: 0.1.1
|
216
|
-
type: :runtime
|
217
|
-
prerelease: false
|
218
|
-
version_requirements: !ruby/object:Gem::Requirement
|
219
|
-
requirements:
|
220
|
-
- - "~>"
|
221
|
-
- !ruby/object:Gem::Version
|
222
|
-
version: 0.1.1
|
223
|
-
- !ruby/object:Gem::Dependency
|
224
|
-
name: rack-tracer
|
225
|
-
requirement: !ruby/object:Gem::Requirement
|
226
|
-
requirements:
|
227
|
-
- - "~>"
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: '0.8'
|
230
|
-
type: :runtime
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
requirements:
|
234
|
-
- - "~>"
|
235
|
-
- !ruby/object:Gem::Version
|
236
|
-
version: '0.8'
|
237
|
-
- !ruby/object:Gem::Dependency
|
238
|
-
name: activerecord-opentracing
|
239
|
-
requirement: !ruby/object:Gem::Requirement
|
240
|
-
requirements:
|
241
|
-
- - "~>"
|
242
|
-
- !ruby/object:Gem::Version
|
243
|
-
version: 0.2.1
|
244
|
-
type: :runtime
|
245
|
-
prerelease: false
|
246
|
-
version_requirements: !ruby/object:Gem::Requirement
|
247
|
-
requirements:
|
248
|
-
- - "~>"
|
249
|
-
- !ruby/object:Gem::Version
|
250
|
-
version: 0.2.1
|
251
83
|
description:
|
252
84
|
email:
|
253
|
-
-
|
254
|
-
executables:
|
85
|
+
- info@signalfx.com
|
86
|
+
executables:
|
87
|
+
- sfx-rb-trace-bootstrap
|
255
88
|
extensions: []
|
256
89
|
extra_rdoc_files: []
|
257
90
|
files:
|
91
|
+
- ".gitignore"
|
258
92
|
- Gemfile
|
259
93
|
- LICENSE
|
260
94
|
- README.md
|
261
95
|
- Rakefile
|
262
|
-
- bin/
|
263
|
-
-
|
96
|
+
- bin/sfx-rb-trace-bootstrap
|
97
|
+
- gem.deps.rb
|
264
98
|
- lib/signalfx/tracing.rb
|
265
99
|
- lib/signalfx/tracing/compat.rb
|
266
100
|
- lib/signalfx/tracing/compat/phusion_passenger.rb
|
data/bin/console
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
#!/usr/bin/env ruby
|
2
|
-
|
3
|
-
require "bundler/setup"
|
4
|
-
require "signalfx/tracing"
|
5
|
-
|
6
|
-
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
-
# with your gem easier. You can also use a different console, if you like.
|
8
|
-
|
9
|
-
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
-
# require "pry"
|
11
|
-
# Pry.start
|
12
|
-
|
13
|
-
require "irb"
|
14
|
-
IRB.start(__FILE__)
|