librato-metrics 0.5.0 → 0.6.0.pre2
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.
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rubygems'
|
2
|
+
require 'tach'
|
3
|
+
require 'set'
|
4
|
+
|
5
|
+
# Compare speed of simple addition and iteration operations.
|
6
|
+
#
|
7
|
+
Tach.meter(1000) do
|
8
|
+
|
9
|
+
tach('array') do
|
10
|
+
a = []
|
11
|
+
(1..1000).each do |i|
|
12
|
+
a << i
|
13
|
+
end
|
14
|
+
a.each do |i|
|
15
|
+
"this is a string with #{i}"
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
tach('set') do
|
20
|
+
s = Set.new
|
21
|
+
(1...1000).each do |i|
|
22
|
+
s << i
|
23
|
+
end
|
24
|
+
s.each do |i|
|
25
|
+
"this is a string with #{i}"
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'faraday'
|
2
2
|
require 'metrics/middleware/count_requests'
|
3
3
|
require 'metrics/middleware/expects_status'
|
4
|
+
require 'metrics/middleware/request_body'
|
4
5
|
require 'metrics/middleware/retry'
|
5
6
|
|
6
7
|
module Librato
|
@@ -29,10 +30,13 @@ module Librato
|
|
29
30
|
raise NoClientProvided unless @client
|
30
31
|
@transport ||= Faraday::Connection.new(:url => api_endpoint + "/v1/") do |f|
|
31
32
|
#f.use FaradayMiddleware::EncodeJson
|
33
|
+
f.use Librato::Metrics::Middleware::RequestBody
|
32
34
|
f.use Librato::Metrics::Middleware::Retry
|
33
|
-
f.use Librato::Metrics::Middleware::CountRequests
|
35
|
+
f.use Librato::Metrics::Middleware::CountRequests
|
36
|
+
|
34
37
|
f.use Librato::Metrics::Middleware::ExpectsStatus
|
35
38
|
#f.use FaradayMiddleware::ParseJson, :content_type => /\bjson$/
|
39
|
+
|
36
40
|
f.adapter Faraday.default_adapter
|
37
41
|
end.tap do |transport|
|
38
42
|
transport.headers[:user_agent] = user_agent
|
@@ -5,8 +5,7 @@ module Librato
|
|
5
5
|
class ExpectsStatus < Faraday::Response::Middleware
|
6
6
|
|
7
7
|
def on_complete(env)
|
8
|
-
# TODO:
|
9
|
-
# TODO: catch specific status codes by request
|
8
|
+
# TODO: make exception output prettier
|
10
9
|
case env[:status]
|
11
10
|
when 401
|
12
11
|
raise Unauthorized, env.to_s
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module Librato
|
2
|
+
module Metrics
|
3
|
+
module Middleware
|
4
|
+
|
5
|
+
class RequestBody < Faraday::Response::Middleware
|
6
|
+
|
7
|
+
def call(env)
|
8
|
+
# duplicate request body so it is preserved through request
|
9
|
+
# in case we need it for exception output
|
10
|
+
env[:request_body] = env[:body]
|
11
|
+
@app.call(env)
|
12
|
+
end
|
13
|
+
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
metadata
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: librato-metrics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.6.0.pre2
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Matt Sanders
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-04-
|
12
|
+
date: 2012-04-09 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|
16
|
-
requirement: &
|
16
|
+
requirement: &70288570431740 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 0.7.6
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70288570431740
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: multi_json
|
27
|
-
requirement: &
|
27
|
+
requirement: &70288570431320 !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: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70288570431320
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: rake
|
38
|
-
requirement: &
|
38
|
+
requirement: &70288570430860 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70288570430860
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
|
-
requirement: &
|
49
|
+
requirement: &70288570430360 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 2.6.0
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70288570430360
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: pry
|
60
|
-
requirement: &
|
60
|
+
requirement: &70288570429940 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: '0'
|
66
66
|
type: :development
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70288570429940
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: yard
|
71
|
-
requirement: &
|
71
|
+
requirement: &70288570429480 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: '0'
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70288570429480
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: rdiscount
|
82
|
-
requirement: &
|
82
|
+
requirement: &70288570429060 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70288570429060
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: sinatra
|
93
|
-
requirement: &
|
93
|
+
requirement: &70288570428640 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70288570428640
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: popen4
|
104
|
-
requirement: &
|
104
|
+
requirement: &70288570428220 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,7 +109,7 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70288570428220
|
113
113
|
description: An easy to use ruby wrapper for Librato's Metrics API
|
114
114
|
email: matt@librato.com
|
115
115
|
executables: []
|
@@ -124,6 +124,7 @@ files:
|
|
124
124
|
- LICENSE
|
125
125
|
- README.md
|
126
126
|
- Rakefile
|
127
|
+
- benchmarks/array_vs_set.rb
|
127
128
|
- lib/librato/metrics.rb
|
128
129
|
- lib/librato/metrics/client.rb
|
129
130
|
- lib/librato/metrics/collection.rb
|
@@ -131,6 +132,7 @@ files:
|
|
131
132
|
- lib/librato/metrics/errors.rb
|
132
133
|
- lib/librato/metrics/middleware/count_requests.rb
|
133
134
|
- lib/librato/metrics/middleware/expects_status.rb
|
135
|
+
- lib/librato/metrics/middleware/request_body.rb
|
134
136
|
- lib/librato/metrics/middleware/retry.rb
|
135
137
|
- lib/librato/metrics/persistence.rb
|
136
138
|
- lib/librato/metrics/persistence/direct.rb
|
@@ -164,9 +166,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
164
166
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
167
|
none: false
|
166
168
|
requirements:
|
167
|
-
- - ! '
|
169
|
+
- - ! '>'
|
168
170
|
- !ruby/object:Gem::Version
|
169
|
-
version:
|
171
|
+
version: 1.3.1
|
170
172
|
requirements: []
|
171
173
|
rubyforge_project:
|
172
174
|
rubygems_version: 1.8.16
|