mongobile 0.1.0 → 0.1.1
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/VERSION +1 -1
- data/lib/mongobile/app.rb +4 -0
- data/lib/mongobile/mongo_helper.rb +37 -1
- data/lib/mongobile/views/database/collection.haml +1 -1
- data/lib/mongobile/views/index.haml +2 -0
- data/lib/mongobile/views/status.haml +75 -0
- data/lib/mongobile.rb +2 -0
- data/mongobile.gemspec +3 -2
- metadata +5 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.1
|
data/lib/mongobile/app.rb
CHANGED
@@ -63,5 +63,41 @@ module Mongobile
|
|
63
63
|
end
|
64
64
|
r
|
65
65
|
end
|
66
|
+
|
67
|
+
def server_status
|
68
|
+
db("test").command(:serverStatus => 1)
|
69
|
+
end
|
70
|
+
|
71
|
+
def ops_per_second
|
72
|
+
counters = []
|
73
|
+
time_list = []
|
74
|
+
delays = []
|
75
|
+
|
76
|
+
4.times do
|
77
|
+
delays << Benchmark.realtime do
|
78
|
+
counters << server_status["opcounters"]
|
79
|
+
end
|
80
|
+
time_list << Time.now
|
81
|
+
|
82
|
+
sleep 1
|
83
|
+
end
|
84
|
+
|
85
|
+
ops_average = {"query" => 0, "insert" => 0, "command" => 0, "update" => 0, "getmore" => 0, "delete" => 0}
|
86
|
+
time_average = 0
|
87
|
+
1.upto(counters.size-1) do |index|
|
88
|
+
ops_average.keys.each do |k|
|
89
|
+
ops_average[k] += (counters[index][k] - counters[index-1][k])
|
90
|
+
end
|
91
|
+
time_average += (time_list[index] - time_list[index-1]) - delays[index]
|
92
|
+
end
|
93
|
+
|
94
|
+
time_average /= counters.size
|
95
|
+
|
96
|
+
ops_average.each do |k,v|
|
97
|
+
ops_average[k] = ((ops_average[k] / counters.size)/time_average).round
|
98
|
+
end
|
99
|
+
|
100
|
+
ops_average
|
101
|
+
end
|
66
102
|
end
|
67
|
-
end
|
103
|
+
end
|
@@ -26,7 +26,7 @@
|
|
26
26
|
-count+=1
|
27
27
|
%div(data-role="collapsible" data-collapsed=true)
|
28
28
|
%h1
|
29
|
-
&= document["_id"] +"
|
29
|
+
&= document["_id"] +"#{humanize(document["name"] || document["title"] || document["description"])}"
|
30
30
|
-document.each do |k,v|
|
31
31
|
%b
|
32
32
|
&="#{k}="
|
@@ -0,0 +1,75 @@
|
|
1
|
+
-status = server_status
|
2
|
+
-background_flushing = status.delete("backgroundFlushing")
|
3
|
+
-global_lock = status.delete("globalLock")
|
4
|
+
-network = status.delete("network")
|
5
|
+
-mem = status.delete("mem")
|
6
|
+
-ops = status.delete("opcounters")
|
7
|
+
|
8
|
+
%div(data-role="page")
|
9
|
+
%div(data-role="header")
|
10
|
+
%h1
|
11
|
+
Server Status
|
12
|
+
%div(data-role="content")
|
13
|
+
%div(data-role="collapsible" data-collapsed=true)
|
14
|
+
%h1
|
15
|
+
Server Status
|
16
|
+
-normalize_stats(status).each do |k,v|
|
17
|
+
%b
|
18
|
+
&="#{k}="
|
19
|
+
&=humanize v
|
20
|
+
%br
|
21
|
+
|
22
|
+
%div(data-role="collapsible" data-collapsed=true)
|
23
|
+
%h1
|
24
|
+
Operations Per Second
|
25
|
+
-ops_per_second.each do |k, v|
|
26
|
+
%b
|
27
|
+
&="#{k}="
|
28
|
+
&=humanize v
|
29
|
+
%br
|
30
|
+
|
31
|
+
%div(data-role="collapsible" data-collapsed=true)
|
32
|
+
%h1
|
33
|
+
Background Flushing
|
34
|
+
-normalize_stats(background_flushing).each do |k,v|
|
35
|
+
%b
|
36
|
+
&="#{k}="
|
37
|
+
&=humanize v
|
38
|
+
%br
|
39
|
+
|
40
|
+
%div(data-role="collapsible" data-collapsed=true)
|
41
|
+
%h1
|
42
|
+
Global Lock
|
43
|
+
-normalize_stats(global_lock).each do |k,v|
|
44
|
+
%b
|
45
|
+
&="#{k}="
|
46
|
+
&=humanize v
|
47
|
+
%br
|
48
|
+
%div(data-role="collapsible" data-collapsed=true)
|
49
|
+
%h1
|
50
|
+
Network
|
51
|
+
-normalize_stats(network).each do |k,v|
|
52
|
+
%b
|
53
|
+
&="#{k}="
|
54
|
+
&=humanize v
|
55
|
+
%br
|
56
|
+
%div(data-role="collapsible" data-collapsed=true)
|
57
|
+
%h1
|
58
|
+
Memory
|
59
|
+
-normalize_stats(mem).each do |k,v|
|
60
|
+
%b
|
61
|
+
&="#{k}="
|
62
|
+
&=humanize v
|
63
|
+
%br
|
64
|
+
|
65
|
+
%div(data-role="collapsible" data-collapsed=true)
|
66
|
+
%h1
|
67
|
+
Operations
|
68
|
+
-normalize_stats(ops).each do |k,v|
|
69
|
+
%b
|
70
|
+
&="#{k}="
|
71
|
+
&=humanize v
|
72
|
+
%br
|
73
|
+
|
74
|
+
|
75
|
+
%div(data-role="footer")
|
data/lib/mongobile.rb
CHANGED
data/mongobile.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{mongobile}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David A. Cuadrado"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-22}
|
13
13
|
s.default_executable = %q{mongobile}
|
14
14
|
s.description = %q{admin ui for mongodb based on jquery mobile}
|
15
15
|
s.email = %q{krawek@gmail.com}
|
@@ -36,6 +36,7 @@ Gem::Specification.new do |s|
|
|
36
36
|
"lib/mongobile/views/database/show.haml",
|
37
37
|
"lib/mongobile/views/index.haml",
|
38
38
|
"lib/mongobile/views/layout.haml",
|
39
|
+
"lib/mongobile/views/status.haml",
|
39
40
|
"mongobile.gemspec",
|
40
41
|
"public/javascripts/application.js",
|
41
42
|
"public/javascripts/jquery.mobile-1.0a3pre.min.js",
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mongobile
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 25
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 0.1.
|
9
|
+
- 1
|
10
|
+
version: 0.1.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- David A. Cuadrado
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2010-12-
|
18
|
+
date: 2010-12-22 00:00:00 -05:00
|
19
19
|
default_executable: mongobile
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -201,6 +201,7 @@ files:
|
|
201
201
|
- lib/mongobile/views/database/show.haml
|
202
202
|
- lib/mongobile/views/index.haml
|
203
203
|
- lib/mongobile/views/layout.haml
|
204
|
+
- lib/mongobile/views/status.haml
|
204
205
|
- mongobile.gemspec
|
205
206
|
- public/javascripts/application.js
|
206
207
|
- public/javascripts/jquery.mobile-1.0a3pre.min.js
|