You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@artemis.apache.org by an...@apache.org on 2026/04/16 09:58:17 UTC

(artemis-console) branch main updated (7245f8e -> 999b126)

This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/artemis-console.git


    from 7245f8e  ARTEMIS-5853 - Fix Operations dialog auto-collapse on refresh
     new f20d624  ARTEMIS-5998 - Add disk usage donut chart
     new 69650ab  ARTEMIS-5998 - remove some padding
     new 3716432  ARTEMIS-5998 - Add additional info under broker info
     new 999b126  ARTEMIS-5998 - use booleans instead of strings

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../artemis-console-plugin/src/artemis-service.ts  | 34 +++++++++++--
 .../artemis-console-plugin/src/status/Status.tsx   | 55 ++++++++++++++++++----
 2 files changed, 78 insertions(+), 11 deletions(-)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org


(artemis-console) 01/04: ARTEMIS-5998 - Add disk usage donut chart

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis-console.git

commit f20d624a09f5f4ae7abff739bf490444965a71a5
Author: gchuf <ga...@gmail.com>
AuthorDate: Fri Apr 10 13:59:58 2026 +0200

    ARTEMIS-5998 - Add disk usage donut chart
---
 .../artemis-console-plugin/src/artemis-service.ts  | 14 ++++++-
 .../artemis-console-plugin/src/status/Status.tsx   | 47 +++++++++++++++++++++-
 2 files changed, 59 insertions(+), 2 deletions(-)

diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
index cc2ca74..3dbfdd0 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
@@ -48,6 +48,8 @@ export type BrokerInfo = {
     globalMaxSizeMB: number
     addressMemoryUsage: number
     addressMemoryUsed: number
+    diskStoreUsagePercentage: number
+    maxDiskUsage: number
     haPolicy: string | InaccessibleValue
     networkTopology: BrokerNetworkTopology
 }
