signalfx 2.0.5 → 2.1.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/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/signalfx.rb +8 -4
- data/lib/signalfx/signal_fx_client.rb +10 -10
- data/lib/signalfx/signalflow/client.rb +1 -1
- data/lib/signalfx/signalflow/websocket.rb +4 -3
- data/lib/signalfx/version.rb +2 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f4d9b5d2fd10a70d0b431b6e6d4200e3f4634ff5
|
4
|
+
data.tar.gz: 711835760cb429f574c776435eba20a46b45afa1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c9ab6fa6dc20607bb4516534e674206af91bb8ffd7304e2b579a36cbcb1cd85dc23e0b2e25620bec371738b90d4dedb00bc5af22bf7871370167b8470d74f739
|
7
|
+
data.tar.gz: 9f3d726b842f389cc7e5732b3124d376898cd5639fe657133420c6633bf3ee811c82d139ea4261726f7440842fc98a421819ca3bcd343f6382a21d388212168b
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -55,7 +55,7 @@ Optional constructor parameters:
|
|
55
55
|
deployed on Amazon AWS.
|
56
56
|
+ **ingest_endpoint** (string): to override the target ingest API
|
57
57
|
endpoint.
|
58
|
-
+ **
|
58
|
+
+ **stream_endpoint** (string): to override the target stream endpoint for SignalFlow.
|
59
59
|
+ **timeout** (number): timeout, in seconds, for requests to SignalFx.
|
60
60
|
+ **batch_size** (number): size of datapoint batches to send to
|
61
61
|
SignalFx.
|
data/lib/signalfx.rb
CHANGED
@@ -16,31 +16,35 @@ module SignalFx
|
|
16
16
|
# and set it as `AWSUniqueId` dimension for each datapoint and event.
|
17
17
|
# Use this option only if your application deployed to Amazon
|
18
18
|
# @param ingest_endpoint - string
|
19
|
-
# @param
|
19
|
+
# @param stream_endpoint - string
|
20
20
|
# @param timeout - number
|
21
21
|
# @param batch_size - number
|
22
22
|
# @param user_agents - array
|
23
23
|
def self.new(api_token,
|
24
24
|
enable_aws_unique_id: false,
|
25
25
|
ingest_endpoint: RbConfig::DEFAULT_INGEST_ENDPOINT,
|
26
|
+
stream_endpoint: RbConfig::DEFAULT_STREAM_ENDPOINT,
|
26
27
|
timeout: RbConfig::DEFAULT_TIMEOUT,
|
27
28
|
batch_size: RbConfig::DEFAULT_BATCH_SIZE,
|
28
|
-
user_agents: []
|
29
|
+
user_agents: [],
|
30
|
+
logger: Logger.new(STDOUT, progname: "signalfx"))
|
29
31
|
begin
|
30
32
|
require_relative './proto/signal_fx_protocol_buffers.pb'
|
31
33
|
ProtoBufSignalFx.new(api_token,
|
32
34
|
enable_aws_unique_id: enable_aws_unique_id,
|
33
35
|
ingest_endpoint: ingest_endpoint,
|
36
|
+
stream_endpoint: stream_endpoint,
|
34
37
|
timeout: timeout,
|
35
38
|
batch_size: batch_size,
|
36
39
|
user_agents: user_agents)
|
37
40
|
|
38
41
|
rescue Exception => e
|
39
|
-
|
40
|
-
#{e}"
|
42
|
+
logger.warn("Protocol Buffers not installed properly. Switching to JSON.
|
43
|
+
#{e}")
|
41
44
|
JsonSignalFx.new(api_token,
|
42
45
|
enable_aws_unique_id: enable_aws_unique_id,
|
43
46
|
ingest_endpoint: ingest_endpoint,
|
47
|
+
stream_endpoint: stream_endpoint,
|
44
48
|
timeout: timeout,
|
45
49
|
batch_size: batch_size,
|
46
50
|
user_agents: user_agents)
|
@@ -31,19 +31,19 @@ class SignalFxClient
|
|
31
31
|
def initialize(api_token,
|
32
32
|
enable_aws_unique_id: false,
|
33
33
|
ingest_endpoint: RbConfig::DEFAULT_INGEST_ENDPOINT,
|
34
|
-
api_endpoint: RbConfig::DEFAULT_API_ENDPOINT,
|
35
34
|
stream_endpoint: RbConfig::DEFAULT_STREAM_ENDPOINT,
|
36
35
|
timeout: RbConfig::DEFAULT_TIMEOUT,
|
37
36
|
batch_size: RbConfig::DEFAULT_BATCH_SIZE,
|
38
|
-
user_agents: []
|
37
|
+
user_agents: [],
|
38
|
+
logger: Logger.new(STDOUT, progname: "signalfx"))
|
39
39
|
|
40
40
|
@api_token = api_token
|
41
41
|
@ingest_endpoint = ingest_endpoint
|
42
|
-
@api_endpoint = api_endpoint
|
43
42
|
@stream_endpoint = stream_endpoint
|
44
43
|
@timeout = timeout
|
45
44
|
@batch_size = batch_size
|
46
45
|
@user_agents = user_agents
|
46
|
+
@logger = logger
|
47
47
|
|
48
48
|
@aws_unique_id = nil
|
49
49
|
|
@@ -55,9 +55,9 @@ class SignalFxClient
|
|
55
55
|
if request != nil
|
56
56
|
json_resp = JSON.parse(request.body)
|
57
57
|
@aws_unique_id = json_resp['instanceId']+'_'+json_resp['region']+'_'+json_resp['accountId']
|
58
|
-
|
58
|
+
@logger.info("AWS Unique ID loaded: #{@aws_unique_id}")
|
59
59
|
else
|
60
|
-
|
60
|
+
@logger.warn('Failed to retrieve AWS unique ID.')
|
61
61
|
end
|
62
62
|
}
|
63
63
|
end
|
@@ -172,7 +172,7 @@ class SignalFxClient
|
|
172
172
|
# @return [SignalFlowClient] a newly instantiated client, configured with the
|
173
173
|
# api token and endpoints from this class
|
174
174
|
def signalflow
|
175
|
-
SignalFlowClient.new(@api_token, @
|
175
|
+
SignalFlowClient.new(@api_token, @stream_endpoint)
|
176
176
|
end
|
177
177
|
|
178
178
|
protected
|
@@ -223,14 +223,14 @@ class SignalFxClient
|
|
223
223
|
block.call(response)
|
224
224
|
end
|
225
225
|
else
|
226
|
-
|
226
|
+
@logger.error("Failed to send datapoints. Response code: #{response.code}")
|
227
227
|
if block
|
228
228
|
block.call(nil)
|
229
229
|
end
|
230
230
|
end
|
231
231
|
}
|
232
232
|
rescue Exception => e
|
233
|
-
|
233
|
+
@logger.error("Failed to send datapoints. Error: #{e}")
|
234
234
|
if block
|
235
235
|
block.call(nil)
|
236
236
|
end
|
@@ -246,12 +246,12 @@ class SignalFxClient
|
|
246
246
|
when 200
|
247
247
|
return block.call(response)
|
248
248
|
else
|
249
|
-
|
249
|
+
@logger.warn("Failed to retrieve AWS unique ID. Response code: #{response.code}")
|
250
250
|
return block.call(nil)
|
251
251
|
end
|
252
252
|
}
|
253
253
|
rescue Exception => e
|
254
|
-
|
254
|
+
@logger.warn("Failed to retrieve AWS unique ID. Error: #{e}")
|
255
255
|
block.call(nil)
|
256
256
|
end
|
257
257
|
end
|
@@ -19,7 +19,7 @@ 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,
|
22
|
+
def initialize(api_token, stream_endpoint)
|
23
23
|
@transport = SignalFlowWebsocketTransport.new(api_token, stream_endpoint)
|
24
24
|
end
|
25
25
|
|
@@ -17,9 +17,10 @@ class SignalFlowWebsocketTransport
|
|
17
17
|
# A lower bound on the amount of time to wait for a computation to start
|
18
18
|
COMPUTATION_START_TIMEOUT_SECONDS = 30
|
19
19
|
|
20
|
-
def initialize(api_token, stream_endpoint)
|
20
|
+
def initialize(api_token, stream_endpoint, logger: Logger.new(STDOUT, progname: "signalfx"))
|
21
21
|
@api_token = api_token
|
22
22
|
@stream_endpoint = stream_endpoint
|
23
|
+
@logger = logger
|
23
24
|
@compress = true
|
24
25
|
|
25
26
|
@lock = Mutex.new
|
@@ -217,7 +218,7 @@ class SignalFlowWebsocketTransport
|
|
217
218
|
|
218
219
|
message_received(m.data, m.type == :text)
|
219
220
|
rescue Exception => e
|
220
|
-
|
221
|
+
@logger.error("Error processing SignalFlow message: #{e.backtrace.first}: #{e.message} (#{e.class})")
|
221
222
|
end
|
222
223
|
end
|
223
224
|
|
@@ -237,7 +238,7 @@ class SignalFlowWebsocketTransport
|
|
237
238
|
{verify_mode: OpenSSL::SSL::VERIFY_PEER}) do |ws|
|
238
239
|
@ws = ws
|
239
240
|
ws.on :error do |e|
|
240
|
-
|
241
|
+
@logger.error("ERROR #{e.inspect}")
|
241
242
|
end
|
242
243
|
|
243
244
|
ws.on :close do |e|
|
data/lib/signalfx/version.rb
CHANGED
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: 2.0
|
4
|
+
version: 2.1.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: 2019-02-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -218,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
218
218
|
version: '0'
|
219
219
|
requirements: []
|
220
220
|
rubyforge_project:
|
221
|
-
rubygems_version: 2.5.2
|
221
|
+
rubygems_version: 2.5.2.3
|
222
222
|
signing_key:
|
223
223
|
specification_version: 4
|
224
224
|
summary: Ruby client library for SignalFx
|