signalfx 2.1.0 → 3.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 +5 -5
- data/.travis.yml +7 -2
- data/Gemfile.lock +33 -35
- data/README.md +46 -3
- data/lib/signalfx/signal_fx_client.rb +5 -2
- data/lib/signalfx/signalflow/client.rb +2 -2
- data/lib/signalfx/signalflow/websocket.rb +67 -28
- data/lib/signalfx/version.rb +2 -2
- data/signalfx.gemspec +6 -4
- metadata +42 -23
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: b8b01a2cdfd8bd9e820a2bfb1d845c9d1af39b314b704e052290ff84c0876346
|
|
4
|
+
data.tar.gz: 5b599549b6d52997743531c659ab3404e1d588bdf5f44f79e15e93ecf60f98ca
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5636901c170b49a99d96f1481bfdd68619f478efbd8c39d653cfd5c1f98e9ac8d9e3fa7cd65c7f9581df09106cbaa0fa0f1ab631409ccc7048fd629ab1d0a2d0
|
|
7
|
+
data.tar.gz: 92dcd3035dc09284d36bba8818bdec676455d9fdbc45ef2f6c0beb87f23035a76df683e12aa760543ba8517734bd48be1eeb24443820714ce24748eeb54b6c00
|
data/.travis.yml
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
sudo: required
|
|
2
1
|
language: ruby
|
|
3
|
-
dist:
|
|
2
|
+
dist: xenial
|
|
3
|
+
os: linux
|
|
4
|
+
|
|
5
|
+
# See: https://docs.travis-ci.com/user/languages/ruby/#bundler-20
|
|
6
|
+
before_install:
|
|
7
|
+
- gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
|
|
8
|
+
- gem install bundler -v '< 2'
|
|
4
9
|
|
|
5
10
|
rvm:
|
|
6
11
|
- 2.2.3
|
data/Gemfile.lock
CHANGED
|
@@ -2,15 +2,17 @@ PATH
|
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
4
|
signalfx (2.1.0)
|
|
5
|
-
activesupport (>= 3.2)
|
|
5
|
+
activesupport (>= 3.2, < 6)
|
|
6
|
+
faye-websocket (~> 0.10.7)
|
|
7
|
+
i18n (= 1.1.0)
|
|
6
8
|
protobuf (>= 3.5.1)
|
|
7
9
|
rest-client (~> 2.0)
|
|
8
|
-
|
|
10
|
+
thor (= 0.20.0)
|
|
9
11
|
|
|
10
12
|
GEM
|
|
11
13
|
remote: https://rubygems.org/
|
|
12
14
|
specs:
|
|
13
|
-
activesupport (5.2.1)
|
|
15
|
+
activesupport (5.2.4.1)
|
|
14
16
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
15
17
|
i18n (>= 0.7, < 2)
|
|
16
18
|
minitest (~> 5.1)
|
|
@@ -18,20 +20,20 @@ GEM
|
|
|
18
20
|
addressable (2.5.2)
|
|
19
21
|
public_suffix (>= 2.0.2, < 4.0)
|
|
20
22
|
coderay (1.1.1)
|
|
21
|
-
concurrent-ruby (1.
|
|
23
|
+
concurrent-ruby (1.1.5)
|
|
22
24
|
crack (0.4.3)
|
|
23
25
|
safe_yaml (~> 1.0.0)
|
|
24
26
|
daemons (1.2.4)
|
|
25
|
-
diff-lcs (1.
|
|
27
|
+
diff-lcs (1.3)
|
|
26
28
|
docile (1.3.1)
|
|
27
|
-
domain_name (0.5.
|
|
29
|
+
domain_name (0.5.20190701)
|
|
28
30
|
unf (>= 0.0.5, < 1.0.0)
|
|
29
|
-
event_emitter (0.2.6)
|
|
30
31
|
eventmachine (1.2.5)
|
|
31
|
-
faye-websocket (0.10.
|
|
32
|
+
faye-websocket (0.10.9)
|
|
32
33
|
eventmachine (>= 0.12.0)
|
|
33
34
|
websocket-driver (>= 0.5.1)
|
|
34
35
|
hashdiff (0.3.7)
|
|
36
|
+
http-accept (1.7.0)
|
|
35
37
|
http-cookie (1.0.3)
|
|
36
38
|
domain_name (~> 0.5)
|
|
37
39
|
i18n (1.1.0)
|
|
@@ -39,12 +41,12 @@ GEM
|
|
|
39
41
|
json (2.1.0)
|
|
40
42
|
method_source (0.8.2)
|
|
41
43
|
middleware (0.1.0)
|
|
42
|
-
mime-types (3.
|
|
44
|
+
mime-types (3.3.1)
|
|
43
45
|
mime-types-data (~> 3.2015)
|
|
44
|
-
mime-types-data (3.
|
|
45
|
-
minitest (5.
|
|
46
|
+
mime-types-data (3.2019.1009)
|
|
47
|
+
minitest (5.13.0)
|
|
46
48
|
netrc (0.11.0)
|
|
47
|
-
protobuf (3.
|
|
49
|
+
protobuf (3.10.3)
|
|
48
50
|
activesupport (>= 3.2)
|
|
49
51
|
middleware
|
|
50
52
|
thor
|
|
@@ -56,23 +58,24 @@ GEM
|
|
|
56
58
|
public_suffix (3.0.2)
|
|
57
59
|
rack (2.0.3)
|
|
58
60
|
rake (10.4.2)
|
|
59
|
-
rest-client (2.0
|
|
61
|
+
rest-client (2.1.0)
|
|
62
|
+
http-accept (>= 1.7.0, < 2.0)
|
|
60
63
|
http-cookie (>= 1.0.2, < 2.0)
|
|
61
64
|
mime-types (>= 1.16, < 4.0)
|
|
62
65
|
netrc (~> 0.8)
|
|
63
|
-
rspec (3.
|
|
64
|
-
rspec-core (~> 3.
|
|
65
|
-
rspec-expectations (~> 3.
|
|
66
|
-
rspec-mocks (~> 3.
|
|
67
|
-
rspec-core (3.
|
|
68
|
-
rspec-support (~> 3.
|
|
69
|
-
rspec-expectations (3.
|
|
66
|
+
rspec (3.9.0)
|
|
67
|
+
rspec-core (~> 3.9.0)
|
|
68
|
+
rspec-expectations (~> 3.9.0)
|
|
69
|
+
rspec-mocks (~> 3.9.0)
|
|
70
|
+
rspec-core (3.9.0)
|
|
71
|
+
rspec-support (~> 3.9.0)
|
|
72
|
+
rspec-expectations (3.9.0)
|
|
70
73
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
71
|
-
rspec-support (~> 3.
|
|
72
|
-
rspec-mocks (3.
|
|
74
|
+
rspec-support (~> 3.9.0)
|
|
75
|
+
rspec-mocks (3.9.0)
|
|
73
76
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
74
|
-
rspec-support (~> 3.
|
|
75
|
-
rspec-support (3.
|
|
77
|
+
rspec-support (~> 3.9.0)
|
|
78
|
+
rspec-support (3.9.0)
|
|
76
79
|
safe_yaml (1.0.4)
|
|
77
80
|
simplecov (0.16.1)
|
|
78
81
|
docile (~> 1.1)
|
|
@@ -86,29 +89,24 @@ GEM
|
|
|
86
89
|
rack (>= 1, < 3)
|
|
87
90
|
thor (0.20.0)
|
|
88
91
|
thread_safe (0.3.6)
|
|
89
|
-
tzinfo (1.2.
|
|
92
|
+
tzinfo (1.2.6)
|
|
90
93
|
thread_safe (~> 0.1)
|
|
91
94
|
unf (0.1.4)
|
|
92
95
|
unf_ext
|
|
93
|
-
unf_ext (0.0.7.
|
|
96
|
+
unf_ext (0.0.7.6)
|
|
94
97
|
webmock (2.3.2)
|
|
95
98
|
addressable (>= 2.3.6)
|
|
96
99
|
crack (>= 0.3.2)
|
|
97
100
|
hashdiff
|
|
98
|
-
websocket (
|
|
99
|
-
websocket-client-simple (0.3.0)
|
|
100
|
-
event_emitter
|
|
101
|
-
websocket
|
|
102
|
-
websocket-driver (0.6.5)
|
|
101
|
+
websocket-driver (0.7.1)
|
|
103
102
|
websocket-extensions (>= 0.1.0)
|
|
104
|
-
websocket-extensions (0.1.
|
|
103
|
+
websocket-extensions (0.1.4)
|
|
105
104
|
|
|
106
105
|
PLATFORMS
|
|
107
106
|
ruby
|
|
108
107
|
|
|
109
108
|
DEPENDENCIES
|
|
110
|
-
bundler (~> 1.
|
|
111
|
-
faye-websocket (~> 0.10.7)
|
|
109
|
+
bundler (~> 1.17.3)
|
|
112
110
|
pry
|
|
113
111
|
rake (~> 10.0)
|
|
114
112
|
rspec (~> 3.3)
|
|
@@ -118,4 +116,4 @@ DEPENDENCIES
|
|
|
118
116
|
webmock (~> 2.3.1)
|
|
119
117
|
|
|
120
118
|
BUNDLED WITH
|
|
121
|
-
1.
|
|
119
|
+
1.17.3
|
data/README.md
CHANGED
|
@@ -31,9 +31,33 @@ installing a more recent gem. Building and installing signalfx from source will
|
|
|
31
31
|
|
|
32
32
|
## Usage
|
|
33
33
|
|
|
34
|
-
### API access token
|
|
35
34
|
|
|
36
|
-
|
|
35
|
+
### Configuring your endpoints
|
|
36
|
+
|
|
37
|
+
In order to send your data to the correct realm, you may need to configure your
|
|
38
|
+
endpoints. If no endpoints are set manually, this library uses the ``us0`` realm by default.
|
|
39
|
+
If you are not in this realm, you will need to explicitly set the
|
|
40
|
+
endpoint config options below. To determine if you are in a different realm and need to
|
|
41
|
+
explicitly set the endpoints, check your profile page in the SignalFx
|
|
42
|
+
web application.
|
|
43
|
+
|
|
44
|
+
```ruby
|
|
45
|
+
require('signalfx')
|
|
46
|
+
# Create client with alternate ingest endpoint
|
|
47
|
+
client = SignalFx.new('ORG_TOKEN', ingest_endpoint: 'https://ingest.{REALM}.signalfx.com',
|
|
48
|
+
stream_endpoint: 'https:/stream.{REALM}.signalfx.com')
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Access tokens
|
|
53
|
+
|
|
54
|
+
To use this library, you will also need to specify an access token when requesting
|
|
55
|
+
one of those clients. For the ingest client, you need to specify your
|
|
56
|
+
organization access token (which can be obtained from the
|
|
57
|
+
SignalFx organization you want to report data into). For the SignalFlow client, either an
|
|
58
|
+
organization access token or a user access token may be used. For more
|
|
59
|
+
information on access tokens, see the API's [authentication documentation](https://developers.signalfx.com/basics/authentication.html).
|
|
60
|
+
|
|
37
61
|
|
|
38
62
|
### Create client
|
|
39
63
|
|
|
@@ -105,6 +129,11 @@ actually make it to SignalFx).
|
|
|
105
129
|
To send data through a HTTP proxy, set the environment variable `http_proxy`
|
|
106
130
|
with the proxy URL.
|
|
107
131
|
|
|
132
|
+
The SignalFlow client by default will use the proxy set in the `http_proxy`
|
|
133
|
+
envvar by default. To send SignalFlow websocket data through a separate proxy,
|
|
134
|
+
set the `proxy_url` keyword arg on the `client.signalflow` call.
|
|
135
|
+
|
|
136
|
+
|
|
108
137
|
### Sending multi-dimensional data
|
|
109
138
|
|
|
110
139
|
Reporting dimensions for the data is also optional, and can be
|
|
@@ -174,9 +203,23 @@ sending events.
|
|
|
174
203
|
|
|
175
204
|
You can run SignalFlow computations as well. This library supports all of the
|
|
176
205
|
functionality described in our [API docs for
|
|
177
|
-
SignalFlow](https://developers.signalfx.com/
|
|
206
|
+
SignalFlow](https://developers.signalfx.com/signalflow_reference.html). Right
|
|
178
207
|
now, the only supported transport mechanism is WebSockets.
|
|
179
208
|
|
|
209
|
+
#### Configure the SignalFlow client endpoint
|
|
210
|
+
|
|
211
|
+
By default, this library connects to the `us0` stream endpoint.
|
|
212
|
+
If you are not in this realm, you will need to explicitly set the
|
|
213
|
+
endpoint config options below when creating the client.
|
|
214
|
+
To determine if you are in a different realm and need to
|
|
215
|
+
explicitly set the endpoints, check your profile page in the SignalFx web application.
|
|
216
|
+
|
|
217
|
+
```ruby
|
|
218
|
+
client = SignalFx.new('ORG_TOKEN', ingest_endpoint: 'https://ingest.{REALM}.signalfx.com',
|
|
219
|
+
stream_endpoint: 'https:/stream.{REALM}.signalfx.com')
|
|
220
|
+
```
|
|
221
|
+
|
|
222
|
+
|
|
180
223
|
To create a new SignalFlow client instance from an existing SignalFx client:
|
|
181
224
|
|
|
182
225
|
```ruby
|
|
@@ -171,8 +171,11 @@ class SignalFxClient
|
|
|
171
171
|
#
|
|
172
172
|
# @return [SignalFlowClient] a newly instantiated client, configured with the
|
|
173
173
|
# api token and endpoints from this class
|
|
174
|
-
def signalflow
|
|
175
|
-
|
|
174
|
+
def signalflow(proxy_url: nil, debug: false)
|
|
175
|
+
if ENV["http_proxy"] and proxy_url == nil
|
|
176
|
+
proxy_url = ENV["http_proxy"]
|
|
177
|
+
end
|
|
178
|
+
SignalFlowClient.new(@api_token, @stream_endpoint, proxy_url: proxy_url, debug: debug)
|
|
176
179
|
end
|
|
177
180
|
|
|
178
181
|
protected
|
|
@@ -19,8 +19,8 @@ require_relative "./websocket"
|
|
|
19
19
|
# our API reference for SignalFlow}. Hash keys will be symbols instead of
|
|
20
20
|
# strings.
|
|
21
21
|
class SignalFlowClient
|
|
22
|
-
def initialize(api_token, stream_endpoint)
|
|
23
|
-
@transport = SignalFlowWebsocketTransport.new(api_token, stream_endpoint)
|
|
22
|
+
def initialize(api_token, stream_endpoint, proxy_url = nil)
|
|
23
|
+
@transport = SignalFlowWebsocketTransport.new(api_token, stream_endpoint, proxy_url)
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
# Start a computation and attach to its output. If using WebSockets (the
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
require 'json'
|
|
4
4
|
require 'thread'
|
|
5
|
-
require 'websocket
|
|
5
|
+
require 'faye/websocket'
|
|
6
6
|
|
|
7
7
|
require_relative './binary'
|
|
8
8
|
require_relative './channel'
|
|
9
9
|
require_relative './computation'
|
|
10
10
|
|
|
11
|
+
class WebsocketError < StandardError
|
|
12
|
+
def initialize(ws_err)
|
|
13
|
+
super ws_err.message
|
|
14
|
+
end
|
|
15
|
+
end
|
|
16
|
+
|
|
11
17
|
|
|
12
18
|
# A WebSocket transport for SignalFlow. This should not be used directly by
|
|
13
19
|
# end-users.
|
|
@@ -17,14 +23,17 @@ class SignalFlowWebsocketTransport
|
|
|
17
23
|
# A lower bound on the amount of time to wait for a computation to start
|
|
18
24
|
COMPUTATION_START_TIMEOUT_SECONDS = 30
|
|
19
25
|
|
|
20
|
-
def initialize(api_token, stream_endpoint, logger: Logger.new(STDOUT, progname: "signalfx"))
|
|
26
|
+
def initialize(api_token, stream_endpoint, proxy_url: nil, logger: Logger.new(STDOUT, progname: "signalfx"), debug: false)
|
|
21
27
|
@api_token = api_token
|
|
22
28
|
@stream_endpoint = stream_endpoint
|
|
23
29
|
@logger = logger
|
|
24
30
|
@compress = true
|
|
31
|
+
@proxy_url = proxy_url
|
|
32
|
+
@debug = debug
|
|
25
33
|
|
|
26
34
|
@lock = Mutex.new
|
|
27
35
|
@close_reason = nil
|
|
36
|
+
@last_error = nil
|
|
28
37
|
reinit
|
|
29
38
|
end
|
|
30
39
|
|
|
@@ -188,6 +197,9 @@ class SignalFlowWebsocketTransport
|
|
|
188
197
|
# The socket will be closed by the server if auth isn't successful
|
|
189
198
|
# within 5 seconds so no point in waiting longer
|
|
190
199
|
if Time.now - start_time > 5 || @close_reason
|
|
200
|
+
if @last_error
|
|
201
|
+
raise WebsocketError.new(@last_error)
|
|
202
|
+
end
|
|
191
203
|
raise "Could not authenticate to SignalFlow WebSocket: #{@close_reason}"
|
|
192
204
|
end
|
|
193
205
|
sleep 0.1
|
|
@@ -200,7 +212,11 @@ class SignalFlowWebsocketTransport
|
|
|
200
212
|
private :send_msg
|
|
201
213
|
|
|
202
214
|
def on_close(msg)
|
|
203
|
-
@
|
|
215
|
+
if @debug
|
|
216
|
+
@logger.info("Websocket on_close: #{msg}")
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
@close_reason = "(#{msg.code}, #{msg.reason})"
|
|
204
220
|
@chan_callbacks.keys.each do |channel_name|
|
|
205
221
|
invoke_callback_for_channel({ :event => "CONNECTION_CLOSED" }, channel_name)
|
|
206
222
|
end
|
|
@@ -208,21 +224,31 @@ class SignalFlowWebsocketTransport
|
|
|
208
224
|
reinit
|
|
209
225
|
end
|
|
210
226
|
|
|
227
|
+
def on_error(e)
|
|
228
|
+
@logger.error("ERROR #{e.inspect}")
|
|
229
|
+
@last_error = e
|
|
230
|
+
end
|
|
231
|
+
|
|
232
|
+
|
|
211
233
|
def on_message(m)
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
on_close(m)
|
|
216
|
-
return
|
|
217
|
-
end
|
|
234
|
+
if @debug
|
|
235
|
+
@logger.info("Websocket on_message: #{m}")
|
|
236
|
+
end
|
|
218
237
|
|
|
219
|
-
|
|
238
|
+
is_text = m.data.kind_of?(String)
|
|
239
|
+
|
|
240
|
+
begin
|
|
241
|
+
message_received(m.data, is_text)
|
|
220
242
|
rescue Exception => e
|
|
221
243
|
@logger.error("Error processing SignalFlow message: #{e.backtrace.first}: #{e.message} (#{e.class})")
|
|
222
244
|
end
|
|
223
245
|
end
|
|
224
246
|
|
|
225
247
|
def on_open
|
|
248
|
+
if @debug
|
|
249
|
+
@logger.info("Websocket on_open")
|
|
250
|
+
end
|
|
251
|
+
|
|
226
252
|
@ws.send({
|
|
227
253
|
:type => "authenticate",
|
|
228
254
|
:token => @api_token,
|
|
@@ -233,26 +259,38 @@ class SignalFlowWebsocketTransport
|
|
|
233
259
|
# reactor.
|
|
234
260
|
def startup_client
|
|
235
261
|
this = self
|
|
236
|
-
WebSocket::Client::Simple.connect("#{@stream_endpoint}/v2/signalflow/connect",
|
|
237
|
-
# Verification is disabled by default so this is essential
|
|
238
|
-
{verify_mode: OpenSSL::SSL::VERIFY_PEER}) do |ws|
|
|
239
|
-
@ws = ws
|
|
240
|
-
ws.on :error do |e|
|
|
241
|
-
@logger.error("ERROR #{e.inspect}")
|
|
242
|
-
end
|
|
243
262
|
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
263
|
+
options = {
|
|
264
|
+
:tls => {
|
|
265
|
+
:verify_peer => true,
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
if @proxy_url
|
|
269
|
+
options[:proxy] = {
|
|
270
|
+
:origin => @proxy_url,
|
|
271
|
+
}
|
|
272
|
+
end
|
|
273
|
+
Thread.new {
|
|
274
|
+
EM.run {
|
|
275
|
+
@ws = Faye::WebSocket::Client.new("#{@stream_endpoint}/v2/signalflow/connect", [], options)
|
|
276
|
+
@ws.on :error do |e|
|
|
277
|
+
this.on_error(e)
|
|
278
|
+
end
|
|
247
279
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
280
|
+
@ws.on :close do |e|
|
|
281
|
+
this.on_close(e)
|
|
282
|
+
EM.stop_event_loop
|
|
283
|
+
end
|
|
251
284
|
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
285
|
+
@ws.on :message do |m|
|
|
286
|
+
this.on_message(m)
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
@ws.on :open do
|
|
290
|
+
this.on_open
|
|
291
|
+
end
|
|
292
|
+
}
|
|
293
|
+
}
|
|
256
294
|
end
|
|
257
295
|
private :startup_client
|
|
258
296
|
|
|
@@ -294,7 +332,8 @@ class SignalFlowWebsocketTransport
|
|
|
294
332
|
if is_text
|
|
295
333
|
JSON.parse(raw_msg, {:symbolize_names => true})
|
|
296
334
|
else
|
|
297
|
-
|
|
335
|
+
# Convert the byte array to a string
|
|
336
|
+
BinaryMessageParser.parse(raw_msg.pack("c*"))
|
|
298
337
|
end
|
|
299
338
|
end
|
|
300
339
|
private :parse_message
|
data/lib/signalfx/version.rb
CHANGED
data/signalfx.gemspec
CHANGED
|
@@ -29,20 +29,22 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
|
|
30
30
|
spec.required_ruby_version = '>= 2.2.0'
|
|
31
31
|
|
|
32
|
-
spec.add_development_dependency "bundler", "~> 1.
|
|
32
|
+
spec.add_development_dependency "bundler", "~> 1.17.3"
|
|
33
33
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
34
34
|
spec.add_development_dependency "rspec", "~> 3.3"
|
|
35
35
|
spec.add_development_dependency "webmock", "~> 2.3.1"
|
|
36
36
|
spec.add_development_dependency "thin", "~> 1.7"
|
|
37
37
|
spec.add_development_dependency "pry"
|
|
38
|
-
spec.add_development_dependency "faye-websocket", "~> 0.10.7"
|
|
39
38
|
|
|
40
39
|
# protobuf enforces this check but builds with a newer Ruby version so it's not enabled.
|
|
41
40
|
# Incorporating here to allow 2.2.0-1 users to successfully build and install signalfx.
|
|
42
|
-
active_support_max_version =
|
|
41
|
+
active_support_max_version = Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.2.2") ? "<5" : "<6"
|
|
43
42
|
spec.add_dependency "activesupport", '>= 3.2', active_support_max_version
|
|
44
43
|
|
|
45
44
|
spec.add_dependency "protobuf", ">= 3.5.1"
|
|
46
45
|
spec.add_dependency "rest-client", "~> 2.0"
|
|
47
|
-
spec.add_dependency
|
|
46
|
+
spec.add_dependency "faye-websocket", "~> 0.10.7"
|
|
47
|
+
spec.add_dependency "i18n", "= 1.1.0"
|
|
48
|
+
spec.add_dependency "thor", "= 0.20.0"
|
|
49
|
+
|
|
48
50
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: signalfx
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 3.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- SignalFx, Inc
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-01-10 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 1.17.3
|
|
20
20
|
type: :development
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - "~>"
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
26
|
+
version: 1.17.3
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: rake
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -94,20 +94,6 @@ dependencies:
|
|
|
94
94
|
- - ">="
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
96
|
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: faye-websocket
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - "~>"
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: 0.10.7
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - "~>"
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: 0.10.7
|
|
111
97
|
- !ruby/object:Gem::Dependency
|
|
112
98
|
name: activesupport
|
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -115,6 +101,9 @@ dependencies:
|
|
|
115
101
|
- - ">="
|
|
116
102
|
- !ruby/object:Gem::Version
|
|
117
103
|
version: '3.2'
|
|
104
|
+
- - "<"
|
|
105
|
+
- !ruby/object:Gem::Version
|
|
106
|
+
version: '6'
|
|
118
107
|
type: :runtime
|
|
119
108
|
prerelease: false
|
|
120
109
|
version_requirements: !ruby/object:Gem::Requirement
|
|
@@ -122,6 +111,9 @@ dependencies:
|
|
|
122
111
|
- - ">="
|
|
123
112
|
- !ruby/object:Gem::Version
|
|
124
113
|
version: '3.2'
|
|
114
|
+
- - "<"
|
|
115
|
+
- !ruby/object:Gem::Version
|
|
116
|
+
version: '6'
|
|
125
117
|
- !ruby/object:Gem::Dependency
|
|
126
118
|
name: protobuf
|
|
127
119
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -151,19 +143,47 @@ dependencies:
|
|
|
151
143
|
- !ruby/object:Gem::Version
|
|
152
144
|
version: '2.0'
|
|
153
145
|
- !ruby/object:Gem::Dependency
|
|
154
|
-
name: websocket
|
|
146
|
+
name: faye-websocket
|
|
155
147
|
requirement: !ruby/object:Gem::Requirement
|
|
156
148
|
requirements:
|
|
157
149
|
- - "~>"
|
|
158
150
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 0.
|
|
151
|
+
version: 0.10.7
|
|
160
152
|
type: :runtime
|
|
161
153
|
prerelease: false
|
|
162
154
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
155
|
requirements:
|
|
164
156
|
- - "~>"
|
|
165
157
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 0.
|
|
158
|
+
version: 0.10.7
|
|
159
|
+
- !ruby/object:Gem::Dependency
|
|
160
|
+
name: i18n
|
|
161
|
+
requirement: !ruby/object:Gem::Requirement
|
|
162
|
+
requirements:
|
|
163
|
+
- - '='
|
|
164
|
+
- !ruby/object:Gem::Version
|
|
165
|
+
version: 1.1.0
|
|
166
|
+
type: :runtime
|
|
167
|
+
prerelease: false
|
|
168
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
169
|
+
requirements:
|
|
170
|
+
- - '='
|
|
171
|
+
- !ruby/object:Gem::Version
|
|
172
|
+
version: 1.1.0
|
|
173
|
+
- !ruby/object:Gem::Dependency
|
|
174
|
+
name: thor
|
|
175
|
+
requirement: !ruby/object:Gem::Requirement
|
|
176
|
+
requirements:
|
|
177
|
+
- - '='
|
|
178
|
+
- !ruby/object:Gem::Version
|
|
179
|
+
version: 0.20.0
|
|
180
|
+
type: :runtime
|
|
181
|
+
prerelease: false
|
|
182
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
183
|
+
requirements:
|
|
184
|
+
- - '='
|
|
185
|
+
- !ruby/object:Gem::Version
|
|
186
|
+
version: 0.20.0
|
|
167
187
|
description: This is a programmatic interface in Ruby for SignalFx's metadata and
|
|
168
188
|
ingest APIs. It is meant to provide a base for communicating with SignalFx APIs
|
|
169
189
|
that can be easily leveraged by scripts and applications to interact with SignalFx
|
|
@@ -217,8 +237,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
217
237
|
- !ruby/object:Gem::Version
|
|
218
238
|
version: '0'
|
|
219
239
|
requirements: []
|
|
220
|
-
|
|
221
|
-
rubygems_version: 2.5.2.3
|
|
240
|
+
rubygems_version: 3.0.3
|
|
222
241
|
signing_key:
|
|
223
242
|
specification_version: 4
|
|
224
243
|
summary: Ruby client library for SignalFx
|