@@ -174,7 +176,9 @@ const jolokiaAttributes = [
     "Uptime",
     "GlobalMaxSize",
     "AddressMemoryUsage",
-    "HAPolicy"
+    "HAPolicy",
+    "DiskStoreUsage",
+    "MaxDiskUsage"
 ];
 
 /**
@@ -256,6 +260,8 @@ class ArtemisService {
                 const addressMemoryUsage = response.AddressMemoryUsage as number;
                 const uptime = response.Uptime as string | InaccessibleValue;
                 const haPolicy = response.HAPolicy as string | InaccessibleValue;
+                const diskStoreUsage = response.DiskStoreUsage as number;
+                const maxDiskUsage = response.MaxDiskUsage as number;
                 const globalMaxSizeMB = globalMaxSize / 1048576;
                 let used = 0;
                 let addressMemoryUsageMB = 0;
@@ -263,6 +269,10 @@ class ArtemisService {
                     addressMemoryUsageMB = addressMemoryUsage / 1048576;
                     used = addressMemoryUsageMB / globalMaxSizeMB * 100
                 }
+                let diskStoreUsagePercentage = 0;
+                if (diskStoreUsage > 0) {
+                    diskStoreUsagePercentage = diskStoreUsage * 100;
+                }
                 const topology = await jolokiaService.execute(brokerObjectName, LIST_NETWORK_TOPOLOGY_SIG).catch(e => {
                     eventService.notify({type: 'warning', message: jolokiaService.errorMessage(e) })
                     return "{}"
@@ -277,6 +287,8 @@ class ArtemisService {
                     globalMaxSizeMB: globalMaxSizeMB,
                     addressMemoryUsage: addressMemoryUsageMB,
                     addressMemoryUsed: used,
+                    diskStoreUsagePercentage: diskStoreUsagePercentage,
+                    maxDiskUsage: maxDiskUsage,
                     haPolicy: haPolicy,
                     networkTopology: new BrokerNetworkTopology(JSON.parse(topology))
                 };
diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
index 7d77844..27ddc00 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-import { ChartDonutUtilization } from "@patternfly/react-charts"
+import { ChartDonutUtilization,ChartDonutThreshold } from "@patternfly/react-charts"
 import {
     Alert,
     Card,
@@ -135,6 +135,10 @@ export const Status: React.FunctionComponent = () => {
         setShowOperationsDialog(true);
     }
 
+    const diskSpaceUsed = brokerInfo?.diskStoreUsagePercentage ?? 0;
+    const diskSpaceMax = brokerInfo?.maxDiskUsage ?? 0;
+    const diskSpaceRemaining = diskSpaceMax - diskSpaceUsed;
+
     const statusActions = (
         <Dropdown
             onSelect={onBrokerInfoSelect}
@@ -231,6 +235,47 @@ export const Status: React.FunctionComponent = () => {
                         </CardBody>
                     </Card>
                 </GridItem>
+                <GridItem span={3} rowSpan={3}>
+                    <Card isFullHeight={true}>
+                        <CardHeader>
+                            <CardTitle>Disk Used</CardTitle>
+                        </CardHeader>
+                        <CardBody>
+                            <Divider />
+                            <ChartDonutThreshold
+                                ariaDesc="Disk Used"
+                                ariaTitle="Disk Used"
+                                constrainToVisibleArea
+                                padding={{
+                                    bottom: 20,
+                                    left: 20,
+                                    right: 20,
+                                    top: 20
+                                }}
+                                data={[
+                                    { x: 'Usable at maxDiskUsage%', y: diskSpaceMax },
+                                    { x: 'Max at 100%', y: 100 }
+                                ]}
+                                labels={[
+                                    `Max disk usage: ${diskSpaceMax}%`,
+                                    `Reserved disk space: ${100 - diskSpaceMax}%`
+                                ]}
+                                name="chart101"
+                                width={350}>
+                                <ChartDonutUtilization
+                                    data={{ x: 'Used:', y: diskSpaceUsed }}
+                                    labels={[
+                                    diskSpaceRemaining < 0
+                                        ? "No space remaining, broker is blocking producers!"
+                                        : `Usable disk space remaining: ${diskSpaceRemaining.toFixed(2)}/${diskSpaceMax}%`
+                                    ]}
+                                    thresholds={[{ value: (diskSpaceMax - 10) }, { value: diskSpaceMax }]} // warning on 10% disk remaining, critical on 0%
+                                    subTitle="Disk Used"
+                                    title={diskSpaceUsed.toFixed(2) + "%"}/>
+                            </ChartDonutThreshold>
+                        </CardBody>
+                    </Card>
+                </GridItem>
             </Grid>
             <ExpandableSection toggleTextExpanded="Acceptors" toggleTextCollapsed="Acceptors">
                 <Grid hasGutter span={4}>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org


(artemis-console) 03/04: ARTEMIS-5998 - Add additional info under broker info

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis-console.git

commit 3716432620214d0eea4bd8a4da2a5c7f91737c71
Author: gchuf <ga...@gmail.com>
AuthorDate: Fri Apr 10 22:34:39 2026 +0200

    ARTEMIS-5998 - Add additional info under broker info
---
 .../artemis-console-plugin/src/artemis-service.ts      | 18 +++++++++++++++++-
 .../artemis-console-plugin/src/status/Status.tsx       |  6 +++++-
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
index 3dbfdd0..8cba50a 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
@@ -52,6 +52,10 @@ export type BrokerInfo = {
     maxDiskUsage: number
     haPolicy: string | InaccessibleValue
     networkTopology: BrokerNetworkTopology
+    backup: string | InaccessibleValue
+    clustered: string | InaccessibleValue
+    connectionCount: number
+    replicaSync: string | InaccessibleValue
 }
 
 export class BrokerNetworkTopology {
@@ -178,7 +182,11 @@ const jolokiaAttributes = [
     "AddressMemoryUsage",
     "HAPolicy",
     "DiskStoreUsage",
-    "MaxDiskUsage"
+    "MaxDiskUsage",
+    "Backup",
+    "Clustered",
+    "ConnectionCount",
+    "ReplicaSync"
 ];
 
 /**
@@ -273,6 +281,10 @@ class ArtemisService {
                 if (diskStoreUsage > 0) {
                     diskStoreUsagePercentage = diskStoreUsage * 100;
                 }
+                const backup = response.Backup as string | InaccessibleValue;
+                const clustered = response.Clustered as string | InaccessibleValue;
+                const connectionCount = response.ConnectionCount as number;
+                const replicaSync = response.ReplicaSync as string | InaccessibleValue;
                 const topology = await jolokiaService.execute(brokerObjectName, LIST_NETWORK_TOPOLOGY_SIG).catch(e => {
                     eventService.notify({type: 'warning', message: jolokiaService.errorMessage(e) })
                     return "{}"
@@ -290,6 +302,10 @@ class ArtemisService {
                     diskStoreUsagePercentage: diskStoreUsagePercentage,
                     maxDiskUsage: maxDiskUsage,
                     haPolicy: haPolicy,
+                    backup: backup,
+                    clustered: clustered,
+                    connectionCount: connectionCount,
+                    replicaSync: replicaSync,
                     networkTopology: new BrokerNetworkTopology(JSON.parse(topology))
                 };
                 resolve({ loaded: true, accessible: true, info: brokerInfo });
diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
index ed00675..eea1a01 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
@@ -172,7 +172,7 @@ export const Status: React.FunctionComponent = () => {
                 </Tooltip>
             )
         } else {
-            return (v ? "" + v : "")
+            return v !== null && v !== undefined ? String(v) : ""
         }
     }
 
@@ -204,6 +204,10 @@ export const Status: React.FunctionComponent = () => {
                                     <TextListItem component={TextListItemVariants.dd}>Uptime: {actualValue(brokerInfo?.uptime)}</TextListItem>
                                     <TextListItem component={TextListItemVariants.dd}>Started: {actualValue(brokerInfo?.started)}</TextListItem>
                                     <TextListItem component={TextListItemVariants.dd}>HA Policy: {actualValue(brokerInfo?.haPolicy)}</TextListItem>
+                                    <TextListItem component={TextListItemVariants.dd}>Is backup: {actualValue(brokerInfo?.backup)}</TextListItem>
+                                    <TextListItem component={TextListItemVariants.dd}>Clustered: {actualValue(brokerInfo?.clustered)}</TextListItem>
+                                    <TextListItem component={TextListItemVariants.dd}>Replica synced: {actualValue(brokerInfo?.replicaSync)}</TextListItem>
+                                    <TextListItem component={TextListItemVariants.dd}>Connection count: {actualValue(brokerInfo?.connectionCount)}</TextListItem>
                                 </TextList>
                             </TextContent>
                         </CardBody>


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org


(artemis-console) 02/04: ARTEMIS-5998 - remove some padding

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis-console.git

commit 69650ab59e57778b4bed31830119b595395724d7
Author: gchuf <ga...@gmail.com>
AuthorDate: Fri Apr 10 15:30:24 2026 +0200

    ARTEMIS-5998 - remove some padding
---
 .../packages/artemis-console-plugin/src/status/Status.tsx  | 14 ++------------
 1 file changed, 2 insertions(+), 12 deletions(-)

diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
index 27ddc00..ed00675 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/status/Status.tsx
@@ -223,12 +223,7 @@ export const Status: React.FunctionComponent = () => {
                                 data={{ x: 'Used:', y: brokerInfo?.addressMemoryUsed }}
                                 labels={["Used: " + brokerInfo?.addressMemoryUsed.toFixed(2) + "%"]}
                                 name="chart2"
-                                padding={{
-                                    bottom: 20,
-                                    left: 20,
-                                    right: 20,
-                                    top: 20
-                                }}
+                                padding={{ top: 20 }}
                                 subTitle="MiB Used"
                                 title={"" + brokerInfo?.addressMemoryUsage.toFixed(2)}
                                 width={350} />
@@ -246,12 +241,7 @@ export const Status: React.FunctionComponent = () => {
                                 ariaDesc="Disk Used"
                                 ariaTitle="Disk Used"
                                 constrainToVisibleArea
-                                padding={{
-                                    bottom: 20,
-                                    left: 20,
-                                    right: 20,
-                                    top: 20
-                                }}
+                                padding={{ top: 20 }}
                                 data={[
                                     { x: 'Usable at maxDiskUsage%', y: diskSpaceMax },
                                     { x: 'Max at 100%', y: 100 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org


(artemis-console) 04/04: ARTEMIS-5998 - use booleans instead of strings

Posted by an...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

andytaylor pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/artemis-console.git

commit 999b126d04003739b0f6887cb411f64aded4c37b
Author: gchuf <ga...@gmail.com>
AuthorDate: Fri Apr 10 21:45:04 2026 +0200

    ARTEMIS-5998 - use booleans instead of strings
---
 .../artemis-console-plugin/src/artemis-service.ts        | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
index 8cba50a..75c5e40 100644
--- a/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
+++ b/artemis-console-extension/artemis-extension/packages/artemis-console-plugin/src/artemis-service.ts
@@ -43,7 +43,7 @@ export type BrokerInfo = {
     nodeID: string
     objectName: string
     version: string | InaccessibleValue
-    started: string | InaccessibleValue
+    started: boolean | InaccessibleValue
     uptime: string | InaccessibleValue
     globalMaxSizeMB: number
     addressMemoryUsage: number
@@ -52,10 +52,10 @@ export type BrokerInfo = {
     maxDiskUsage: number
     haPolicy: string | InaccessibleValue
     networkTopology: BrokerNetworkTopology
-    backup: string | InaccessibleValue
-    clustered: string | InaccessibleValue
+    backup: boolean | InaccessibleValue
+    clustered: boolean | InaccessibleValue
     connectionCount: number
-    replicaSync: string | InaccessibleValue
+    replicaSync: boolean | InaccessibleValue
 }
 
 export class BrokerNetworkTopology {
@@ -263,7 +263,7 @@ class ArtemisService {
                 const name = response.Name as string;
                 const nodeID = response.NodeID as string;
                 const version = response.Version as string | InaccessibleValue;
-                const started = response.Started as string | InaccessibleValue;
+                const started = response.Started as boolean | InaccessibleValue;
                 const globalMaxSize = response.GlobalMaxSize as number;
                 const addressMemoryUsage = response.AddressMemoryUsage as number;
                 const uptime = response.Uptime as string | InaccessibleValue;
@@ -281,10 +281,10 @@ class ArtemisService {
                 if (diskStoreUsage > 0) {
                     diskStoreUsagePercentage = diskStoreUsage * 100;
                 }
-                const backup = response.Backup as string | InaccessibleValue;
-                const clustered = response.Clustered as string | InaccessibleValue;
+                const backup = response.Backup as boolean | InaccessibleValue;
+                const clustered = response.Clustered as boolean | InaccessibleValue;
                 const connectionCount = response.ConnectionCount as number;
-                const replicaSync = response.ReplicaSync as string | InaccessibleValue;
+                const replicaSync = response.ReplicaSync as boolean | InaccessibleValue;
                 const topology = await jolokiaService.execute(brokerObjectName, LIST_NETWORK_TOPOLOGY_SIG).catch(e => {
                     eventService.notify({type: 'warning', message: jolokiaService.errorMessage(e) })
                     return "{}"


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@artemis.apache.org
For additional commands, e-mail: commits-help@artemis.apache.org