wavefront-client 1.1.1 → 2.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 +8 -8
- data/bin/wavefront-client +8 -3
- data/lib/wavefront/alerting.rb +2 -1
- data/lib/wavefront/client.rb +3 -7
- data/lib/wavefront/client/version.rb +1 -1
- data/lib/wavefront/{client/constants.rb → constants.rb} +11 -1
- data/lib/wavefront/events.rb +2 -1
- data/lib/wavefront/metadata.rb +10 -3
- data/lib/wavefront/writer.rb +2 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
ZmVmOGZlMjkwODkxMTk3YjBiN2QwZDZiNmEyZTlkYjgyZTY1ZjQ1NQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
ZTYzNTFiZTNiOWFiMmZmYjA5ZDM0NGE5Y2EzNGNhZTkxNmE2Yjg5ZA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
NzJhZmUzN2IyYmVjZjNjNmQ1ZjU1MWJlMzE5ZGRmY2RmOTY4MGZiNTA1NjBl
|
10
|
+
Y2Y2MzMwMTkxOWVjMTExNWJmZjQ0NTIxYzEwOWE0ZTY1N2RjZTViZDA2NTc2
|
11
|
+
MjBhOGQ5YzBhZTNhOTA0ZWU2ZDg3MTUzYmIxNGE5MDM3MjZmMjM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YzFkNzhkYjFiYTZlZDlkNjc2ZWU5OTcwNTNkYzY5YzJiMjcxY2NjMjcyZjlh
|
14
|
+
YjY4MjNlYzJjY2I0MjgwN2NjZGQ3ZGExODk3YzI4NDBiNDQ0NTgwMjUzNGFi
|
15
|
+
ZGNiMGZjMWNkY2M3ZjBiZjI5MDYxNjg3NDI5OTkzMmM3YjA5OTk=
|
data/bin/wavefront-client
CHANGED
@@ -20,8 +20,11 @@ require 'json'
|
|
20
20
|
|
21
21
|
@opts = Slop.parse(strict: true) do
|
22
22
|
banner 'Usage: wavefront-client QUERY (OPTIONS)'
|
23
|
+
on 'd', 'days', 'Query granularity of days'
|
24
|
+
on 'D', 'debug', 'Enable debug mode'
|
23
25
|
on 'm', 'minutes', 'Query granularity of minutes'
|
24
|
-
on '
|
26
|
+
on 'H', 'hours', 'Query granularity of hours'
|
27
|
+
on 'E', 'endpoint=', 'Connect to alternative cluster endpoint', default: Wavefront::Client::DEFAULT_HOST.to_s
|
25
28
|
on 'S', 'seconds', 'Query granularity of seconds'
|
26
29
|
on 's', 'start=', 'Time in UNIX epoch seconds to begin the query from'
|
27
30
|
on 't', 'token=', 'Wavefront authentication token'
|
@@ -43,8 +46,10 @@ elsif @opts.hours?
|
|
43
46
|
granularity = 'h'
|
44
47
|
elsif @opts.seconds?
|
45
48
|
granularity = 's'
|
49
|
+
elsif @opts.days?
|
50
|
+
granularity = 'd'
|
46
51
|
else
|
47
|
-
puts "You must specify a granularity of either --seconds, --minutes or --
|
52
|
+
puts "You must specify a granularity of either --seconds, --minutes --hours or --days. See --help for more information."
|
48
53
|
exit 1
|
49
54
|
end
|
50
55
|
|
@@ -65,7 +70,7 @@ if @opts[:end]
|
|
65
70
|
options[:end_time] = Time.at(@opts[:end].to_i)
|
66
71
|
end
|
67
72
|
|
68
|
-
wave = Wavefront::Client.new(@opts[:token])
|
73
|
+
wave = Wavefront::Client.new(@opts[:token], @opts[:endpoint], @opts[:debug])
|
69
74
|
case options[:response_format]
|
70
75
|
when :raw
|
71
76
|
puts wave.query(query, granularity, options)
|
data/lib/wavefront/alerting.rb
CHANGED
@@ -16,13 +16,14 @@ See the License for the specific language governing permissions and
|
|
16
16
|
|
17
17
|
require "wavefront/client/version"
|
18
18
|
require "wavefront/exception"
|
19
|
+
require "wavefront/constants"
|
19
20
|
require 'rest_client'
|
20
21
|
require 'uri'
|
21
22
|
require 'logger'
|
22
23
|
|
23
24
|
module Wavefront
|
24
25
|
class Alerting
|
25
|
-
|
26
|
+
include Wavefront::Constants
|
26
27
|
DEFAULT_PATH = '/api/alert/'
|
27
28
|
|
28
29
|
attr_reader :token
|
data/lib/wavefront/client.rb
CHANGED
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
|
|
15
15
|
=end
|
16
16
|
|
17
17
|
require "wavefront/client/version"
|
18
|
-
require "wavefront/
|
18
|
+
require "wavefront/constants"
|
19
19
|
require "wavefront/exception"
|
20
20
|
require "wavefront/response"
|
21
21
|
require 'rest_client'
|
@@ -24,13 +24,9 @@ require 'logger'
|
|
24
24
|
|
25
25
|
module Wavefront
|
26
26
|
class Client
|
27
|
-
|
27
|
+
|
28
|
+
include Wavefront::Constants
|
28
29
|
DEFAULT_PATH = '/chart/api'
|
29
|
-
DEFAULT_FORMAT = :raw
|
30
|
-
DEFAULT_PREFIX_LENGTH = 1
|
31
|
-
DEFAULT_STRICT = true
|
32
|
-
FORMATS = [ :raw, :ruby, :graphite, :highcharts ]
|
33
|
-
GRANULARITIES = %w( s m h d )
|
34
30
|
|
35
31
|
attr_reader :headers, :base_uri
|
36
32
|
|
@@ -14,4 +14,14 @@ See the License for the specific language governing permissions and
|
|
14
14
|
|
15
15
|
=end
|
16
16
|
|
17
|
-
|
17
|
+
module Wavefront
|
18
|
+
module Constants
|
19
|
+
DEFAULT_HOST = 'metrics.wavefront.com'
|
20
|
+
DEFAULT_PERIOD_SECONDS = 600
|
21
|
+
DEFAULT_FORMAT = :raw
|
22
|
+
DEFAULT_PREFIX_LENGTH = 1
|
23
|
+
DEFAULT_STRICT = true
|
24
|
+
FORMATS = [ :raw, :ruby, :graphite, :highcharts ]
|
25
|
+
GRANULARITIES = %w( s m h d )
|
26
|
+
end
|
27
|
+
end
|
data/lib/wavefront/events.rb
CHANGED
@@ -3,6 +3,7 @@ require_relative 'exception'
|
|
3
3
|
require 'rest_client'
|
4
4
|
require 'uri'
|
5
5
|
require 'logger'
|
6
|
+
require 'wavefront/constants'
|
6
7
|
#
|
7
8
|
# Add basic support to cover Wavefront's events API. I have followed
|
8
9
|
# the standards and conventions established in the files already in
|
@@ -17,7 +18,7 @@ module Wavefront
|
|
17
18
|
# the event', 's' as 'start time for the event' and so-on.
|
18
19
|
#
|
19
20
|
class Events
|
20
|
-
|
21
|
+
include Wavefront::Constants
|
21
22
|
DEFAULT_PATH = '/api/events/'
|
22
23
|
|
23
24
|
attr_reader :token
|
data/lib/wavefront/metadata.rb
CHANGED
@@ -15,7 +15,7 @@ See the License for the specific language governing permissions and
|
|
15
15
|
=end
|
16
16
|
|
17
17
|
require "wavefront/client/version"
|
18
|
-
require "wavefront/
|
18
|
+
require "wavefront/constants"
|
19
19
|
require "wavefront/exception"
|
20
20
|
require 'rest_client'
|
21
21
|
require 'uri'
|
@@ -23,6 +23,7 @@ require 'logger'
|
|
23
23
|
|
24
24
|
module Wavefront
|
25
25
|
class Metadata
|
26
|
+
include Wavefront::Constants
|
26
27
|
DEFAULT_PATH = '/api/manage/source/'
|
27
28
|
|
28
29
|
attr_reader :headers, :base_uri
|
@@ -33,15 +34,21 @@ module Wavefront
|
|
33
34
|
debug(debug)
|
34
35
|
end
|
35
36
|
|
36
|
-
def get_tags(hostname='')
|
37
|
+
def get_tags(hostname='', limit=100)
|
37
38
|
uri = @base_uri
|
38
39
|
|
39
40
|
unless hostname.empty?
|
40
41
|
uri = URI.join(@base_uri.to_s, hostname)
|
41
42
|
end
|
43
|
+
|
44
|
+
if limit > 10000
|
45
|
+
limit = 10000
|
46
|
+
end
|
47
|
+
|
48
|
+
args = {:params => {:limit => limit}}.merge(@headers)
|
42
49
|
|
43
50
|
begin
|
44
|
-
response = RestClient.get(uri.to_s,
|
51
|
+
response = RestClient.get(uri.to_s, args)
|
45
52
|
rescue RestClient::ResourceNotFound
|
46
53
|
# If a 404 is returned, we return an empty JSON as this is the expected behaviour for untagged hosts
|
47
54
|
response = {}
|
data/lib/wavefront/writer.rb
CHANGED
@@ -16,11 +16,13 @@ See the License for the specific language governing permissions and
|
|
16
16
|
|
17
17
|
require "wavefront/client/version"
|
18
18
|
require "wavefront/exception"
|
19
|
+
require "wavefront/constants"
|
19
20
|
require 'uri'
|
20
21
|
require 'socket'
|
21
22
|
|
22
23
|
module Wavefront
|
23
24
|
class Writer
|
25
|
+
include Wavefront::Constants
|
24
26
|
DEFAULT_AGENT_HOST = 'localhost'
|
25
27
|
DEFAULT_PORT = 2878
|
26
28
|
DEFAULT_HOSTNAME = %x{hostname -f}.chomp
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wavefront-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 2.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sam Pointer
|
@@ -12,7 +12,7 @@ authors:
|
|
12
12
|
autorequire:
|
13
13
|
bindir: bin
|
14
14
|
cert_chain: []
|
15
|
-
date:
|
15
|
+
date: 2016-02-03 00:00:00.000000000 Z
|
16
16
|
dependencies:
|
17
17
|
- !ruby/object:Gem::Dependency
|
18
18
|
name: bundler
|
@@ -115,8 +115,8 @@ files:
|
|
115
115
|
- bin/wavefront-client
|
116
116
|
- lib/wavefront/alerting.rb
|
117
117
|
- lib/wavefront/client.rb
|
118
|
-
- lib/wavefront/client/constants.rb
|
119
118
|
- lib/wavefront/client/version.rb
|
119
|
+
- lib/wavefront/constants.rb
|
120
120
|
- lib/wavefront/events.rb
|
121
121
|
- lib/wavefront/exception.rb
|
122
122
|
- lib/wavefront/metadata.rb
|