torquebox-backstage 0.4.3 → 0.5
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.md +6 -1
- data/Rakefile +1 -0
- data/TORQUEBOX_VERSION +1 -0
- data/VERSION +2 -1
- data/backstage.rb +2 -1
- data/lib/caches/models/cache.rb +70 -0
- data/lib/caches/routes.rb +17 -0
- data/lib/caches.rb +18 -0
- data/lib/groups/models/group.rb +45 -0
- data/lib/groups/routes.rb +17 -0
- data/lib/groups.rb +19 -0
- data/lib/helpers.rb +45 -0
- data/views/caches/index.haml +18 -0
- data/views/caches/show.haml +18 -0
- data/views/css/style.sass +18 -0
- data/views/dashboard/index.haml +32 -6
- data/views/groups/index.haml +24 -0
- data/views/groups/show.haml +17 -0
- data/views/layout.haml +2 -1
- metadata +267 -301
data/CHANGELOG.md
CHANGED
@@ -1,6 +1,11 @@
|
|
1
|
+
* 0.5 - 2011-07-28
|
2
|
+
* Added Cluster Properties to dashboard (from Penumbra)
|
3
|
+
* Added Infinispan cache links to dashboard (from Penumbra)
|
4
|
+
* Added Caches tab view (from Penumbra)
|
5
|
+
|
1
6
|
* 0.4.3 - 2011-07-14
|
2
7
|
* Updated to use TorqueBox 1.1 gems
|
3
|
-
|
8
|
+
|
4
9
|
* 0.4.2 - 2011-06-20
|
5
10
|
* Locked gemspec gem versions to match Gemfile.lock versions (issue #5)
|
6
11
|
* Restored Rakefile to repo
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'torquebox-rake-support'
|
data/TORQUEBOX_VERSION
CHANGED
data/VERSION
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
0.
|
1
|
+
0.5
|
2
|
+
|
data/backstage.rb
CHANGED
@@ -36,7 +36,8 @@ require 'message_processors'
|
|
36
36
|
require 'jobs'
|
37
37
|
require 'logs'
|
38
38
|
require 'services'
|
39
|
-
|
39
|
+
require 'caches'
|
40
|
+
require 'groups'
|
40
41
|
|
41
42
|
Backstage.logger.warn "ENV['REQUIRE_AUTHENTICATION'] is not set, *disabling* authentication" unless ENV['REQUIRE_AUTHENTICATION']
|
42
43
|
|
@@ -0,0 +1,70 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
module Backstage
|
18
|
+
class Cache
|
19
|
+
include HasMBean
|
20
|
+
include Resource
|
21
|
+
|
22
|
+
def self.filter
|
23
|
+
"org.infinispan:component=CacheManager,*"
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.to_hash_attributes
|
27
|
+
super + [:name, :cache_manager_status, :created_cache_count, :defined_cache_count, :running_cache_count, :version, :defined_cache_names]
|
28
|
+
end
|
29
|
+
|
30
|
+
# for use with show.haml
|
31
|
+
alias_method :cache_manager_name, :name
|
32
|
+
|
33
|
+
# reformat the defined_cache_names string
|
34
|
+
def cache_names
|
35
|
+
names = {}
|
36
|
+
dcns = self.defined_cache_names.sub('[', '')
|
37
|
+
|
38
|
+
list = dcns.split(')')
|
39
|
+
list.each do |cache_name|
|
40
|
+
unless cache_name == "]"
|
41
|
+
if cache_name.include? "(not created"
|
42
|
+
names.store(cache_name.sub("(not created", ""), "not created")
|
43
|
+
else
|
44
|
+
names.store(cache_name.sub("(created", ""), "created")
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
names
|
50
|
+
end
|
51
|
+
|
52
|
+
def rpc_caches
|
53
|
+
rpc = JMX::MBeanServer.new
|
54
|
+
manager = self.name
|
55
|
+
rpc_caches = [] # JMX::MBeans::Org::Infinispan::Remoting::Rpc::RpcManagerImpl
|
56
|
+
|
57
|
+
# find the name of the cluster connection control
|
58
|
+
filter_str = 'org.infinispan:component=RpcManager,manager="' + manager + '",*'
|
59
|
+
|
60
|
+
rpc.query_names( filter_str ).collect do |name|
|
61
|
+
data = name.to_s.split(',')
|
62
|
+
cache_name = data[1].sub('name=', '')
|
63
|
+
|
64
|
+
rpc_caches << [ cache_name, JMX::MBeanServer.new[ name ] ]
|
65
|
+
end
|
66
|
+
|
67
|
+
rpc_caches
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
Backstage::Application.resource :cache
|
data/lib/caches.rb
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
require 'caches/models/cache'
|
18
|
+
require 'caches/routes'
|
@@ -0,0 +1,45 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
module Backstage
|
18
|
+
class Group
|
19
|
+
include HasMBean
|
20
|
+
include Resource
|
21
|
+
|
22
|
+
def self.filter
|
23
|
+
"jboss.jgroups:cluster=*,type=channel"
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.to_hash_attributes
|
27
|
+
super + [:name, :received_messages, :received_bytes, :connected, :num_messages, :receive_local_msgs, :view, :sent_bytes, :timer_threads, :cluster_name, :receive_blocks, :address, :number_of_tasks_in_timer, :stats, :version, :sent_messages]
|
28
|
+
end
|
29
|
+
|
30
|
+
def protocols
|
31
|
+
mbean = JMX::MBeanServer.new
|
32
|
+
cluster = self.cluster_name
|
33
|
+
protocols = []
|
34
|
+
|
35
|
+
# find the protocols used by 'cluster'
|
36
|
+
filter_str = 'jboss.jgroups:cluster=' + cluster + ',protocol=*,*'
|
37
|
+
|
38
|
+
mbean.query_names( filter_str ).collect do |name|
|
39
|
+
protocols << JMX::MBeanServer.new[ name ]
|
40
|
+
end
|
41
|
+
|
42
|
+
protocols
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
Backstage::Application.resource :group
|
data/lib/groups.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
#
|
2
|
+
# Copyright 2011 Red Hat, Inc.
|
3
|
+
#
|
4
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
5
|
+
# you may not use this file except in compliance with the License.
|
6
|
+
# You may obtain a copy of the License at
|
7
|
+
#
|
8
|
+
# http://www.apache.org/licenses/LICENSE-2.0
|
9
|
+
#
|
10
|
+
# Unless required by applicable law or agreed to in writing, software
|
11
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
12
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
13
|
+
# See the License for the specific language governing permissions and
|
14
|
+
# limitations under the License.
|
15
|
+
#
|
16
|
+
|
17
|
+
require 'groups/models/group'
|
18
|
+
require 'groups/routes'
|
19
|
+
|
data/lib/helpers.rb
CHANGED
@@ -66,6 +66,7 @@ module Backstage
|
|
66
66
|
paths << collection_or_action if collection_or_action
|
67
67
|
'/' + paths.join( '/' )
|
68
68
|
end
|
69
|
+
|
69
70
|
alias_method :object_action_path, :object_action_or_collection_path
|
70
71
|
alias_method :collection_path, :object_action_or_collection_path
|
71
72
|
|
@@ -216,6 +217,50 @@ module Backstage
|
|
216
217
|
versions << ['Version', jboss.version]
|
217
218
|
versions
|
218
219
|
end
|
220
|
+
|
221
|
+
def infinispan_version_info
|
222
|
+
versions = []
|
223
|
+
infinispan = JMX::MBeanServer.new
|
224
|
+
cm = nil # JMX::MBeans::Org::Infinispan::Manager::DefaultCacheManager
|
225
|
+
|
226
|
+
infinispan.query_names( 'org.infinispan:component=CacheManager,name=*,type=CacheManager' ).collect {|name| cm = JMX::MBeanServer.new[ name ] }
|
227
|
+
|
228
|
+
if cm
|
229
|
+
versions << ['Version', cm.version ]
|
230
|
+
else
|
231
|
+
versions << ['Version', 'disabled']
|
232
|
+
end
|
233
|
+
versions
|
234
|
+
end
|
235
|
+
|
236
|
+
def hornetq_cluster_info
|
237
|
+
info = []
|
238
|
+
ccc = nil # JMX::MBeans::Org::Hornetq::Core::Management::Impl::ClusterConnectionControlImpl
|
239
|
+
hornetq = JMX::MBeanServer.new
|
240
|
+
|
241
|
+
# find the name of the cluster connection control
|
242
|
+
hornetq.query_names( 'org.hornetq:module=Core,name=*,type=ClusterConnection,*' ).collect {|name| ccc = JMX::MBeanServer.new[ name ] }
|
243
|
+
|
244
|
+
if ccc
|
245
|
+
ccc.attributes.each do |attr|
|
246
|
+
info << [ attr, ccc[attr] ] unless ((attr == "StaticConnectorNamePairs") || (attr == "StaticConnectorNamePairsAsJSON"))
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
if info.size == 0
|
251
|
+
info << ['Cluster', 'disabled']
|
252
|
+
end
|
253
|
+
info
|
254
|
+
end
|
255
|
+
|
256
|
+
#def jgroups_cluster_channels
|
257
|
+
# mux_channels = []
|
258
|
+
# jgroups = JMX::MBeanServer.new
|
259
|
+
|
260
|
+
# find the name of the jgroups channels
|
261
|
+
# jgroups.query_names( 'jboss.jgroups:cluster=*,type=channel' ).collect {|name| mux_channels << JMX::MBeanServer.new[ name ] }
|
262
|
+
# mux_channels
|
263
|
+
#end
|
219
264
|
end
|
220
265
|
end
|
221
266
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#caches-index
|
2
|
+
%table
|
3
|
+
%tr
|
4
|
+
%th Name
|
5
|
+
%th Status
|
6
|
+
%th Created
|
7
|
+
%th Defined
|
8
|
+
%th Running
|
9
|
+
%th Version
|
10
|
+
%th
|
11
|
+
- @collection.each do |cache|
|
12
|
+
%tr
|
13
|
+
%td= link_to( object_path( cache ), cache.name )
|
14
|
+
%td= cache.cache_manager_status.downcase
|
15
|
+
%td= cache.created_cache_count
|
16
|
+
%td= cache.defined_cache_count
|
17
|
+
%td= cache.running_cache_count
|
18
|
+
%td= cache.version
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#caches-show
|
2
|
+
%h2
|
3
|
+
== Infinispan Cache: #{@object.name}
|
4
|
+
|
5
|
+
%table.data-table
|
6
|
+
- %w{ cache_manager_name cache_manager_status created_cache_count defined_cache_count running_cache_count version cache_names }.each do |method|
|
7
|
+
= data_row( method.humanize, @object.send( method ) )
|
8
|
+
|
9
|
+
- @object.rpc_caches.each do |cache_name, rpc_cache|
|
10
|
+
%h3== RPC Cache: #{cache_name}
|
11
|
+
.rpc-cache
|
12
|
+
%table.data-table
|
13
|
+
.element
|
14
|
+
- rpc_cache.attributes.each do |attr|
|
15
|
+
= data_row( attr, rpc_cache[ attr ] )
|
16
|
+
|
17
|
+
.controls
|
18
|
+
= link_to collection_path( :caches ), '<< Back'
|
data/views/css/style.sass
CHANGED
@@ -149,6 +149,20 @@ th
|
|
149
149
|
position: absolute
|
150
150
|
top: 1px
|
151
151
|
|
152
|
+
#groups-show
|
153
|
+
h3
|
154
|
+
font-weight: bold
|
155
|
+
margin: 10px 0
|
156
|
+
.protocol
|
157
|
+
padding-left: 10px
|
158
|
+
|
159
|
+
#caches-show
|
160
|
+
h3
|
161
|
+
font-weight: bold
|
162
|
+
margin: 10px 0
|
163
|
+
.rpc-cache
|
164
|
+
padding-left: 10px
|
165
|
+
|
152
166
|
#dashboard
|
153
167
|
@include clearfix
|
154
168
|
#left_column, #right_column
|
@@ -195,4 +209,8 @@ th
|
|
195
209
|
@include selected-tab('service', 'services')
|
196
210
|
@include selected-tab('pools')
|
197
211
|
@include selected-tab('pool', 'pools')
|
212
|
+
@include selected-tab('caches')
|
213
|
+
@include selected-tab('cache', 'caches')
|
214
|
+
@include selected-tab('groups')
|
215
|
+
@include selected-tab('group', 'groups')
|
198
216
|
|
data/views/dashboard/index.haml
CHANGED
@@ -22,18 +22,48 @@
|
|
22
22
|
- jboss_version_info.each do |key, value|
|
23
23
|
- unless value.blank?
|
24
24
|
%li== #{key}: #{value}
|
25
|
-
%li
|
25
|
+
%li
|
26
26
|
HornetQ:
|
27
27
|
%ul
|
28
28
|
- hornetq_version_info.each do |key, value|
|
29
29
|
- unless value.blank?
|
30
30
|
%li== #{key}: #{value}
|
31
|
+
%li
|
32
|
+
Infinispan:
|
33
|
+
%ul
|
34
|
+
- infinispan_version_info.each do |key, value|
|
35
|
+
- unless value.blank?
|
36
|
+
%li== #{key}: #{value}
|
31
37
|
/
|
32
38
|
%li
|
33
|
-
Quartz:
|
39
|
+
Quartz:
|
34
40
|
%ul
|
35
41
|
%li== Version: ???
|
36
42
|
|
43
|
+
#cluster_properties.list
|
44
|
+
%h3 HornetQ Cluster
|
45
|
+
.element
|
46
|
+
%ul
|
47
|
+
- hornetq_cluster_info.each do |key, value|
|
48
|
+
%li== #{key}: #{value}
|
49
|
+
|
50
|
+
#caches.list
|
51
|
+
%h3 Infinispan Caches
|
52
|
+
.actions
|
53
|
+
= link_to( collection_path( :caches ), 'View All Caches' )
|
54
|
+
- Backstage::Cache.all.each do |cache|
|
55
|
+
.element
|
56
|
+
= link_to object_path( cache ), "#{cache.name}"
|
57
|
+
|
58
|
+
#groups.list
|
59
|
+
%h3 JGroups
|
60
|
+
.actions
|
61
|
+
= link_to( collection_path( :groups ), 'View All Groups' )
|
62
|
+
- Backstage::Group.all.each do |group|
|
63
|
+
.element
|
64
|
+
= link_to object_path( group ), "#{group.cluster_name}"
|
65
|
+
|
66
|
+
#right_column
|
37
67
|
#apps.list
|
38
68
|
%h3 Apps
|
39
69
|
.actions
|
@@ -58,7 +88,6 @@
|
|
58
88
|
.element
|
59
89
|
= link_to object_path( topic ), "#{topic.display_name} - #{topic.app_name}"
|
60
90
|
|
61
|
-
#right_column
|
62
91
|
#message_processors.list
|
63
92
|
%h3 Message Processors
|
64
93
|
.actions
|
@@ -91,6 +120,3 @@
|
|
91
120
|
.element
|
92
121
|
= link_to object_path( pool ), "#{pool.name} - #{pool.app_name}"
|
93
122
|
|
94
|
-
|
95
|
-
|
96
|
-
|
@@ -0,0 +1,24 @@
|
|
1
|
+
#groups-index
|
2
|
+
%table
|
3
|
+
%tr
|
4
|
+
%th ClusterName
|
5
|
+
%th ReceivedMessages
|
6
|
+
%th ReceivedBytes
|
7
|
+
%th Open
|
8
|
+
%th Connected
|
9
|
+
%th Address
|
10
|
+
%th NumMessages
|
11
|
+
%th ReceiveLocalMsgs
|
12
|
+
%th View
|
13
|
+
%th
|
14
|
+
- @collection.each do |group|
|
15
|
+
%tr
|
16
|
+
%td= link_to( object_path( group ), group.cluster_name )
|
17
|
+
%td= group.received_messages
|
18
|
+
%td= group.received_bytes
|
19
|
+
%td= group.open
|
20
|
+
%td= group.connected
|
21
|
+
%td= group.address
|
22
|
+
%td= group.num_messages
|
23
|
+
%td= group.receive_local_msgs
|
24
|
+
%td= group.view
|
@@ -0,0 +1,17 @@
|
|
1
|
+
#groups-show
|
2
|
+
%h2
|
3
|
+
== JGroups: #{@object.cluster_name}
|
4
|
+
|
5
|
+
%table.data-table
|
6
|
+
- %w{ name received_messages received_bytes connected num_messages receive_local_msgs view address sent_bytes sent_messages timer_threads receive_blocks number_of_tasks_in_timer stats version }.each do |method|
|
7
|
+
= data_row( method.humanize, @object.send( method ) )
|
8
|
+
|
9
|
+
- @object.protocols.each do |protocol|
|
10
|
+
%h3== Protocol: #{protocol.name}
|
11
|
+
.protocol
|
12
|
+
%table.data-table
|
13
|
+
- protocol.attributes.each do |attr|
|
14
|
+
= data_row( attr, protocol[attr] )
|
15
|
+
|
16
|
+
.controls
|
17
|
+
= link_to collection_path( :groups ), '<< Back'
|
data/views/layout.haml
CHANGED
@@ -17,7 +17,8 @@
|
|
17
17
|
= link_to collection_path( :jobs ), 'Jobs', :class => 'jobs'
|
18
18
|
= link_to collection_path( :services ), 'Services', :class => 'services'
|
19
19
|
= link_to collection_path( :pools ), 'Runtime Pools', :class => 'pools'
|
20
|
-
|
20
|
+
= link_to collection_path( :caches ), 'Caches', :class => 'caches'
|
21
|
+
= link_to collection_path( :groups ), 'JGroups', :class => 'groups'
|
21
22
|
#content-wrapper
|
22
23
|
- if flash_msg = flash[:notice]
|
23
24
|
#flash
|
metadata
CHANGED
@@ -1,335 +1,301 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: torquebox-backstage
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 4
|
8
|
-
- 3
|
9
|
-
version: 0.4.3
|
4
|
+
prerelease:
|
5
|
+
version: "0.5"
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
|
-
- Tobias Crawley
|
8
|
+
- Tobias Crawley
|
9
|
+
- David Glassborow
|
10
|
+
- Penumbra Shadow
|
13
11
|
autorequire:
|
14
12
|
bindir: bin
|
15
13
|
cert_chain: []
|
16
14
|
|
17
|
-
date: 2011-07-
|
18
|
-
default_executable:
|
15
|
+
date: 2011-07-28 00:00:00 -04:00
|
16
|
+
default_executable:
|
19
17
|
dependencies:
|
20
|
-
- !ruby/object:Gem::Dependency
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
- !ruby/object:Gem::Dependency
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
- !ruby/object:Gem::Dependency
|
186
|
-
name: rack-test
|
187
|
-
prerelease: false
|
188
|
-
requirement: &id013 !ruby/object:Gem::Requirement
|
189
|
-
requirements:
|
190
|
-
- - ~>
|
191
|
-
- !ruby/object:Gem::Version
|
192
|
-
segments:
|
193
|
-
- 0
|
194
|
-
- 6
|
195
|
-
- 0
|
196
|
-
version: 0.6.0
|
197
|
-
type: :development
|
198
|
-
version_requirements: *id013
|
199
|
-
- !ruby/object:Gem::Dependency
|
200
|
-
name: thor
|
201
|
-
prerelease: false
|
202
|
-
requirement: &id014 !ruby/object:Gem::Requirement
|
203
|
-
requirements:
|
204
|
-
- - "="
|
205
|
-
- !ruby/object:Gem::Version
|
206
|
-
segments:
|
207
|
-
- 0
|
208
|
-
- 14
|
209
|
-
- 6
|
210
|
-
version: 0.14.6
|
211
|
-
type: :runtime
|
212
|
-
version_requirements: *id014
|
213
|
-
- !ruby/object:Gem::Dependency
|
214
|
-
name: bundler
|
215
|
-
prerelease: false
|
216
|
-
requirement: &id015 !ruby/object:Gem::Requirement
|
217
|
-
requirements:
|
218
|
-
- - "="
|
219
|
-
- !ruby/object:Gem::Version
|
220
|
-
segments:
|
221
|
-
- 1
|
222
|
-
- 0
|
223
|
-
- 12
|
224
|
-
version: 1.0.12
|
225
|
-
type: :runtime
|
226
|
-
version_requirements: *id015
|
18
|
+
- !ruby/object:Gem::Dependency
|
19
|
+
name: sinatra
|
20
|
+
prerelease: false
|
21
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
22
|
+
none: false
|
23
|
+
requirements:
|
24
|
+
- - "="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.2.6
|
27
|
+
type: :runtime
|
28
|
+
version_requirements: *id001
|
29
|
+
- !ruby/object:Gem::Dependency
|
30
|
+
name: rack-flash
|
31
|
+
prerelease: false
|
32
|
+
requirement: &id002 !ruby/object:Gem::Requirement
|
33
|
+
none: false
|
34
|
+
requirements:
|
35
|
+
- - "="
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: 0.1.1
|
38
|
+
type: :runtime
|
39
|
+
version_requirements: *id002
|
40
|
+
- !ruby/object:Gem::Dependency
|
41
|
+
name: haml
|
42
|
+
prerelease: false
|
43
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
44
|
+
none: false
|
45
|
+
requirements:
|
46
|
+
- - "="
|
47
|
+
- !ruby/object:Gem::Version
|
48
|
+
version: 3.1.1
|
49
|
+
type: :runtime
|
50
|
+
version_requirements: *id003
|
51
|
+
- !ruby/object:Gem::Dependency
|
52
|
+
name: sass
|
53
|
+
prerelease: false
|
54
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
55
|
+
none: false
|
56
|
+
requirements:
|
57
|
+
- - "="
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: 3.1.2
|
60
|
+
type: :runtime
|
61
|
+
version_requirements: *id004
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: tobias-jmx
|
64
|
+
prerelease: false
|
65
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - "="
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: "0.8"
|
71
|
+
type: :runtime
|
72
|
+
version_requirements: *id005
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: json
|
75
|
+
prerelease: false
|
76
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - "="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 1.5.1
|
82
|
+
type: :runtime
|
83
|
+
version_requirements: *id006
|
84
|
+
- !ruby/object:Gem::Dependency
|
85
|
+
name: torquebox
|
86
|
+
prerelease: false
|
87
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
88
|
+
none: false
|
89
|
+
requirements:
|
90
|
+
- - "="
|
91
|
+
- !ruby/object:Gem::Version
|
92
|
+
version: "1.1"
|
93
|
+
type: :runtime
|
94
|
+
version_requirements: *id007
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: tobias-sinatra-url-for
|
97
|
+
prerelease: false
|
98
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
99
|
+
none: false
|
100
|
+
requirements:
|
101
|
+
- - "="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.2.1
|
104
|
+
type: :runtime
|
105
|
+
version_requirements: *id008
|
106
|
+
- !ruby/object:Gem::Dependency
|
107
|
+
name: rack-accept
|
108
|
+
prerelease: false
|
109
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
110
|
+
none: false
|
111
|
+
requirements:
|
112
|
+
- - "="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 0.4.4
|
115
|
+
type: :runtime
|
116
|
+
version_requirements: *id009
|
117
|
+
- !ruby/object:Gem::Dependency
|
118
|
+
name: thor
|
119
|
+
prerelease: false
|
120
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - "="
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: 0.14.6
|
126
|
+
type: :development
|
127
|
+
version_requirements: *id010
|
128
|
+
- !ruby/object:Gem::Dependency
|
129
|
+
name: watchr
|
130
|
+
prerelease: false
|
131
|
+
requirement: &id011 !ruby/object:Gem::Requirement
|
132
|
+
none: false
|
133
|
+
requirements:
|
134
|
+
- - ~>
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: "0.7"
|
137
|
+
type: :development
|
138
|
+
version_requirements: *id011
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: rspec
|
141
|
+
prerelease: false
|
142
|
+
requirement: &id012 !ruby/object:Gem::Requirement
|
143
|
+
none: false
|
144
|
+
requirements:
|
145
|
+
- - ~>
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 2.6.0
|
148
|
+
type: :development
|
149
|
+
version_requirements: *id012
|
150
|
+
- !ruby/object:Gem::Dependency
|
151
|
+
name: rack-test
|
152
|
+
prerelease: false
|
153
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
154
|
+
none: false
|
155
|
+
requirements:
|
156
|
+
- - ~>
|
157
|
+
- !ruby/object:Gem::Version
|
158
|
+
version: 0.6.0
|
159
|
+
type: :development
|
160
|
+
version_requirements: *id013
|
161
|
+
- !ruby/object:Gem::Dependency
|
162
|
+
name: thor
|
163
|
+
prerelease: false
|
164
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
165
|
+
none: false
|
166
|
+
requirements:
|
167
|
+
- - "="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: 0.14.6
|
170
|
+
type: :runtime
|
171
|
+
version_requirements: *id014
|
172
|
+
- !ruby/object:Gem::Dependency
|
173
|
+
name: bundler
|
174
|
+
prerelease: false
|
175
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
176
|
+
none: false
|
177
|
+
requirements:
|
178
|
+
- - "="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: 1.0.12
|
181
|
+
type: :runtime
|
182
|
+
version_requirements: *id015
|
227
183
|
description: BackStage allows you to look behind the TorqueBox curtain, and view information about all of the components you have running. It includes support for remote code execution and log tailing to aid in debugging.
|
228
184
|
email: tcrawley@redhat.com
|
229
185
|
executables:
|
230
|
-
- backstage
|
186
|
+
- backstage
|
231
187
|
extensions: []
|
232
188
|
|
233
189
|
extra_rdoc_files:
|
234
|
-
- README.md
|
235
|
-
- TODO
|
190
|
+
- README.md
|
191
|
+
- TODO
|
236
192
|
files:
|
237
|
-
-
|
238
|
-
-
|
239
|
-
-
|
240
|
-
-
|
241
|
-
-
|
242
|
-
-
|
243
|
-
-
|
244
|
-
-
|
245
|
-
-
|
246
|
-
-
|
247
|
-
-
|
248
|
-
- lib/
|
249
|
-
- lib/
|
250
|
-
- lib/
|
251
|
-
- lib/
|
252
|
-
- lib/
|
253
|
-
- lib/
|
254
|
-
- lib/destinations
|
255
|
-
- lib/
|
256
|
-
- lib/
|
257
|
-
- lib/
|
258
|
-
- lib/
|
259
|
-
- lib/
|
260
|
-
- lib/
|
261
|
-
- lib/jobs
|
262
|
-
- lib/
|
263
|
-
- lib/
|
264
|
-
- lib/logs
|
265
|
-
- lib/
|
266
|
-
- lib/
|
267
|
-
- lib/
|
268
|
-
- lib/
|
269
|
-
- lib/
|
270
|
-
- lib/
|
271
|
-
- lib/
|
272
|
-
- lib/
|
273
|
-
- lib/
|
274
|
-
- lib/
|
275
|
-
- lib/
|
276
|
-
- lib/
|
277
|
-
- lib/
|
278
|
-
- lib/
|
279
|
-
- lib/
|
280
|
-
- lib/
|
281
|
-
-
|
282
|
-
-
|
283
|
-
-
|
284
|
-
-
|
285
|
-
-
|
286
|
-
-
|
287
|
-
-
|
288
|
-
-
|
289
|
-
-
|
290
|
-
-
|
291
|
-
- views/
|
292
|
-
- views/
|
293
|
-
- views/
|
294
|
-
- views/
|
295
|
-
- views/
|
296
|
-
- views/
|
297
|
-
- views/
|
298
|
-
- views/
|
299
|
-
- views/
|
300
|
-
- views/
|
301
|
-
- views/
|
302
|
-
- views/
|
303
|
-
- views/
|
304
|
-
- views/
|
305
|
-
- views/
|
193
|
+
- backstage.rb
|
194
|
+
- config.ru
|
195
|
+
- README.md
|
196
|
+
- Gemfile
|
197
|
+
- TORQUEBOX_VERSION
|
198
|
+
- CHANGELOG.md
|
199
|
+
- TODO
|
200
|
+
- Gemfile.lock
|
201
|
+
- VERSION
|
202
|
+
- Rakefile
|
203
|
+
- config/torquebox.yml
|
204
|
+
- lib/helpers.rb
|
205
|
+
- lib/services.rb
|
206
|
+
- lib/resource.rb
|
207
|
+
- lib/caches.rb
|
208
|
+
- lib/message_processors.rb
|
209
|
+
- lib/resource_helpers.rb
|
210
|
+
- lib/destinations.rb
|
211
|
+
- lib/pools.rb
|
212
|
+
- lib/runtimes.rb
|
213
|
+
- lib/groups.rb
|
214
|
+
- lib/torquebox_managed.rb
|
215
|
+
- lib/apps.rb
|
216
|
+
- lib/authentication.rb
|
217
|
+
- lib/jobs.rb
|
218
|
+
- lib/util.rb
|
219
|
+
- lib/has_mbean.rb
|
220
|
+
- lib/logs.rb
|
221
|
+
- lib/pools/routes.rb
|
222
|
+
- lib/pools/models/pool.rb
|
223
|
+
- lib/logs/routes.rb
|
224
|
+
- lib/logs/models/log.rb
|
225
|
+
- lib/jobs/routes.rb
|
226
|
+
- lib/jobs/models/job.rb
|
227
|
+
- lib/caches/routes.rb
|
228
|
+
- lib/caches/models/cache.rb
|
229
|
+
- lib/message_processors/routes.rb
|
230
|
+
- lib/message_processors/models/message_processor.rb
|
231
|
+
- lib/destinations/routes.rb
|
232
|
+
- lib/destinations/models/message.rb
|
233
|
+
- lib/destinations/models/topic.rb
|
234
|
+
- lib/destinations/models/destination.rb
|
235
|
+
- lib/destinations/models/queue.rb
|
236
|
+
- lib/services/routes.rb
|
237
|
+
- lib/services/models/service.rb
|
238
|
+
- lib/groups/routes.rb
|
239
|
+
- lib/groups/models/group.rb
|
240
|
+
- lib/runtimes/routes.rb
|
241
|
+
- lib/runtimes/models/job.rb
|
242
|
+
- lib/apps/routes.rb
|
243
|
+
- lib/apps/models/app.rb
|
244
|
+
- public/ajax-loader.gif
|
245
|
+
- public/app.js
|
246
|
+
- public/jquery.min.js
|
247
|
+
- views/layout.haml
|
248
|
+
- views/pools/index.haml
|
249
|
+
- views/pools/show.haml
|
250
|
+
- views/messages/properties.haml
|
251
|
+
- views/messages/index.haml
|
252
|
+
- views/messages/show.haml
|
253
|
+
- views/logs/index.haml
|
254
|
+
- views/logs/show.haml
|
255
|
+
- views/css/style.sass
|
256
|
+
- views/css/_mixins.sass
|
257
|
+
- views/css/html5reset.sass
|
258
|
+
- views/jobs/index.haml
|
259
|
+
- views/jobs/show.haml
|
260
|
+
- views/caches/index.haml
|
261
|
+
- views/caches/show.haml
|
262
|
+
- views/message_processors/index.haml
|
263
|
+
- views/message_processors/show.haml
|
264
|
+
- views/destinations/index.haml
|
265
|
+
- views/destinations/show.haml
|
266
|
+
- views/services/index.haml
|
267
|
+
- views/services/show.haml
|
268
|
+
- views/groups/index.haml
|
269
|
+
- views/groups/show.haml
|
270
|
+
- views/apps/index.haml
|
271
|
+
- views/apps/show.haml
|
272
|
+
- views/dashboard/index.haml
|
273
|
+
- bin/backstage
|
306
274
|
has_rdoc: true
|
307
275
|
homepage: http://github.com/torquebox/backstage
|
308
276
|
licenses:
|
309
|
-
-
|
277
|
+
- AL
|
310
278
|
post_install_message:
|
311
279
|
rdoc_options: []
|
312
280
|
|
313
281
|
require_paths:
|
314
|
-
- lib
|
282
|
+
- lib
|
315
283
|
required_ruby_version: !ruby/object:Gem::Requirement
|
284
|
+
none: false
|
316
285
|
requirements:
|
317
|
-
|
318
|
-
|
319
|
-
|
320
|
-
- 0
|
321
|
-
version: "0"
|
286
|
+
- - ">="
|
287
|
+
- !ruby/object:Gem::Version
|
288
|
+
version: "0"
|
322
289
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
290
|
+
none: false
|
323
291
|
requirements:
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
- 0
|
328
|
-
version: "0"
|
292
|
+
- - ">="
|
293
|
+
- !ruby/object:Gem::Version
|
294
|
+
version: "0"
|
329
295
|
requirements: []
|
330
296
|
|
331
297
|
rubyforge_project:
|
332
|
-
rubygems_version: 1.
|
298
|
+
rubygems_version: 1.5.1
|
333
299
|
signing_key:
|
334
300
|
specification_version: 3
|
335
301
|
summary: BackStage - Queue/Topic/Job/etc viewer for TorqueBox
|