signalfx-tracing 0.2.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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__)
|