picky-statistics 4.5.1 → 4.5.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.
- data/lib/picky-statistics/application/app.rb +1 -1
- data/lib/picky-statistics/application/javascripts/statistics.js +13 -14
- data/lib/picky-statistics/application/stylesheets/statistics.css +1 -4
- data/lib/picky-statistics/application/views/index.haml +12 -3
- data/lib/picky-statistics/logfile_reader.rb +3 -3
- metadata +5 -5
@@ -21,7 +21,7 @@ Stats = LogfileReader.new log_file
|
|
21
21
|
class PickyStatistics < Sinatra::Base
|
22
22
|
|
23
23
|
set :static, true
|
24
|
-
set :
|
24
|
+
set :public_folder, File.expand_path('.', Dir.pwd)
|
25
25
|
set :views, File.expand_path('views', Dir.pwd)
|
26
26
|
set :haml, { :format => :html5 }
|
27
27
|
|
@@ -51,7 +51,6 @@ var allocationsScale = d3.scale.linear()
|
|
51
51
|
.domain([0, 0])
|
52
52
|
.rangeRound(chartWidth);
|
53
53
|
|
54
|
-
|
55
54
|
var offsetScale = d3.scale.linear()
|
56
55
|
.domain([0, 0])
|
57
56
|
.rangeRound(chartWidth);
|
@@ -125,10 +124,10 @@ function renderAll() {
|
|
125
124
|
|
126
125
|
// Render the total.
|
127
126
|
//
|
128
|
-
d3.selectAll("
|
127
|
+
d3.selectAll("aside.totals .total")
|
129
128
|
.text(formatNumber(search.size()));
|
130
129
|
|
131
|
-
d3.
|
130
|
+
d3.selectAll("aside.totals .active").text(formatNumber(all.value()));
|
132
131
|
}
|
133
132
|
|
134
133
|
// Like d3.time.format, but faster.
|
@@ -156,12 +155,13 @@ window.reset = function(i) {
|
|
156
155
|
|
157
156
|
var intervalUpdating = false;
|
158
157
|
|
159
|
-
function updateStatistics(reloadAll) {
|
158
|
+
function updateStatistics(reloadAll, seconds) {
|
160
159
|
path = reloadAll ? 'index.json' : 'since_last.json';
|
161
160
|
|
162
|
-
showNotice();
|
161
|
+
if (!seconds || seconds >= 30) { showNotice(); }
|
162
|
+
|
163
163
|
d3.json(path, function(searches) {
|
164
|
-
if (searches.length == 0) { return; }
|
164
|
+
if (!searches || searches.length == 0) { return; }
|
165
165
|
|
166
166
|
var totalMin = 1000000; // Highest minimum set to sane number.
|
167
167
|
var totalMax = 0;
|
@@ -193,24 +193,23 @@ function updateStatistics(reloadAll) {
|
|
193
193
|
if (durationMax < d.duration) { durationMax = d.duration; }
|
194
194
|
});
|
195
195
|
|
196
|
-
// console.log([totalMin, totalMax]);
|
197
|
-
|
198
196
|
// Set scales.
|
199
197
|
//
|
200
198
|
var totalDomain = totalScale.domain();
|
201
|
-
totalScale.domain([d3.min([totalMin, totalDomain[0]])*0.9, d3.max([totalMax, totalDomain[1]])
|
199
|
+
totalScale.domain([d3.min([totalMin, totalDomain[0]])*0.9, d3.max([totalMax, totalDomain[1]])]);
|
202
200
|
var allocationsDomain = allocationsScale.domain();
|
203
|
-
allocationsScale.domain([d3.min([allocationsMin, allocationsDomain[0]])*0.9, d3.max([allocationsMax, allocationsDomain[1]])
|
201
|
+
allocationsScale.domain([d3.min([allocationsMin, allocationsDomain[0]])*0.9, d3.max([allocationsMax, allocationsDomain[1]])]);
|
204
202
|
var offsetDomain = offsetScale.domain();
|
205
|
-
offsetScale.domain([d3.min([offsetMin, offsetDomain[0]])*0.9, d3.max([offsetMax, offsetDomain[1]])
|
203
|
+
offsetScale.domain([d3.min([offsetMin, offsetDomain[0]])*0.9, d3.max([offsetMax, offsetDomain[1]])]);
|
206
204
|
var durationDomain = durationScale.domain();
|
207
|
-
durationScale.domain([d3.min([durationMin, durationDomain[0]])*0.9, d3.max([durationMax, durationDomain[1]])
|
205
|
+
durationScale.domain([d3.min([durationMin, durationDomain[0]])*0.9, d3.max([durationMax, durationDomain[1]])]);
|
208
206
|
|
209
207
|
search.add(searches);
|
210
208
|
|
211
209
|
renderAll();
|
210
|
+
|
211
|
+
if (!seconds || seconds >= 30) { hideNotice(); }
|
212
212
|
});
|
213
|
-
hideNotice();
|
214
213
|
};
|
215
214
|
|
216
215
|
var periodicalUpdaterId;
|
@@ -218,7 +217,7 @@ var periodicalUpdaterId;
|
|
218
217
|
function updateStatisticsPeriodically(seconds) {
|
219
218
|
clearInterval(periodicalUpdaterId);
|
220
219
|
periodicalUpdaterId = setInterval(function() {
|
221
|
-
updateStatistics();
|
220
|
+
updateStatistics(false, seconds);
|
222
221
|
}, 1000*seconds);
|
223
222
|
intervalUpdating = true;
|
224
223
|
};
|
@@ -48,9 +48,6 @@ input {
|
|
48
48
|
height: 4em;
|
49
49
|
margin: -2em 0px 0px -5em;
|
50
50
|
}
|
51
|
-
#notice.show {
|
52
|
-
display: block;
|
53
|
-
}
|
54
51
|
|
55
52
|
.actions {
|
56
53
|
padding: 5px;
|
@@ -171,6 +168,6 @@ span#active, span#total {
|
|
171
168
|
color: green;
|
172
169
|
}
|
173
170
|
|
174
|
-
aside {
|
171
|
+
aside.totals {
|
175
172
|
float: right;
|
176
173
|
}
|
@@ -8,6 +8,13 @@
|
|
8
8
|
%script{ :src => 'javascripts/statistics.js', :type => 'text/javascript' }
|
9
9
|
|
10
10
|
%body{ :onload => "document.getElementsByTagName('input')[0].click(); updateStatistics(true);" }
|
11
|
+
%aside.totals
|
12
|
+
%span.active
|
13
|
+
-
|
14
|
+
of
|
15
|
+
%span.total
|
16
|
+
-
|
17
|
+
searches selected.
|
11
18
|
%h1 Clam: Picky Statistics Interface.
|
12
19
|
.actions
|
13
20
|
%button{ :href => '#', :onclick => 'javascript:updateStatistics();' } Update now
|
@@ -15,6 +22,8 @@
|
|
15
22
|
|
|
16
23
|
%input{ :id => 'updateStop', :type => "radio", :name => "updating", :onclick => 'javascript:stopUpdatingStatistics();' }
|
17
24
|
%label{ :for => 'updateStop' } Don't update
|
25
|
+
%input{ :id => 'update1', :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(1);' }
|
26
|
+
%label{ :for => 'update1' } Every second
|
18
27
|
%input{ :id => 'update3', :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(3);' }
|
19
28
|
%label{ :for => 'update3' } Every 3 seconds
|
20
29
|
%input{ :id => 'update10', :type => "radio", :name => "updating", :onclick => 'javascript:updateStatisticsPeriodically(10);' }
|
@@ -39,11 +48,11 @@
|
|
39
48
|
#duration-chart.chart
|
40
49
|
%h2.title Duration
|
41
50
|
|
42
|
-
%aside
|
43
|
-
%span
|
51
|
+
%aside.totals
|
52
|
+
%span.active
|
44
53
|
-
|
45
54
|
of
|
46
|
-
%span
|
55
|
+
%span.total
|
47
56
|
-
|
48
57
|
searches selected.
|
49
58
|
|
@@ -28,8 +28,8 @@ class LogfileReader
|
|
28
28
|
@last_offset = 0
|
29
29
|
end
|
30
30
|
|
31
|
-
def since log_offset =
|
32
|
-
@last_offset
|
31
|
+
def since log_offset = nil
|
32
|
+
@last_offset = log_offset || 0
|
33
33
|
|
34
34
|
start_time = Time.now
|
35
35
|
|
@@ -42,7 +42,7 @@ class LogfileReader
|
|
42
42
|
File.open(statistics, 'r') do |file|
|
43
43
|
while line = file.gets
|
44
44
|
next if line =~ /\A\s*\#/
|
45
|
-
results << process(line)
|
45
|
+
results << process(line) rescue nil
|
46
46
|
end
|
47
47
|
end
|
48
48
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: picky-statistics
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.5.
|
4
|
+
version: 4.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-07-02 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: sinatra
|
16
|
-
requirement: &
|
16
|
+
requirement: &70341398424060 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '1.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70341398424060
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rspec
|
27
|
-
requirement: &
|
27
|
+
requirement: &70341398437100 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,7 +32,7 @@ dependencies:
|
|
32
32
|
version: 1.3.0
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70341398437100
|
36
36
|
description: Statistics interface for Picky, the fast Ruby search engine.
|
37
37
|
email: florian.hanke+picky-statistics@gmail.com
|
38
38
|
executables: []
|