apache_log_report 0.9.8 → 0.9.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.
- checksums.yaml +4 -4
- data/lib/apache_log_report.rb +23 -12
- data/lib/apache_log_report/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0cfcc34ca8741250adff411009618f4a359c4c59606a911a924416650fa352e7
|
4
|
+
data.tar.gz: 4f366f09084266e0112f597aac8be998ff47df8ef50d8fd01b1c26361dc889b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ddee7b7b3fd56327c3409f0a6de2778b83a0e67d743d300f00259ba314159d1cb62315f388fc0136052895903c7e6df47e08ba59b036db23f0722fc99e5f7b6d
|
7
|
+
data.tar.gz: 0e857dbb34cd66057a401016afcd457c19c995c7aff66a87d4db230569b67a091c19d5f3446377f1a7ee8f8cda3b70ea0b8b4753bd7aea3beadc07810cf2d54b
|
data/lib/apache_log_report.rb
CHANGED
@@ -18,11 +18,11 @@ module ApacheLogReport
|
|
18
18
|
args[:limit] = n
|
19
19
|
end
|
20
20
|
|
21
|
-
opts.on("-bDATE", "--
|
21
|
+
opts.on("-bDATE", "--begin=DATE", DateTime, "Consider entries after or on DATE") do |n|
|
22
22
|
args[:from_date] = n
|
23
23
|
end
|
24
24
|
|
25
|
-
opts.on("-eDATE", "--
|
25
|
+
opts.on("-eDATE", "--end=DATE", DateTime, "Consider entries before or on DATE") do |n|
|
26
26
|
args[:to_date] = n
|
27
27
|
end
|
28
28
|
|
@@ -186,18 +186,29 @@ module ApacheLogReport
|
|
186
186
|
"true"
|
187
187
|
].compact.join " and "
|
188
188
|
|
189
|
+
# in alternative to sum(size)
|
190
|
+
human_readable_size = <<-EOS
|
191
|
+
CASE
|
192
|
+
WHEN sum(size) < 1024 THEN sum(size) || ' B'
|
193
|
+
WHEN sum(size) >= 1024 AND sum(size) < (1024 * 1024) THEN ROUND((CAST(sum(size) AS REAL) / 1024),2) || ' KB'
|
194
|
+
WHEN sum(size) >= (1024 * 1024) AND sum(size) < (1024 * 1024 * 1024) THEN ROUND((CAST(sum(size) AS REAL) / (1024 * 1024)),2) || ' MB'
|
195
|
+
WHEN sum(size) >= (1024 * 1024 * 1024) AND sum(size) < (1024 * 1024 * 1024 *1024) THEN ROUND((CAST(sum(size) AS REAL) / (1024 * 1024 * 1024)),2) || ' GB'
|
196
|
+
WHEN sum(size) >= (1024 * 1024 * 1024 * 1024) THEN ROUND((CAST(sum(size) AS REAL) / (1024 * 1024 * 1024 * 1024)),2) || ' TB'
|
197
|
+
END AS size
|
198
|
+
EOS
|
199
|
+
|
189
200
|
@total_hits = db.execute "SELECT count(datetime) from LogLine where #{@filter}"
|
190
201
|
@total_unique_visitors = db.execute "SELECT count(distinct(unique_visitor)) from LogLine where #{@filter}"
|
191
|
-
@total_size = db.execute "SELECT
|
202
|
+
@total_size = db.execute "SELECT #{human_readable_size} from LogLine where #{@filter}"
|
192
203
|
@total_days = (Date.parse(@last_day[0][0]) - Date.parse(@first_day[0][0])).to_i
|
193
204
|
|
194
|
-
@daily_distribution = db.execute "SELECT date(datetime), count(datetime), count(distinct(unique_visitor)),
|
205
|
+
@daily_distribution = db.execute "SELECT date(datetime), count(datetime), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by date(datetime)"
|
195
206
|
|
196
|
-
@time_distribution = db.execute "SELECT strftime('%H', datetime), count(datetime), count(distinct(unique_visitor)),
|
207
|
+
@time_distribution = db.execute "SELECT strftime('%H', datetime), count(datetime), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by strftime('%H', datetime)"
|
197
208
|
|
198
|
-
@most_requested_pages = db.execute "SELECT path, count(path), count(distinct(unique_visitor)),
|
209
|
+
@most_requested_pages = db.execute "SELECT path, count(path), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where extension == '.html' and #{@filter} group by path order by count(path) desc limit #{options[:limit]}"
|
199
210
|
|
200
|
-
@most_requested_resources = db.execute "SELECT path, count(path), count(distinct(unique_visitor)),
|
211
|
+
@most_requested_resources = db.execute "SELECT path, count(path), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by path order by count(path) desc limit #{options[:limit]}"
|
201
212
|
|
202
213
|
@missed_pages = db.execute "SELECT path, count(path), count(distinct(unique_visitor)) from LogLine where status == '404' and extension == '.html' and #{@filter} group by path order by count(path) desc limit #{options[:limit]}"
|
203
214
|
|
@@ -219,13 +230,13 @@ module ApacheLogReport
|
|
219
230
|
[x[0], x[1].map { |y| y[1] }].flatten
|
220
231
|
}
|
221
232
|
|
222
|
-
@browsers = db.execute "SELECT browser, count(browser), count(distinct(unique_visitor)),
|
233
|
+
@browsers = db.execute "SELECT browser, count(browser), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by browser order by count(browser) desc"
|
223
234
|
|
224
|
-
@platforms = db.execute "SELECT platform, count(platform), count(distinct(unique_visitor)),
|
235
|
+
@platforms = db.execute "SELECT platform, count(platform), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by platform order by count(platform) desc"
|
225
236
|
|
226
|
-
@ips = db.execute "SELECT ip, count(ip), count(distinct(unique_visitor)),
|
237
|
+
@ips = db.execute "SELECT ip, count(ip), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by ip order by count(ip) desc limit #{options[:limit]}"
|
227
238
|
|
228
|
-
@referers = db.execute "SELECT referer, count(referer), count(distinct(unique_visitor)),
|
239
|
+
@referers = db.execute "SELECT referer, count(referer), count(distinct(unique_visitor)), #{human_readable_size} from LogLine where #{@filter} group by referer order by count(referer) desc limit #{options[:limit]}"
|
229
240
|
end
|
230
241
|
|
231
242
|
|
@@ -263,7 +274,7 @@ module ApacheLogReport
|
|
263
274
|
|
264
275
|
| Hits | #{"%10d" % @total_hits[0][0]} |
|
265
276
|
| Unique Visitors | #{"%10d" % @total_unique_visitors[0][0] } |
|
266
|
-
| Tx | #{"%
|
277
|
+
| Tx | #{"%10s" % @total_size[0][0]} |
|
267
278
|
| Days | #{"%10d" % @total_days[0][0] } |
|
268
279
|
|
269
280
|
* Daily Distribution
|