Skip to content

Commit 33dd37d

Browse files
committed
Merge pull request #103 from neo-technology/1.1-merge-jmx-calls-for-sysinfo
Merge all the calls for sysinfo into one procedure call
2 parents eb49e41 + 3f2f4e9 commit 33dd37d

File tree

1 file changed

+40
-58
lines changed

1 file changed

+40
-58
lines changed

app/scripts/controllers/SysinfoController.coffee

Lines changed: 40 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ angular.module('neo4jApp.controllers')
2626
($scope, Settings, ProtocolFactory, $timeout) ->
2727
$scope.autoRefresh = false
2828
$scope.sysinfo = {}
29+
$scope.sysinfo.primitives ?= {}
30+
$scope.sysinfo.cache ?= { available: false }
31+
$scope.sysinfo.tx ?= { available: false }
32+
$scope.sysinfo.ha ?= { }
2933
$scope.refresh = () ->
3034
# kernel info from JMX
3135
$scope.sysinfo.kernel ?= {}
@@ -34,70 +38,48 @@ angular.module('neo4jApp.controllers')
3438
"org.neo4j:instance=kernel#0,name=Configuration"
3539
"org.neo4j:instance=kernel#0,name=Kernel"
3640
"org.neo4j:instance=kernel#0,name=Store file sizes"
37-
]).then((response) ->
38-
for r in response.data
39-
for a in r.attributes
40-
$scope.sysinfo.kernel[a.name] = a.value
41-
).catch((r)-> $scope.sysinfo.kernel = {})
42-
43-
# primitive counts from JMX
44-
$scope.sysinfo.primitives ?= {}
45-
ProtocolFactory.getJmxService().getJmx(
46-
[
4741
"org.neo4j:instance=kernel#0,name=Primitive count"
48-
]).then((response) ->
49-
for r in response.data
50-
for a in r.attributes
51-
$scope.sysinfo.primitives[a.name] = a.value
52-
).catch((r)-> $scope.sysinfo.primitives = {})
53-
54-
# page cache data from JMX
55-
$scope.sysinfo.cache ?= { available: false }
56-
ProtocolFactory.getJmxService().getJmx(
57-
[
5842
"org.neo4j:instance=kernel#0,name=Page cache"
59-
]).then((response) ->
60-
for r in response.data
61-
$scope.sysinfo.cache.available = true
62-
for a in r.attributes
63-
$scope.sysinfo.cache[a.name] = a.value
64-
).catch((r)-> $scope.sysinfo.cache = { available: false })
65-
66-
# transactions from JMX
67-
$scope.sysinfo.tx ?= { available: false }
68-
ProtocolFactory.getJmxService().getJmx(
69-
[
7043
"org.neo4j:instance=kernel#0,name=Transactions"
71-
]).then((response) ->
72-
for r in response.data
73-
$scope.sysinfo.tx.available = true
74-
for a in r.attributes
75-
$scope.sysinfo.tx[a.name] = a.value
76-
).catch((r)-> $scope.sysinfo.tx = {available: false})
77-
78-
# transactions from JMX
79-
$scope.sysinfo.ha ?= { }
80-
ProtocolFactory.getJmxService().getJmx(
81-
[
8244
"org.neo4j:instance=kernel#0,name=High Availability"
8345
]).then((response) ->
8446
for r in response.data
85-
$scope.sysinfo.ha.clustered = true
86-
for a in r.attributes
87-
if a.name is "InstancesInCluster"
88-
$scope.sysinfo.ha.ClusterMembers = {}
89-
for member in a.value
90-
clusterMember = {}
91-
for ma in member.value
92-
clusterMember[ma.name] = ma.value
93-
clusterMember.connected = false
94-
$scope.sysinfo.ha.ClusterMembers[clusterMember.instanceId] = clusterMember
95-
else
96-
if a.name is "InstanceId"
97-
connectedMemberId = a.value
98-
$scope.sysinfo.ha[a.name] = a.value
99-
$scope.sysinfo.ha.ClusterMembers[connectedMemberId].connected = true
100-
).catch((r)-> $scope.sysinfo.ha = { clustered: false })
47+
if r.name in ["org.neo4j:instance=kernel#0,name=Configuration","org.neo4j:instance=kernel#0,name=Kernel","org.neo4j:instance=kernel#0,name=Store file sizes" ]
48+
for a in r.attributes
49+
$scope.sysinfo.kernel[a.name] = a.value
50+
else if r.name == "org.neo4j:instance=kernel#0,name=Primitive count"
51+
for a in r.attributes
52+
$scope.sysinfo.primitives[a.name] = a.value
53+
else if r.name == "org.neo4j:instance=kernel#0,name=Page cache"
54+
$scope.sysinfo.cache.available = true
55+
for a in r.attributes
56+
$scope.sysinfo.cache[a.name] = a.value
57+
else if "org.neo4j:instance=kernel#0,name=Transactions"
58+
$scope.sysinfo.tx.available = true
59+
for a in r.attributes
60+
$scope.sysinfo.tx[a.name] = a.value
61+
else if "org.neo4j:instance=kernel#0,name=High Availability"
62+
$scope.sysinfo.ha.clustered = true
63+
for a in r.attributes
64+
if a.name is "InstancesInCluster"
65+
$scope.sysinfo.ha.ClusterMembers = {}
66+
for member in a.value
67+
clusterMember = {}
68+
for ma in member.value
69+
clusterMember[ma.name] = ma.value
70+
clusterMember.connected = false
71+
$scope.sysinfo.ha.ClusterMembers[clusterMember.instanceId] = clusterMember
72+
else
73+
if a.name is "InstanceId"
74+
connectedMemberId = a.value
75+
$scope.sysinfo.ha[a.name] = a.value
76+
$scope.sysinfo.ha.ClusterMembers[connectedMemberId].connected = true
77+
).catch((r) ->
78+
$scope.sysinfo.kernel = {}
79+
$scope.sysinfo.primitives = {}
80+
$scope.sysinfo.cache = { available: false }
81+
$scope.sysinfo.tx = {available: false}
82+
$scope.sysinfo.ha = { clustered: false })
10183

10284
timer = null
10385
refreshLater = () =>

0 commit comments

Comments
 (0)