rboss 0.5.1 → 0.5.2
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -2
- data/bin/twiddle +35 -17
- data/lib/rboss/bin/command_actions.rb +28 -24
- data/lib/rboss/jboss_profile.rb +6 -7
- data/lib/rboss/table_builder.rb +35 -128
- data/lib/rboss/twiddle/monitor.rb +22 -39
- data/lib/rboss/version.rb +1 -1
- metadata +2 -2
data/Gemfile
CHANGED
data/bin/twiddle
CHANGED
@@ -27,10 +27,11 @@ require 'optparse'
|
|
27
27
|
require 'logger'
|
28
28
|
require 'yaml'
|
29
29
|
require 'fileutils'
|
30
|
+
require 'yummi'
|
30
31
|
|
31
32
|
params = {}
|
32
|
-
mbeans = {}
|
33
|
-
commands = {}
|
33
|
+
@mbeans = {}
|
34
|
+
@commands = {}
|
34
35
|
no_details = false
|
35
36
|
@conf_dir = File.expand_path "~/.rboss"
|
36
37
|
servers_file = "#{@conf_dir}/twiddle.yaml"
|
@@ -69,13 +70,16 @@ end
|
|
69
70
|
opts.on('--save SERVER_NAME', "Saves the server configuration in #{servers_file}") do |server|
|
70
71
|
save = server
|
71
72
|
end
|
72
|
-
|
73
|
+
opts.on('--loop INTERVAL', Float, 'Runs the mbean inside a loop') do |interval|
|
74
|
+
@loop = true
|
75
|
+
@interval = interval
|
76
|
+
end
|
73
77
|
opts.on('--all', "Detail all mapped mbeans") do
|
74
78
|
defaults.each do |mbean_id, mbean|
|
75
79
|
if mbean[:scan]
|
76
|
-
mbeans[mbean_id] = :all
|
80
|
+
@mbeans[mbean_id] = :all
|
77
81
|
elsif mbean[:properties]
|
78
|
-
mbeans[mbean_id] = true
|
82
|
+
@mbeans[mbean_id] = true
|
79
83
|
end
|
80
84
|
end
|
81
85
|
end
|
@@ -85,34 +89,34 @@ end
|
|
85
89
|
if mbean[:scan]
|
86
90
|
opts.on("--#{command} [name_a,name_b,...]", Array,
|
87
91
|
"Detail \"#{mbean[:description]}\" based on the given names (no names for scan)") do |names|
|
88
|
-
mbeans[mbean_id] = names || :all
|
92
|
+
@mbeans[mbean_id] = names || :all
|
89
93
|
end
|
90
94
|
elsif mbean[:properties]
|
91
95
|
opts.on("--#{command}", "Detail \"#{mbean[:description]}\"") do
|
92
|
-
mbeans[mbean_id] = true
|
96
|
+
@mbeans[mbean_id] = true
|
93
97
|
end
|
94
98
|
end
|
95
99
|
end
|
96
100
|
|
97
101
|
opts.on('--set mbean_id[:resource_name],property,value', Array,
|
98
102
|
'Sets a value to a resource that the monitor knows') do |set|
|
99
|
-
commands[:set] = set
|
103
|
+
@commands[:set] = set
|
100
104
|
end
|
101
105
|
opts.on('--get mbean_id[:resource_name],property', Array,
|
102
106
|
'Gets a value to a resource that the monitor knows') do |get|
|
103
|
-
commands[:get] = get
|
107
|
+
@commands[:get] = get
|
104
108
|
end
|
105
109
|
opts.on('--query mbean_id[:resource_name],[arguments]', Array,
|
106
110
|
'Queries the mbean') do |query|
|
107
|
-
commands[:query] = query
|
111
|
+
@commands[:query] = query
|
108
112
|
end
|
109
113
|
opts.on('--info mbean_id[:resource_name],[arguments]', Array,
|
110
114
|
'List mbean info') do |info|
|
111
|
-
commands[:info] = info
|
115
|
+
@commands[:info] = info
|
112
116
|
end
|
113
117
|
opts.on('--invoke mbean_id[:resource_name],method,[,args...]', Array,
|
114
118
|
'Invokes a resoruce method') do |invoke|
|
115
|
-
commands[:invoke] = invoke
|
119
|
+
@commands[:invoke] = invoke
|
116
120
|
end
|
117
121
|
opts.on("-l", "--list", "List the mbeans mappings") do
|
118
122
|
(defaults.sort_by { |k, v| k }).each do |mbean_id, mbean|
|
@@ -127,6 +131,9 @@ end
|
|
127
131
|
opts.on('--no-detail', 'Do not detail mbeans that needs a name') do
|
128
132
|
no_details = true
|
129
133
|
end
|
134
|
+
opts.on('--no-color', 'Do not colorize output') do
|
135
|
+
require 'yummi/no_colors'
|
136
|
+
end
|
130
137
|
opts.on('-u', '--user USER', 'Defines the JMX User') do |user|
|
131
138
|
params[:user] = user
|
132
139
|
end
|
@@ -134,7 +141,7 @@ opts.on('-p', '--password PASSWORD', 'Defines the JMX Password') do |password|
|
|
134
141
|
params[:password] = password
|
135
142
|
end
|
136
143
|
opts.on('-n COMMAND', '--native COMMAND', 'Executes the given command as is') do |command|
|
137
|
-
commands[:native] = command
|
144
|
+
@commands[:native] = command
|
138
145
|
end
|
139
146
|
opts.on('-v', '--verbose', 'Shows the twiddle commands before execution') do
|
140
147
|
params[:log_level] = Logger::DEBUG
|
@@ -174,13 +181,24 @@ def normalize args
|
|
174
181
|
end
|
175
182
|
end
|
176
183
|
|
177
|
-
puts opts if mbeans.empty? and commands.empty?
|
184
|
+
puts opts if @mbeans.empty? and @commands.empty?
|
178
185
|
|
179
|
-
actions = JBoss::CommandActions::Twiddle::new @twiddle,
|
186
|
+
@actions = JBoss::CommandActions::Twiddle::new @twiddle,
|
180
187
|
:no_details => no_details,
|
181
188
|
:mbeans => defaults
|
182
189
|
|
183
|
-
|
190
|
+
def execute_actions
|
191
|
+
buff = ""
|
192
|
+
buff << Yummi.colorize(Time.now.strftime("At %H:%M:%S%n"), :white) if @loop
|
193
|
+
buff << @actions.parse_and_execute(@commands)
|
194
|
+
buff << @actions.detail(@mbeans)
|
195
|
+
system "clear" if @loop
|
196
|
+
puts buff
|
197
|
+
end
|
184
198
|
|
185
|
-
|
199
|
+
while @loop
|
200
|
+
execute_actions
|
201
|
+
sleep @interval
|
202
|
+
end
|
186
203
|
|
204
|
+
execute_actions
|
@@ -33,56 +33,58 @@ module JBoss
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def parse_and_execute commands
|
36
|
+
buff = ""
|
36
37
|
commands.each do |method, args|
|
37
|
-
send
|
38
|
+
buff << send(method, *args)
|
38
39
|
end
|
40
|
+
buff
|
39
41
|
end
|
40
42
|
|
41
43
|
def native command
|
42
|
-
|
44
|
+
@twiddle.execute(command)
|
43
45
|
end
|
44
46
|
|
45
47
|
def set id, property, value
|
46
48
|
mbean, name = extract id
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
49
|
+
@twiddle.set :mbean => mbean.to_sym,
|
50
|
+
:name => name,
|
51
|
+
:property => property,
|
52
|
+
:value => value
|
51
53
|
end
|
52
54
|
|
53
55
|
def get id, property
|
54
56
|
mbean, name = extract id
|
55
|
-
|
56
|
-
|
57
|
-
|
57
|
+
@twiddle.get :mbean => mbean.to_sym,
|
58
|
+
:name => name,
|
59
|
+
:property => property
|
58
60
|
end
|
59
61
|
|
60
62
|
def invoke id, method, *args
|
61
63
|
mbean, name = extract id
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
64
|
+
@twiddle.invoke :mbean => mbean.to_sym,
|
65
|
+
:name => name,
|
66
|
+
:method => method,
|
67
|
+
:args => normalize(args)
|
66
68
|
end
|
67
69
|
|
68
70
|
def query id, *args
|
69
71
|
mbean, name = extract id
|
70
|
-
|
71
|
-
|
72
|
-
|
72
|
+
@twiddle.query :mbean => mbean.to_sym,
|
73
|
+
:name => name,
|
74
|
+
:args => normalize(args)
|
73
75
|
end
|
74
76
|
|
75
77
|
def info id, *args
|
76
78
|
mbean, name = extract id
|
77
|
-
|
78
|
-
|
79
|
-
|
79
|
+
@twiddle.info :mbean => mbean.to_sym,
|
80
|
+
:name => name,
|
81
|
+
:args => normalize(args)
|
80
82
|
end
|
81
83
|
|
82
84
|
def detail mbeans
|
85
|
+
buff = ""
|
83
86
|
mbeans.each do |mbean_id, resources|
|
84
|
-
|
85
|
-
table.title = @opts[:mbeans][mbean_id][:description]
|
87
|
+
table_builder = TableBuilder::new @opts[:mbeans][mbean_id]
|
86
88
|
rows = []
|
87
89
|
if resources.is_a? TrueClass
|
88
90
|
row = []
|
@@ -91,8 +93,9 @@ module JBoss
|
|
91
93
|
end
|
92
94
|
rows << row
|
93
95
|
elsif @opts[:no_details]
|
96
|
+
table_builder.no_details
|
94
97
|
@monitor.mbean(mbean_id).scan.each do |name|
|
95
|
-
rows << name
|
98
|
+
rows << [name]
|
96
99
|
end
|
97
100
|
else
|
98
101
|
@monitor.mbean(mbean_id).detail resources do |resource, detail|
|
@@ -103,9 +106,10 @@ module JBoss
|
|
103
106
|
rows << row
|
104
107
|
end
|
105
108
|
end
|
106
|
-
|
107
|
-
table.
|
109
|
+
table_builder.data = rows
|
110
|
+
buff << table_builder.table.to_s
|
108
111
|
end
|
112
|
+
buff
|
109
113
|
end
|
110
114
|
|
111
115
|
end
|
data/lib/rboss/jboss_profile.rb
CHANGED
@@ -26,6 +26,7 @@ require_relative "component_processor"
|
|
26
26
|
require_relative "jboss_path"
|
27
27
|
|
28
28
|
require "logger"
|
29
|
+
require "yummi"
|
29
30
|
require "ostruct"
|
30
31
|
require "fileutils"
|
31
32
|
|
@@ -124,9 +125,7 @@ module JBoss
|
|
124
125
|
unless @logger
|
125
126
|
@logger = Logger::new STDOUT
|
126
127
|
@logger.level = opts[:log_level] || Logger::INFO
|
127
|
-
formatter =
|
128
|
-
|
129
|
-
def formatter.call(severity, time, program_name, message)
|
128
|
+
formatter = Yummi::Formatter::LogFormatter.new do |severity, time, program_name, message|
|
130
129
|
"#{severity} : #{message}\n"
|
131
130
|
end
|
132
131
|
|
@@ -135,10 +134,10 @@ module JBoss
|
|
135
134
|
@profile = @opts[:profile].to_s
|
136
135
|
@base_profile = @opts[:base_profile].to_s
|
137
136
|
@jboss = JBoss::Path::new @jboss_home,
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
137
|
+
:profile => @profile,
|
138
|
+
:type => @opts[:type],
|
139
|
+
:version => @opts[:version],
|
140
|
+
:logger => @logger
|
142
141
|
initialize_components
|
143
142
|
end
|
144
143
|
|
data/lib/rboss/table_builder.rb
CHANGED
@@ -20,155 +20,62 @@
|
|
20
20
|
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
21
|
# THE SOFTWARE.
|
22
22
|
|
23
|
-
require '
|
23
|
+
require 'yummi'
|
24
24
|
|
25
25
|
class TableBuilder
|
26
26
|
|
27
|
-
attr_writer :title
|
28
|
-
|
29
27
|
def initialize params = {}
|
30
|
-
params
|
31
|
-
@
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
:line => :purple,
|
38
|
-
:normal => nil
|
39
|
-
}.merge! params[:colors]
|
40
|
-
@health = params[:health]
|
41
|
-
@header = params[:header]
|
42
|
-
@formatter = params[:formatter]
|
43
|
-
@print_type = (params[:print_as] or :table)
|
44
|
-
@single_result = params[:single_result]
|
45
|
-
|
46
|
-
@data = []
|
47
|
-
@types = []
|
48
|
-
@title = nil
|
49
|
-
end
|
50
|
-
|
51
|
-
def add(type, *args)
|
52
|
-
@types << type
|
53
|
-
@data << args
|
54
|
-
end
|
55
|
-
|
56
|
-
def print
|
57
|
-
build_header @header
|
58
|
-
check_health
|
59
|
-
puts colorize(:title, @title)
|
60
|
-
print_as_table if @print_type == :table
|
61
|
-
print_as_single_list if @print_type == :single_list
|
62
|
-
end
|
63
|
-
|
64
|
-
def print_as_single_list
|
65
|
-
header = @data[0]
|
66
|
-
data ||= @data[1]
|
67
|
-
type = @types[1]
|
68
|
-
format_row(1, type)
|
69
|
-
|
70
|
-
line = colorize :line, '-'
|
71
|
-
data.each_index do |i|
|
72
|
-
description = colorize :header, header[i]
|
73
|
-
value = colorize type, data[i]
|
74
|
-
puts " #{line} #{description} = #{value}"
|
28
|
+
@params = params
|
29
|
+
@table = Yummi::Table::new
|
30
|
+
@table.title = params[:description]
|
31
|
+
@table.header = params[:header]
|
32
|
+
if params[:layout] == :vertical
|
33
|
+
@table.layout = :vertical
|
34
|
+
@table.default_align = :left
|
75
35
|
end
|
76
|
-
|
77
|
-
|
78
|
-
def print_as_table colspan = 2
|
79
|
-
@data.each_index do |i|
|
80
|
-
type = @types[i]
|
81
|
-
format_row(i, type)
|
82
|
-
@data[i].each_index do |j|
|
83
|
-
column = @data[i][j]
|
84
|
-
width = max_width j
|
85
|
-
value = column.to_s.ljust(width) if j == 0
|
86
|
-
value ||= column.to_s.rjust(width)
|
87
|
-
printf colorize(type, value)
|
88
|
-
printf(" " * colspan)
|
89
|
-
end
|
90
|
-
puts
|
36
|
+
if params[:health]
|
37
|
+
@table.row_colorizer HealthColorizer::new params[:health]
|
91
38
|
end
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
if @formatter.is_a? Hash
|
97
|
-
@formatter[:humanize].each do |index|
|
98
|
-
@data[i][index] = humanize @data[i][index]
|
39
|
+
if params[:formatter]
|
40
|
+
params[:formatter].each do |column|
|
41
|
+
@table.format column do |value|
|
42
|
+
Yummi::Formatter::Unit.format :byte, value.to_i
|
99
43
|
end
|
100
|
-
else
|
101
|
-
@data[i] = @formatter.call(@data[i])
|
102
44
|
end
|
103
45
|
end
|
104
46
|
end
|
105
47
|
|
106
|
-
def
|
107
|
-
|
108
|
-
@data.each_index do |i|
|
109
|
-
if @types[i] == :normal
|
110
|
-
row = @data[i]
|
111
|
-
if @health.is_a? Hash
|
112
|
-
indexes = @health[:indexes]
|
113
|
-
@health[:max] = row[indexes[:max]].to_f
|
114
|
-
@health[:using] = row[indexes[:using]].to_f if indexes[:using]
|
115
|
-
@health[:free] = row[indexes[:free]].to_f if indexes[:free]
|
116
|
-
@types[i] = health @health
|
117
|
-
else
|
118
|
-
@types[i] = @health.call(row)
|
119
|
-
end
|
120
|
-
end
|
121
|
-
end
|
48
|
+
def no_details
|
49
|
+
@table.header = @params[:header][0]
|
122
50
|
end
|
123
51
|
|
124
|
-
def
|
125
|
-
|
126
|
-
bad_limit = (params[:alert_at] or 0.15)
|
127
|
-
return :bad if under_limit? bad_limit, params
|
128
|
-
return :warn if warn_limit and under_limit? warn_limit, params
|
129
|
-
:good
|
52
|
+
def data= data
|
53
|
+
@table.data = data
|
130
54
|
end
|
131
55
|
|
132
|
-
def
|
133
|
-
|
134
|
-
free = (params[:free] / params[:max].to_f)
|
135
|
-
(free < threshold)
|
136
|
-
elsif params[:using]
|
137
|
-
free = params[:max] - params[:using]
|
138
|
-
under_limit? threshold, :free => free, :max => params[:max]
|
139
|
-
end
|
56
|
+
def table
|
57
|
+
@table
|
140
58
|
end
|
141
59
|
|
142
|
-
|
143
|
-
bytes = bytes.to_i
|
144
|
-
return (bytes / (1024 * 1024)).to_s << " MB" if bytes > (1024 * 1024)
|
145
|
-
(bytes / (1024)).to_s << " KB" if bytes > (1024)
|
146
|
-
end
|
60
|
+
end
|
147
61
|
|
148
|
-
|
149
|
-
return unless header
|
150
|
-
if header.is_a? Array
|
151
|
-
if header.first.is_a? Array
|
152
|
-
header.reverse.each do |value|
|
153
|
-
build_header value
|
154
|
-
end
|
155
|
-
else
|
156
|
-
@data = [header] + @data
|
157
|
-
@types = [:header] + @types
|
158
|
-
end
|
159
|
-
end
|
160
|
-
end
|
62
|
+
class HealthColorizer
|
161
63
|
|
162
|
-
def
|
163
|
-
|
64
|
+
def initialize params
|
65
|
+
@max = params[:max]
|
66
|
+
@free = params[:free]
|
67
|
+
@using = params[:using]
|
164
68
|
end
|
165
69
|
|
166
|
-
def
|
167
|
-
max =
|
168
|
-
@data.
|
169
|
-
|
170
|
-
|
171
|
-
|
70
|
+
def call index, data
|
71
|
+
max = data[@max].to_f
|
72
|
+
free = @using ? max - data[@using].to_f : data[@free].to_f
|
73
|
+
|
74
|
+
percentage = free / max
|
75
|
+
|
76
|
+
return :red if percentage <= 0.15
|
77
|
+
return :brown if percentage <= 0.30
|
78
|
+
:green
|
172
79
|
end
|
173
80
|
|
174
81
|
end
|
@@ -33,12 +33,9 @@ module JBoss
|
|
33
33
|
:description => 'Deployed webapps',
|
34
34
|
:pattern => 'jboss.web:type=Manager,host=localhost,path=/#{resource}',
|
35
35
|
:properties => %W(activeSessions maxActive distributable maxActiveSessions
|
36
|
-
|
37
|
-
:header => [
|
38
|
-
|
39
|
-
['', 'Sessions', 'Active', '',
|
40
|
-
'Sessions', 'Sessions', 'Sessions'],
|
41
|
-
],
|
36
|
+
expiredSessions rejectedSessions),
|
37
|
+
:header => ["Context", "Active\nSessions", "Max\nSessions", "Distributable",
|
38
|
+
"Max Active\nSession", "Expired\nSessions", "Rejected\nSessions"],
|
42
39
|
:scan => proc do
|
43
40
|
query "jboss.web:type=Manager,*" do |path|
|
44
41
|
path.gsub! "jboss.web:type=Manager,path=/", ""
|
@@ -57,10 +54,8 @@ module JBoss
|
|
57
54
|
:properties => %W(maxThreads currentThreadCount currentThreadsBusy),
|
58
55
|
:header => ['Connector', 'Max Threads', 'Current Threads', 'Busy Threads'],
|
59
56
|
:health => {
|
60
|
-
:
|
61
|
-
|
62
|
-
:using => 2
|
63
|
-
}
|
57
|
+
:max => :max_threads,
|
58
|
+
:using => :current_threads
|
64
59
|
},
|
65
60
|
:scan => proc do
|
66
61
|
query "jboss.web:type=ThreadPool,*" do |path|
|
@@ -73,7 +68,6 @@ module JBoss
|
|
73
68
|
:pattern => 'jboss.jca:service=CachedConnectionManager',
|
74
69
|
:properties => %W(InUseConnections),
|
75
70
|
:header => ['In Use Connections'],
|
76
|
-
:print_as => :single_list
|
77
71
|
},
|
78
72
|
:main_deployer => {
|
79
73
|
:description => 'Main Deployer',
|
@@ -84,45 +78,39 @@ module JBoss
|
|
84
78
|
:pattern => 'jboss.web:type=Engine',
|
85
79
|
:properties => %W(jvmRoute name defaultHost),
|
86
80
|
:header => ['JVM Route', 'Name', 'Default Host'],
|
87
|
-
:print_as => :single_list
|
88
81
|
},
|
89
82
|
:log4j => {
|
90
83
|
:description => 'JBoss Log4J Service',
|
91
84
|
:pattern => 'jboss.system:service=Logging,type=Log4jService',
|
92
85
|
:properties => %W(DefaultJBossServerLogThreshold),
|
93
86
|
:header => ['Default Server Log Threshold'],
|
94
|
-
:print_as => :single_list
|
95
87
|
},
|
96
88
|
:server => {
|
97
89
|
:description => 'JBoss Server specifications',
|
98
90
|
:pattern => 'jboss.system:type=Server',
|
99
91
|
:properties => %W(VersionName VersionNumber Version),
|
100
92
|
:header => ['Version Name', 'Version Number', 'Version'],
|
101
|
-
:print_as => :single_list
|
102
93
|
},
|
103
94
|
:server_info => {
|
104
95
|
:description => 'JBoss Server runtime info',
|
105
96
|
:pattern => 'jboss.system:type=ServerInfo',
|
106
97
|
:properties => %W(ActiveThreadCount MaxMemory FreeMemory AvailableProcessors
|
107
|
-
|
108
|
-
:header => [
|
109
|
-
|
110
|
-
|
111
|
-
:formatter =>
|
112
|
-
:print_as => :single_list,
|
98
|
+
JavaVendor JavaVersion OSName OSArch),
|
99
|
+
:header => ["Active Threads", "Max Memory", "Free Memory",
|
100
|
+
"Processors", "Java Vendor", "Java Version", "OS Name", "OS Arch"],
|
101
|
+
:layout => :vertical,
|
102
|
+
:formatter => [:max_memory, :free_memory],
|
113
103
|
:health => {
|
114
|
-
:
|
115
|
-
|
116
|
-
:free => 2
|
117
|
-
}
|
104
|
+
:max => :max_memory,
|
105
|
+
:free => :free_memory
|
118
106
|
},
|
119
107
|
},
|
120
108
|
:server_config => {
|
121
109
|
:description => 'JBoss Server configuration',
|
122
110
|
:pattern => 'jboss.system:type=ServerConfig',
|
123
111
|
:properties => %W(ServerName HomeDir ServerLogDir ServerHomeURL),
|
112
|
+
:layout => :vertical,
|
124
113
|
:header => ['Server Name', 'Home Dir', 'Log Dir', 'Home URL'],
|
125
|
-
:print_as => :single_list
|
126
114
|
},
|
127
115
|
:system_properties => {
|
128
116
|
:description => 'System properties',
|
@@ -134,10 +122,8 @@ module JBoss
|
|
134
122
|
:properties => %W(requestCount errorCount maxTime),
|
135
123
|
:header => ['Connector', 'Requests', 'Errors', 'Max Time'],
|
136
124
|
:health => {
|
137
|
-
:
|
138
|
-
|
139
|
-
:using => 2
|
140
|
-
}
|
125
|
+
:max => :request,
|
126
|
+
:using => :errors
|
141
127
|
},
|
142
128
|
:scan => proc do
|
143
129
|
query "jboss.web:type=ThreadPool,*" do |path|
|
@@ -149,16 +135,12 @@ module JBoss
|
|
149
135
|
:description => 'Datasource',
|
150
136
|
:pattern => 'jboss.jca:service=ManagedConnectionPool,name=#{resource}',
|
151
137
|
:properties => %W(MinSize MaxSize AvailableConnectionCount
|
152
|
-
|
153
|
-
:header => [
|
154
|
-
|
155
|
-
['', 'Size', 'Size', 'Avaliable', 'In Use', 'Count']
|
156
|
-
],
|
138
|
+
InUseConnectionCount ConnectionCount),
|
139
|
+
:header => ["JNDI Name", "Min\nSize", "Max\nSize", "Avaliable\nConnections",
|
140
|
+
"In Use\nConnections", "Connection\nCount"],
|
157
141
|
:health => {
|
158
|
-
:
|
159
|
-
|
160
|
-
:using => 4
|
161
|
-
}
|
142
|
+
:max => :max_size,
|
143
|
+
:using => :in_use_connections
|
162
144
|
},
|
163
145
|
:scan => proc do
|
164
146
|
query "jboss.jca:service=ManagedConnectionPool,*" do |path|
|
@@ -170,7 +152,7 @@ module JBoss
|
|
170
152
|
:description => 'JMS Queue',
|
171
153
|
:pattern => 'jboss.messaging.destination:service=Queue,name=#{resource}',
|
172
154
|
:properties => %W(JNDIName MessageCount DeliveringCount
|
173
|
-
|
155
|
+
ScheduledMessageCount MaxSize FullSize Clustered ConsumerCount),
|
174
156
|
:header => ['Name', 'JNDI', 'Messages', 'Deliveries', 'Scheduleded', 'Max Size',
|
175
157
|
'Full Size', 'Clustered', 'Consumed'],
|
176
158
|
:scan => proc do
|
@@ -224,3 +206,4 @@ module JBoss
|
|
224
206
|
end
|
225
207
|
|
226
208
|
end
|
209
|
+
|
data/lib/rboss/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rboss
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-01 00:00:00.000000000Z
|
13
13
|
dependencies: []
|
14
14
|
description: ! "A tool to create profiles for JBoss Application Server and use\n twiddle
|
15
15
|
to manage a running JBoss AS."
|