librato-metrics 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -45,21 +45,32 @@ module Librato
45
45
  # data = Librato::Metrics.fetch :temperature, :count => 20,
46
46
  # :resolution => 900
47
47
  #
48
+ # @example Get data points for the last hour
49
+ # data = Librato::Metrics.fetch :start_time => Time.now-3600
50
+ #
51
+ # @example Get 15 min data points from two hours to an hour ago
52
+ # data = Librato::Metrics.fetch :start_time => Time.now-7200,
53
+ # :end_time => Time.now-3600,
54
+ # :resolution => 900
55
+ #
48
56
  # A full list of query parameters can be found in the API
49
57
  # documentation: {http://dev.librato.com/v1/get/gauges/:name}
50
58
  #
51
59
  # @param [Symbol|String] metric Metric name
52
60
  # @param [Hash] options Query options
53
61
  def self.fetch(metric, options={})
54
- resolution = options.delete(:resolution) || 1
55
- count = options.delete(:count)
56
- query = {}
57
- if count
58
- query.merge!({:count => count, :resolution => resolution})
59
- end
60
- query.merge!(options)
61
62
  # TODO: look up type when not specified.
62
63
  type = options.delete(:type) || 'gauge'
64
+ query = options.dup
65
+ if query[:start_time].respond_to?(:year)
66
+ query[:start_time] = query[:start_time].to_i
67
+ end
68
+ if query[:end_time].respond_to?(:year)
69
+ query[:end_time] = query[:end_time].to_i
70
+ end
71
+ unless query.empty?
72
+ query[:resolution] ||= 1
73
+ end
63
74
  response = connection.get(:path => "v1/#{type}s/#{metric}.json",
64
75
  :query => query, :expects => 200)
65
76
  parsed = JSON.parse(response.body)
@@ -1,5 +1,5 @@
1
1
  module Librato
2
2
  module Metrics
3
- VERSION = "0.2.0"
3
+ VERSION = "0.2.1"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: librato-metrics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-14 00:00:00.000000000Z
12
+ date: 2011-12-22 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
16
- requirement: &70208460547940 !ruby/object:Gem::Requirement
16
+ requirement: &70331651107040 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.7.12
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70208460547940
24
+ version_requirements: *70331651107040
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rake
27
- requirement: &70208460547480 !ruby/object:Gem::Requirement
27
+ requirement: &70331651106440 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *70208460547480
35
+ version_requirements: *70331651106440
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rspec
38
- requirement: &70208460546880 !ruby/object:Gem::Requirement
38
+ requirement: &70331651105820 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 2.6.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70208460546880
46
+ version_requirements: *70331651105820
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: yard
49
- requirement: &70208460546440 !ruby/object:Gem::Requirement
49
+ requirement: &70331651105400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70208460546440
57
+ version_requirements: *70331651105400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rdiscount
60
- requirement: &70208460545960 !ruby/object:Gem::Requirement
60
+ requirement: &70331651104920 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70208460545960
68
+ version_requirements: *70331651104920
69
69
  description: An easy to use ruby wrapper for Librato's Metrics API
70
70
  email: matt@librato.com
71
71
  executables: []