groovity.servlet.admin.ui.sockets.grvt Maven / Gradle / Ivy
/*******************************************************************************
* © 2018 Disney | ABC Television Group
*
* Licensed under the Apache License, Version 2.0 (the "Apache License")
* with the following modification; you may not use this file except in
* compliance with the Apache License and the following modification to it:
* Section 6. Trademarks. is deleted and replaced with:
*
* 6. Trademarks. This License does not grant permission to use the trade
* names, trademarks, service marks, or product names of the Licensor
* and its affiliates, except as required to comply with Section 4(c) of
* the License and to reproduce the content of the NOTICE file.
*
* You may obtain a copy of the Apache License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the Apache License with the above modification is
* distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the Apache License for the specific
* language governing permissions and limitations under the Apache License.
*******************************************************************************/
static args = [
selectedHosts:new String[0],
refresh:false
]
load '/groovity/servlet/admin/lib/compilerSupport'
@Field clusterClient = run('/groovity/servlet/admin/lib/clusterClient')
members = new ArrayList(clusterClient.clusterProvider.members)
if(!selectedHosts){
selectedHosts = members.collect{ it.uuid.toString() }
}
socketStatus = compilerSupport.getSockets(members.findAll{ selectedHosts.contains(it.uuid.toString()) }, refresh);
//build up the aggregates unsorted at first, sort later
aggregateStatus = [
client:[
open:0l,
close:0l,
error:0l
],
server:[
open:0l,
close:0l,
error:0l
]
];
socketStatus.each{ member, status ->
aggregateStatus.client.open += status.client.open
aggregateStatus.client.close += status.client.close
aggregateStatus.client.error += status.client.error
aggregateStatus.server.open += status.server.open
aggregateStatus.server.close += status.server.close
aggregateStatus.server.error += status.server.error
}
<~
Server sockets
Currently open: ${aggregateStatus.server.open - aggregateStatus.server.close}
Total opened: ${aggregateStatus.server.open}
Total closed: ${aggregateStatus.server.close}
Total errors: ${aggregateStatus.server.error}
Client sockets
Currently open: ${aggregateStatus.client.open - aggregateStatus.client.close}
Total opened: ${aggregateStatus.client.open}
Total closed: ${aggregateStatus.client.close}
Total errors: ${aggregateStatus.client.error}
~>