myslog 0.0.3 → 0.0.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.
- data/lib/myslog.rb +11 -11
- data/myslog.gemspec +1 -1
- data/spec/myslog.rb +4 -2
- metadata +3 -3
data/lib/myslog.rb
CHANGED
@@ -18,8 +18,8 @@
|
|
18
18
|
require "time"
|
19
19
|
|
20
20
|
class MySlog
|
21
|
-
def parse(
|
22
|
-
divide(
|
21
|
+
def parse(text)
|
22
|
+
divide(text.split("\n")).map {|r| parse_record(r) }
|
23
23
|
end
|
24
24
|
|
25
25
|
def divide(lines)
|
@@ -51,32 +51,32 @@ class MySlog
|
|
51
51
|
records
|
52
52
|
end
|
53
53
|
|
54
|
-
def parse_record(
|
54
|
+
def parse_record(records)
|
55
55
|
response = {}
|
56
56
|
|
57
|
-
|
58
|
-
if
|
59
|
-
date =
|
57
|
+
record = records.shift
|
58
|
+
if record.start_with? "# Time:"
|
59
|
+
date = record[8..-1].strip
|
60
60
|
response[:date] = Time.parse(date)
|
61
61
|
|
62
|
-
|
62
|
+
record = records.shift
|
63
63
|
else
|
64
64
|
response[:date] = nil
|
65
65
|
end
|
66
66
|
|
67
|
-
elems =
|
67
|
+
elems = record.split(" ")
|
68
68
|
response[:user] = elems[2].strip
|
69
69
|
response[:host] = elems[4].strip
|
70
70
|
response[:host_ip] = elems[5].strip[1...-1]
|
71
71
|
|
72
|
-
|
73
|
-
elems =
|
72
|
+
record = records.shift
|
73
|
+
elems = record.split(" ")
|
74
74
|
response[:query_time] = elems[2].to_f
|
75
75
|
response[:lock_time] = elems[4].to_f
|
76
76
|
response[:rows_sent] = elems[6].to_i
|
77
77
|
response[:rows_examined] = elems[8].to_i
|
78
78
|
|
79
|
-
response[:sql] =
|
79
|
+
response[:sql] = records.shift
|
80
80
|
|
81
81
|
response
|
82
82
|
end
|
data/myslog.gemspec
CHANGED
data/spec/myslog.rb
CHANGED
@@ -46,12 +46,11 @@ use webtie;
|
|
46
46
|
|
47
47
|
before :each do
|
48
48
|
@myslog = MySlog.new
|
49
|
-
@lines = @log.split("\n").map {|line| line.chomp}
|
50
49
|
end
|
51
50
|
|
52
51
|
describe "#parse" do
|
53
52
|
it "should return Array of Hash" do
|
54
|
-
results = @myslog.parse(@
|
53
|
+
results = @myslog.parse(@log)
|
55
54
|
results.should be_an_instance_of Array
|
56
55
|
results.each do |result|
|
57
56
|
results.should be_an_instance_of Array
|
@@ -60,6 +59,9 @@ use webtie;
|
|
60
59
|
end
|
61
60
|
|
62
61
|
describe "#divide" do
|
62
|
+
before :each do
|
63
|
+
@lines = @log.split("\n").map {|line| line.chomp}
|
64
|
+
end
|
63
65
|
|
64
66
|
it "should return Array of Array" do
|
65
67
|
results = @myslog.divide(@lines)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: myslog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-06-07 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rspec
|
16
|
-
requirement: &
|
16
|
+
requirement: &70181126520020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,7 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :development
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70181126520020
|
25
25
|
description: MySQL slow query parser.
|
26
26
|
email:
|
27
27
|
- taka84u9@gmail.com
|