rack-perf 1.1.2 → 1.1.4
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/lib/rack/perf/version.rb +1 -1
- data/lib/rack/perf.rb +11 -27
- data/rack-perf.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 982ef21c5a45a9448c80643d36b3655266155c48
|
4
|
+
data.tar.gz: f4dd94d92685d76735e3ee29e7617e353d16e221
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5cd01ac1b4dafa423bffb853f1aa9811b32b18f0705512cd4df5eac58eaaa4ae6c4df514f3c7dda9c70b3be803b6862c7218b0bb0668adb97c10dbe41d21e33e
|
7
|
+
data.tar.gz: 0e83d9666467aa436673cfd298ec843e2a56e736abe2fc9226f52f7dbf82184911a48ee3d32a274ca5bc2162b6a1a73812a5cbcf79e9e926355f3e8be4c9a4c5
|
data/lib/rack/perf/version.rb
CHANGED
data/lib/rack/perf.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
module Rack
|
2
2
|
class Perf
|
3
3
|
require_relative "perf/version"
|
4
|
+
require 'unirest'
|
4
5
|
|
5
6
|
attr_reader :starttime
|
6
7
|
private :starttime
|
@@ -28,7 +29,7 @@ module Rack
|
|
28
29
|
|
29
30
|
# run the current request
|
30
31
|
request = Rack::Request.new(env)
|
31
|
-
|
32
|
+
status, headers, body = stack.call(env)
|
32
33
|
|
33
34
|
# log the end time of the request
|
34
35
|
@endtime = Time.now
|
@@ -53,28 +54,23 @@ module Rack
|
|
53
54
|
# this method sends up the single timing request up to Perf
|
54
55
|
# TODO: queue this up in a batch
|
55
56
|
private def send_data(ip_addr, request_method, request_url, normalized_uri, status_code, time_in_millis)
|
56
|
-
|
57
|
+
head = {
|
58
|
+
"Content-Type" => "application/json",
|
59
|
+
"X-Perf-Public-API-Key" => api_key
|
60
|
+
}
|
57
61
|
|
58
|
-
|
59
|
-
http.use_ssl = true
|
60
|
-
|
61
|
-
request = Net::HTTP::Post.new('/ingest')
|
62
|
-
request.add_field('Content-Type', 'application/json')
|
63
|
-
|
64
|
-
request.add_field('X-Perf-Public-API-Key', api_key)
|
65
|
-
request.body = [{
|
62
|
+
params = {
|
66
63
|
'ip_addr' => ip_addr,
|
67
64
|
'request_method' => request_method,
|
68
65
|
'request_url' => request_url,
|
69
66
|
'normalized_uri' => normalized_uri,
|
70
67
|
'status_code' => status_code,
|
71
68
|
'time_in_millis' => time_in_millis
|
72
|
-
}
|
73
|
-
|
74
|
-
puts request.body if debug
|
69
|
+
}
|
75
70
|
|
76
|
-
|
77
|
-
|
71
|
+
Unirest.post "https://data.perf.sh/ingest", headers:head, parameters:[params].to_json { |response|
|
72
|
+
# TODO: handle the incoming response
|
73
|
+
}
|
78
74
|
end
|
79
75
|
|
80
76
|
# this gets us the matched normalized path so that we can aggregate
|
@@ -125,17 +121,5 @@ module Rack
|
|
125
121
|
private def env
|
126
122
|
@env
|
127
123
|
end
|
128
|
-
|
129
|
-
private def headers
|
130
|
-
@headers
|
131
|
-
end
|
132
|
-
|
133
|
-
private def status
|
134
|
-
@status
|
135
|
-
end
|
136
|
-
|
137
|
-
private def body
|
138
|
-
@body
|
139
|
-
end
|
140
124
|
end
|
141
125
|
end
|
data/rack-perf.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
|
+
spec.add_dependency "unirest", "~> 1.1"
|
23
24
|
spec.add_development_dependency "bundler", "~> 1.13"
|
24
25
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
26
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rack-perf
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Lu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: unirest
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '1.1'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|