log_analyzer 0.3.1 → 0.3.2
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 +5 -5
- data/Gemfile +2 -1
- data/Gemfile.lock +10 -6
- data/README.md +3 -0
- data/bin/log_analyzer +6 -0
- data/lib/log_analyzer.rb +1 -0
- data/lib/log_analyzer/analyzer.rb +19 -1
- data/lib/log_analyzer/version.rb +1 -1
- metadata +3 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: f31c44a323b2a06f061691818fe51adb618e02b9ba5dd3f92777e73346cd99b8
|
4
|
+
data.tar.gz: 59d874b13421caf36ec39811646bbff5f423b7b18cb96e1ae0a83cb88e919320
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f2b7763d08c6e87766dab819850afd4b38787f26144fceaf12692b353529850038d9deb4b02e7661818a31a112b5654d5e055b22adf9663b3e8122db48785690
|
7
|
+
data.tar.gz: d8b969921b631130cbe907c6e9e0305278da7bfa68f7fd17668d4a38bb95b1ed8644a5785cdfedeacc138abadcb390b03c1e2e6345ba23b3e4562196df8c8d62
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
log_analyzer (0.3.
|
4
|
+
log_analyzer (0.3.2)
|
5
5
|
colorize
|
6
6
|
prawn
|
7
7
|
prawn-table
|
@@ -27,7 +27,7 @@ GEM
|
|
27
27
|
pry (0.11.3)
|
28
28
|
coderay (~> 1.1.0)
|
29
29
|
method_source (~> 0.9.0)
|
30
|
-
rake (
|
30
|
+
rake (13.0.1)
|
31
31
|
rspec (3.7.0)
|
32
32
|
rspec-core (~> 3.7.0)
|
33
33
|
rspec-expectations (~> 3.7.0)
|
@@ -41,16 +41,19 @@ GEM
|
|
41
41
|
diff-lcs (>= 1.2.0, < 2.0)
|
42
42
|
rspec-support (~> 3.7.0)
|
43
43
|
rspec-support (3.7.1)
|
44
|
+
ruby-ole (1.2.12.2)
|
44
45
|
simplecov (0.13.0)
|
45
46
|
docile (~> 1.1.0)
|
46
47
|
json (>= 1.8, < 3)
|
47
48
|
simplecov-html (~> 0.10.0)
|
48
49
|
simplecov-html (0.10.0)
|
50
|
+
spreadsheet (1.2.6)
|
51
|
+
ruby-ole (>= 1.0)
|
49
52
|
terminal-table (1.8.0)
|
50
53
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
51
|
-
thor (0.
|
52
|
-
ttfunk (1.
|
53
|
-
unicode-display_width (1.
|
54
|
+
thor (1.0.1)
|
55
|
+
ttfunk (1.6.2.1)
|
56
|
+
unicode-display_width (1.7.0)
|
54
57
|
|
55
58
|
PLATFORMS
|
56
59
|
ruby
|
@@ -61,6 +64,7 @@ DEPENDENCIES
|
|
61
64
|
pry
|
62
65
|
rspec
|
63
66
|
simplecov
|
67
|
+
spreadsheet
|
64
68
|
|
65
69
|
BUNDLED WITH
|
66
|
-
1.
|
70
|
+
1.17.3
|
data/README.md
CHANGED
@@ -49,11 +49,13 @@ Samples:
|
|
49
49
|
* `log_analyzer production.log -pdf`
|
50
50
|
* `log_analyzer -f log/production.log -s name`
|
51
51
|
* `log_analyzer -f log/production.log -s time -f v`
|
52
|
+
* `log_analyzer -f log/production.log -s rtime -f v`
|
52
53
|
* `log_analyzer -file log/production.log -sort count`
|
53
54
|
* `log_analyzer -file log/production.log -sort count -filter view`
|
54
55
|
* `log_analyzer -file log/production.log -sort count -filter partial`
|
55
56
|
* `log_analyzer -file log/production.log -sort time -filter p`
|
56
57
|
* `log_analyzer development.log -csv -s time -f p`
|
58
|
+
* `log_analyzer development.log -xls -s time -f p`
|
57
59
|
* `log_analyzer log/production.log -pdf --short`
|
58
60
|
* `log_analyzer -file log/production.log --short`
|
59
61
|
* `log_analyzer --help`
|
@@ -80,6 +82,7 @@ Big thank you to all our contributors:
|
|
80
82
|
* [@ritaritual](https://github.com/ritaritual)
|
81
83
|
* [@y-yagi](https://github.com/y-yagi)
|
82
84
|
* [@RafaelHashimoto](https://github.com/RafaelHashimoto)
|
85
|
+
* [@Quentinchampenois](https://github.com/Quentinchampenois)
|
83
86
|
|
84
87
|
## TODO
|
85
88
|
|
data/bin/log_analyzer
CHANGED
@@ -35,6 +35,10 @@ parser = OptionParser.new do |opts|
|
|
35
35
|
options[:format] = 'csv'
|
36
36
|
end
|
37
37
|
|
38
|
+
opts.on('-xls', '--output=xls', 'Export to .xls') do |v|
|
39
|
+
options[:format] = 'xls'
|
40
|
+
end
|
41
|
+
|
38
42
|
opts.on('-h', '--help', 'Displays Help') do
|
39
43
|
puts opts
|
40
44
|
exit
|
@@ -65,6 +69,8 @@ if options[:file] && options[:sort]
|
|
65
69
|
analyzer.to_pdf(LogAnalyzer::Utils.report_name('pdf'), short: options[:short])
|
66
70
|
when 'csv'
|
67
71
|
analyzer.to_csv(LogAnalyzer::Utils.report_name('csv'), short: options[:short])
|
72
|
+
when 'xls'
|
73
|
+
analyzer.to_xls(LogAnalyzer::Utils.report_name('xls'), short: options[:short])
|
68
74
|
else
|
69
75
|
analyzer.visualize(short: options[:short])
|
70
76
|
end
|
data/lib/log_analyzer.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module LogAnalyzer
|
2
|
-
|
2
|
+
|
3
3
|
class Analyzer
|
4
4
|
DEFAULT_TABLE_WIDTH = 120 # width
|
5
5
|
CONTENT_LENGTH = (0..DEFAULT_TABLE_WIDTH - 20).freeze
|
@@ -36,6 +36,8 @@ module LogAnalyzer
|
|
36
36
|
@stats = @stats.sort{|a, b| a[0] <=> b[0] }
|
37
37
|
when :time
|
38
38
|
@stats = @stats.sort{|a, b| a[1].avg <=> b[1].avg }
|
39
|
+
when :rtime
|
40
|
+
@stats = @stats.sort{|a, b| b[1].avg <=> a[1].avg }
|
39
41
|
when :count
|
40
42
|
@stats = @stats.sort{|a, b| a[1].count <=> b[1].count }
|
41
43
|
end
|
@@ -98,6 +100,21 @@ module LogAnalyzer
|
|
98
100
|
end
|
99
101
|
end
|
100
102
|
|
103
|
+
def to_xls(out_filename, short: false)
|
104
|
+
xls = Spreadsheet::Workbook.new
|
105
|
+
xls.create_worksheet
|
106
|
+
#XLS header
|
107
|
+
xls.worksheet(0).insert_row(0, HEADER)
|
108
|
+
#XLS content
|
109
|
+
stats.each do |path, stat|
|
110
|
+
xls.worksheet(0).insert_row(
|
111
|
+
xls.worksheet(0).last_row_index + 1,
|
112
|
+
xls_format_row(path, stat, short)
|
113
|
+
)
|
114
|
+
end
|
115
|
+
xls.write("#{Dir.pwd}/#{out_filename}")
|
116
|
+
end
|
117
|
+
|
101
118
|
private
|
102
119
|
|
103
120
|
def console_row(path, stat, short)
|
@@ -124,6 +141,7 @@ module LogAnalyzer
|
|
124
141
|
|
125
142
|
alias :pdf_row :simple_row
|
126
143
|
alias :csv_format_row :simple_row
|
144
|
+
alias :xls_format_row :simple_row
|
127
145
|
|
128
146
|
def new_table
|
129
147
|
Terminal::Table.new(headings: HEADER, width: DEFAULT_TABLE_WIDTH)
|
data/lib/log_analyzer/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: log_analyzer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Igor Kasyanchuk
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -191,8 +191,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
191
191
|
- !ruby/object:Gem::Version
|
192
192
|
version: '0'
|
193
193
|
requirements: []
|
194
|
-
|
195
|
-
rubygems_version: 2.6.12
|
194
|
+
rubygems_version: 3.0.6
|
196
195
|
signing_key:
|
197
196
|
specification_version: 4
|
198
197
|
summary: log_analyzer gem is created to get statistics about your views rendering
|