haproxy2rpm 0.0.8 → 0.0.9
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.
- data/.gitignore +1 -0
- data/.travis.yml +7 -0
- data/CHANGELOG.md +4 -0
- data/README.md +36 -2
- data/Rakefile +19 -0
- data/lib/haproxy2rpm/line_parser.rb +6 -1
- data/lib/haproxy2rpm/rpm.rb +1 -1
- data/lib/haproxy2rpm/version.rb +1 -1
- data/test/rpm_test.rb +1 -1
- data/test/test_helper.rb +1 -1
- metadata +63 -96
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -36,12 +36,46 @@ Check the examples folder
|
|
36
36
|
* Histogram
|
37
37
|
* Web transactions
|
38
38
|
|
39
|
+
## Supported Ruby versions
|
40
|
+
|
41
|
+
Tested in production
|
42
|
+
|
43
|
+
* mri-1.9.2-p180
|
44
|
+
* ree-1.8.7-2011.03
|
45
|
+
* mri-1.8.7-p33
|
46
|
+
|
47
|
+
Passing manual integration test with test logs
|
48
|
+
|
49
|
+
* mri-1.9.2-p180
|
50
|
+
* ree-1.8.7-2011.03
|
51
|
+
* mri-1.8.7-p33
|
52
|
+
* jruby 1.6.2
|
53
|
+
|
54
|
+
rbx-head fails to write to the local db file:
|
55
|
+
|
56
|
+
Error serializing data to disk: #<TypeError: incompatible marshal file format (can't be read)format version 4.8 required
|
57
|
+
|
58
|
+
|
59
|
+
Passing unit tests
|
60
|
+
|
61
|
+
* mri-1.9.2-p180
|
62
|
+
* ree-1.8.7-2011.03
|
63
|
+
* mri-1.8.7-p33
|
64
|
+
* rbx-head
|
65
|
+
* jruby 1.6.2
|
66
|
+
|
67
|
+
## Performance
|
68
|
+
|
69
|
+
No performance testing done so fare. Judging by the results of [jordansissel](https://github.com/jordansissel/experiments/tree/master/ruby/eventmachine-speed), MRI 1.9.2 and jRuby should be the fastest.
|
70
|
+
|
39
71
|
## Known issues
|
40
72
|
|
41
73
|
* Daemonize is broken. Does not work nicely with new relic agent
|
74
|
+
* Does not work with Rubinius
|
42
75
|
|
43
76
|
## Roadmap
|
44
77
|
|
45
78
|
* Working daemonized mode
|
46
|
-
* remove haproxy dependency and make it a more generic rpm recorder
|
47
|
-
|
79
|
+
* remove haproxy dependency and make it a more generic rpm recorder. Maybe change the name to log2rpm or log4rpm
|
80
|
+
* Automated benchmarks to see how fast it performs and what Ruby version
|
81
|
+
might be best suited for a use case
|
data/Rakefile
CHANGED
@@ -4,6 +4,11 @@ require 'rake/testtask'
|
|
4
4
|
|
5
5
|
task :default => ['test:units']
|
6
6
|
|
7
|
+
def rubies
|
8
|
+
require 'yaml'
|
9
|
+
rubies = YAML.load_file('.travis.yml')['rvm']
|
10
|
+
end
|
11
|
+
|
7
12
|
namespace :test do
|
8
13
|
Rake::TestTask.new(:units) do |t|
|
9
14
|
t.libs << "test"
|
@@ -12,6 +17,20 @@ namespace :test do
|
|
12
17
|
t.verbose = true
|
13
18
|
end
|
14
19
|
|
20
|
+
desc 'run bundle install for all rubies'
|
21
|
+
task :prepare_rubies do
|
22
|
+
rubies.each do |ruby_version|
|
23
|
+
puts `rvm use #{ruby_version} && gem install bundler && bundle`
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
desc 'run test suite with all ruby versions'
|
28
|
+
task :multi_ruby do
|
29
|
+
rubies.each do |ruby_version|
|
30
|
+
puts `rvm use #{ruby_version} && bundle exec rake`
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
15
34
|
desc 'send udp log lines for testing purposes'
|
16
35
|
task :send_udp_log_lines do
|
17
36
|
port = ENV['port'] || 3333
|
data/lib/haproxy2rpm/rpm.rb
CHANGED
@@ -25,7 +25,7 @@ module Haproxy2Rpm
|
|
25
25
|
def process_and_send(line)
|
26
26
|
message = message_parser.call(line)
|
27
27
|
if(message)
|
28
|
-
request_recorder.call(
|
28
|
+
request_recorder.call(message)
|
29
29
|
else
|
30
30
|
Haproxy2Rpm.logger.warn "Parser returned an empty message from line #{line}"
|
31
31
|
end
|
data/lib/haproxy2rpm/version.rb
CHANGED
data/test/rpm_test.rb
CHANGED
data/test/test_helper.rb
CHANGED
@@ -31,6 +31,6 @@ def log_entry(options = {})
|
|
31
31
|
}
|
32
32
|
defaults.merge!(options)
|
33
33
|
log_line = <<LOG_LINE
|
34
|
-
haproxy[674]: 127.0.0.1:33319 [15/Oct/2003:08:31:57] relais-http Srv1 #{defaults[:tq]}/#{defaults[:tw]}/#{defaults[:tc]}/#{defaults[:tr]}/#{defaults[:tt]} #{defaults[:status_code]} 243 - - ---- 1/3/5 0/0 "#{defaults[:http_method]} #{defaults[:http_path]}#{defaults[:http_query] ? "?#{defaults[:http_query]}" : ''} HTTP/1.0"
|
34
|
+
Aug 1 15:28:03 ip-10-58-122-30.eu-west-1.compute.internal haproxy[674]: 127.0.0.1:33319 [15/Oct/2003:08:31:57] relais-http Srv1 #{defaults[:tq]}/#{defaults[:tw]}/#{defaults[:tc]}/#{defaults[:tr]}/#{defaults[:tt]} #{defaults[:status_code]} 243 - - ---- 1/3/5 0/0 "#{defaults[:http_method]} #{defaults[:http_path]}#{defaults[:http_query] ? "?#{defaults[:http_query]}" : ''} HTTP/1.0"
|
35
35
|
LOG_LINE
|
36
36
|
end
|
metadata
CHANGED
@@ -1,106 +1,83 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: haproxy2rpm
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.9
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 8
|
10
|
-
version: 0.0.8
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Patrick Huesler
|
14
9
|
- Martin Rehfeld
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
dependencies:
|
22
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2011-08-11 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
23
16
|
name: newrelic_rpm
|
24
|
-
|
25
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70309583696800 !ruby/object:Gem::Requirement
|
26
18
|
none: false
|
27
|
-
requirements:
|
28
|
-
- -
|
29
|
-
- !ruby/object:Gem::Version
|
30
|
-
|
31
|
-
segments:
|
32
|
-
- 0
|
33
|
-
version: "0"
|
19
|
+
requirements:
|
20
|
+
- - ! '>='
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: '0'
|
34
23
|
type: :runtime
|
35
|
-
version_requirements: *id001
|
36
|
-
- !ruby/object:Gem::Dependency
|
37
|
-
name: eventmachine-tail
|
38
24
|
prerelease: false
|
39
|
-
|
25
|
+
version_requirements: *70309583696800
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: eventmachine-tail
|
28
|
+
requirement: &70309583696140 !ruby/object:Gem::Requirement
|
40
29
|
none: false
|
41
|
-
requirements:
|
42
|
-
- -
|
43
|
-
- !ruby/object:Gem::Version
|
44
|
-
|
45
|
-
segments:
|
46
|
-
- 0
|
47
|
-
version: "0"
|
30
|
+
requirements:
|
31
|
+
- - ! '>='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
48
34
|
type: :runtime
|
49
|
-
version_requirements: *id002
|
50
|
-
- !ruby/object:Gem::Dependency
|
51
|
-
name: rake
|
52
35
|
prerelease: false
|
53
|
-
|
36
|
+
version_requirements: *70309583696140
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rake
|
39
|
+
requirement: &70309583695480 !ruby/object:Gem::Requirement
|
54
40
|
none: false
|
55
|
-
requirements:
|
56
|
-
- -
|
57
|
-
- !ruby/object:Gem::Version
|
58
|
-
|
59
|
-
segments:
|
60
|
-
- 0
|
61
|
-
version: "0"
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
62
45
|
type: :development
|
63
|
-
version_requirements: *id003
|
64
|
-
- !ruby/object:Gem::Dependency
|
65
|
-
name: shoulda-context
|
66
46
|
prerelease: false
|
67
|
-
|
47
|
+
version_requirements: *70309583695480
|
48
|
+
- !ruby/object:Gem::Dependency
|
49
|
+
name: shoulda-context
|
50
|
+
requirement: &70309583694680 !ruby/object:Gem::Requirement
|
68
51
|
none: false
|
69
|
-
requirements:
|
70
|
-
- -
|
71
|
-
- !ruby/object:Gem::Version
|
72
|
-
|
73
|
-
segments:
|
74
|
-
- 0
|
75
|
-
version: "0"
|
52
|
+
requirements:
|
53
|
+
- - ! '>='
|
54
|
+
- !ruby/object:Gem::Version
|
55
|
+
version: '0'
|
76
56
|
type: :development
|
77
|
-
version_requirements: *id004
|
78
|
-
- !ruby/object:Gem::Dependency
|
79
|
-
name: mocha
|
80
57
|
prerelease: false
|
81
|
-
|
58
|
+
version_requirements: *70309583694680
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: mocha
|
61
|
+
requirement: &70309583694100 !ruby/object:Gem::Requirement
|
82
62
|
none: false
|
83
|
-
requirements:
|
84
|
-
- -
|
85
|
-
- !ruby/object:Gem::Version
|
86
|
-
|
87
|
-
segments:
|
88
|
-
- 0
|
89
|
-
version: "0"
|
63
|
+
requirements:
|
64
|
+
- - ! '>='
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '0'
|
90
67
|
type: :development
|
91
|
-
|
68
|
+
prerelease: false
|
69
|
+
version_requirements: *70309583694100
|
92
70
|
description: Sending haproxy logs to new relic rpm
|
93
|
-
email:
|
71
|
+
email:
|
94
72
|
- patrick.huesler@wooga.com
|
95
73
|
- martin.rehfeld@wooga.com
|
96
|
-
executables:
|
74
|
+
executables:
|
97
75
|
- haproxy2rpm
|
98
76
|
extensions: []
|
99
|
-
|
100
77
|
extra_rdoc_files: []
|
101
|
-
|
102
|
-
files:
|
78
|
+
files:
|
103
79
|
- .gitignore
|
80
|
+
- .travis.yml
|
104
81
|
- CHANGELOG.md
|
105
82
|
- Gemfile
|
106
83
|
- README.md
|
@@ -122,41 +99,31 @@ files:
|
|
122
99
|
- test/haproxy2pm_test.rb
|
123
100
|
- test/rpm_test.rb
|
124
101
|
- test/test_helper.rb
|
125
|
-
has_rdoc: true
|
126
102
|
homepage: https://github.com/wooga/haproxy2rpm
|
127
103
|
licenses: []
|
128
|
-
|
129
104
|
post_install_message:
|
130
105
|
rdoc_options: []
|
131
|
-
|
132
|
-
require_paths:
|
106
|
+
require_paths:
|
133
107
|
- lib
|
134
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
108
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
135
109
|
none: false
|
136
|
-
requirements:
|
137
|
-
- -
|
138
|
-
- !ruby/object:Gem::Version
|
139
|
-
|
140
|
-
|
141
|
-
- 0
|
142
|
-
version: "0"
|
143
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - ! '>='
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '0'
|
114
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
144
115
|
none: false
|
145
|
-
requirements:
|
146
|
-
- -
|
147
|
-
- !ruby/object:Gem::Version
|
148
|
-
|
149
|
-
segments:
|
150
|
-
- 0
|
151
|
-
version: "0"
|
116
|
+
requirements:
|
117
|
+
- - ! '>='
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '0'
|
152
120
|
requirements: []
|
153
|
-
|
154
121
|
rubyforge_project:
|
155
|
-
rubygems_version: 1.6
|
122
|
+
rubygems_version: 1.8.6
|
156
123
|
signing_key:
|
157
124
|
specification_version: 3
|
158
125
|
summary: Sending haproxy logs to new relic rpm
|
159
|
-
test_files:
|
126
|
+
test_files:
|
160
127
|
- test/fixtures/config.rb
|
161
128
|
- test/haproxy2pm_test.rb
|
162
129
|
- test/rpm_test.rb
|