From ed9703bea08d218b0eeef69c666f9d1eb2f5d063 Mon Sep 17 00:00:00 2001 From: Dhandapani Date: Tue, 11 Oct 2011 17:42:25 +0530 Subject: UI Changes - CPU/Memory/Disk Usage alerts set to 80% - Displayed Offline volumes in alert section --- .../icons/tango/22x22/offline-volume.png | Bin 0 -> 1034 bytes .../icons/tango/32x32/log-rotate.png | Bin 0 -> 1839 bytes .../plugin.xml | 2 +- .../storage/management/console/AlertsManager.java | 3 +++ .../storage/management/console/IImageKeys.java | 1 + .../console/actions/ResetVolumeOptionsAction.java | 6 ++++- .../console/preferences/PreferenceInitializer.java | 6 ++--- .../console/views/ClusterSummaryView.java | 3 +++ .../console/views/VolumesSummaryView.java | 26 ++++++++++++++++++--- .../storage/management/core/model/Alert.java | 4 ++-- 10 files changed, 41 insertions(+), 10 deletions(-) create mode 100644 src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png create mode 100644 src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png diff --git a/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png b/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png new file mode 100644 index 00000000..fa3a64f9 Binary files /dev/null and b/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png differ diff --git a/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png b/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png new file mode 100644 index 00000000..a1ceebbf Binary files /dev/null and b/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png differ diff --git a/src/com.gluster.storage.management.console/plugin.xml b/src/com.gluster.storage.management.console/plugin.xml index 6983b9dd..95615346 100644 --- a/src/com.gluster.storage.management.console/plugin.xml +++ b/src/com.gluster.storage.management.console/plugin.xml @@ -528,7 +528,7 @@ 0); + if (volume != null) { + action.setEnabled(volume.getOptions().size() > 0); + } else { + action.setEnabled(false); + } } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java index 3c192f62..72e62447 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java @@ -42,13 +42,13 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer { store.setDefault(PreferenceConstants.P_DATA_SYNC_INTERVAL, 300); // Default CPU utilisation threshold - store.setDefault(PreferenceConstants.P_SERVER_CPU_CRITICAL_THRESHOLD, 95); + store.setDefault(PreferenceConstants.P_SERVER_CPU_CRITICAL_THRESHOLD, 80); // Default Memory threshold - store.setDefault(PreferenceConstants.P_SERVER_MEMORY_USAGE_THRESHOLD, 90); + store.setDefault(PreferenceConstants.P_SERVER_MEMORY_USAGE_THRESHOLD, 80); // Default disk free space threshold - store.setDefault(PreferenceConstants.P_DISK_SPACE_USAGE_THRESHOLD, 90); + store.setDefault(PreferenceConstants.P_DISK_SPACE_USAGE_THRESHOLD, 80); // Default period for server statistics charts store.setDefault(PreferenceConstants.P_CPU_CHART_PERIOD, "1d"); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java index 6187d5ad..b459c361 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java @@ -278,6 +278,9 @@ public class ClusterSummaryView extends ViewPart { case CPU_USAGE_ALERT: alertImage = guiHelper.getImage(IImageKeys.SERVER_WARNING_22x22); break; + case OFFLINE_VOLUME_ALERT: + alertImage = guiHelper.getImage(IImageKeys.VOLUME_OFFLINE_22x22); + break; } lblAlert.setImage(alertImage); lblAlert.setText(alert.getMessage()); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java index b5604643..2cc188d3 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java @@ -22,6 +22,7 @@ package com.gluster.storage.management.console.views; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; @@ -102,6 +103,7 @@ public class VolumesSummaryView extends ViewPart { public void volumeChanged(Volume volume, Event event) { super.volumeChanged(volume, event); updateSummarySection(); + updateAlertSection(); } private void updateSummarySection() { @@ -140,6 +142,11 @@ public class VolumesSummaryView extends ViewPart { guiHelper.clearSection(tasksSection); populateTasks(); } + + private void updateAlertSection() { + guiHelper.clearSection(alertsSection); + populateAlertSection(); + } }; GlusterDataModelManager.getInstance().addClusterListener(clusterListener); } @@ -166,7 +173,8 @@ public class VolumesSummaryView extends ViewPart { private void populateAlertSection() { for (Alert alert : cluster.getAlerts()) { - if (alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT) { + if (alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT + || alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_ALERT) { addAlertLabel(alertsSection, alert); } } @@ -176,8 +184,20 @@ public class VolumesSummaryView extends ViewPart { private void addAlertLabel(Composite section, Alert alert) { CLabel lblAlert = new CLabel(section, SWT.NONE); - lblAlert.setImage((alert.getType() == Alert.ALERT_TYPES.DISK_USAGE_ALERT) ? guiHelper - .getImage(IImageKeys.LOW_DISK_SPACE_22x22) : guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22)); + + Image alertImage = null; + switch (alert.getType()) { + case DISK_USAGE_ALERT: + alertImage = guiHelper.getImage(IImageKeys.LOW_DISK_SPACE_22x22); + break; + case OFFLINE_VOLUME_BRICKS_ALERT: + alertImage = guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22); + break; + case OFFLINE_VOLUME_ALERT: + alertImage = guiHelper.getImage(IImageKeys.VOLUME_OFFLINE_22x22); + break; + } + lblAlert.setImage(alertImage); lblAlert.setText(alert.getMessage()); lblAlert.redraw(); } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java index a29c150b..ceb3e77e 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java @@ -5,11 +5,11 @@ import org.eclipse.osgi.internal.signedcontent.Base64; public class Alert extends Entity { public enum ALERT_TYPES { - CPU_USAGE_ALERT, MEMORY_USAGE_ALERT, DISK_USAGE_ALERT, OFFLINE_VOLUME_BRICKS_ALERT, OFFLINE_SERVERS_ALERT + CPU_USAGE_ALERT, MEMORY_USAGE_ALERT, DISK_USAGE_ALERT, OFFLINE_VOLUME_BRICKS_ALERT, OFFLINE_SERVERS_ALERT, OFFLINE_VOLUME_ALERT }; public static final String[] ALERT_TYPE_STR = { "High CPU Usage", "High Memory Usage", "Low Disk Space", - "Offline Brick", "Offline Server" }; + "Offline Brick", "Offline Server", "Offline Volume" }; // protected String id; protected ALERT_TYPES type; -- cgit From 3d18310608655c73fc8f6fae8e7df90da0cff7a7 Mon Sep 17 00:00:00 2001 From: Dhandapani Date: Tue, 11 Oct 2011 17:42:25 +0530 Subject: UI Changes - CPU/Memory/Disk Usage alerts set to 80% - Displayed Offline volumes in alert section --- .../icons/tango/22x22/offline-volume.png | Bin 0 -> 1034 bytes .../icons/tango/32x32/log-rotate.png | Bin 0 -> 1839 bytes .../plugin.xml | 2 +- .../storage/management/console/AlertsManager.java | 3 +++ .../storage/management/console/IImageKeys.java | 1 + .../console/actions/ResetVolumeOptionsAction.java | 6 +++++- .../console/preferences/PreferenceInitializer.java | 6 +++--- .../console/views/ClusterSummaryView.java | 3 +++ .../console/views/VolumesSummaryView.java | 23 ++++++++++++++++++--- .../storage/management/core/model/Alert.java | 4 ++-- 10 files changed, 38 insertions(+), 10 deletions(-) create mode 100644 src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png create mode 100644 src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png diff --git a/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png b/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png new file mode 100644 index 00000000..fa3a64f9 Binary files /dev/null and b/src/com.gluster.storage.management.console/icons/tango/22x22/offline-volume.png differ diff --git a/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png b/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png new file mode 100644 index 00000000..a1ceebbf Binary files /dev/null and b/src/com.gluster.storage.management.console/icons/tango/32x32/log-rotate.png differ diff --git a/src/com.gluster.storage.management.console/plugin.xml b/src/com.gluster.storage.management.console/plugin.xml index 6983b9dd..95615346 100644 --- a/src/com.gluster.storage.management.console/plugin.xml +++ b/src/com.gluster.storage.management.console/plugin.xml @@ -528,7 +528,7 @@ 0); + if (volume != null) { + action.setEnabled(volume.getOptions().size() > 0); + } else { + action.setEnabled(false); + } } } diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java index 3c192f62..72e62447 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/preferences/PreferenceInitializer.java @@ -42,13 +42,13 @@ public class PreferenceInitializer extends AbstractPreferenceInitializer { store.setDefault(PreferenceConstants.P_DATA_SYNC_INTERVAL, 300); // Default CPU utilisation threshold - store.setDefault(PreferenceConstants.P_SERVER_CPU_CRITICAL_THRESHOLD, 95); + store.setDefault(PreferenceConstants.P_SERVER_CPU_CRITICAL_THRESHOLD, 80); // Default Memory threshold - store.setDefault(PreferenceConstants.P_SERVER_MEMORY_USAGE_THRESHOLD, 90); + store.setDefault(PreferenceConstants.P_SERVER_MEMORY_USAGE_THRESHOLD, 80); // Default disk free space threshold - store.setDefault(PreferenceConstants.P_DISK_SPACE_USAGE_THRESHOLD, 90); + store.setDefault(PreferenceConstants.P_DISK_SPACE_USAGE_THRESHOLD, 80); // Default period for server statistics charts store.setDefault(PreferenceConstants.P_CPU_CHART_PERIOD, "1d"); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java index 6187d5ad..b459c361 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/ClusterSummaryView.java @@ -278,6 +278,9 @@ public class ClusterSummaryView extends ViewPart { case CPU_USAGE_ALERT: alertImage = guiHelper.getImage(IImageKeys.SERVER_WARNING_22x22); break; + case OFFLINE_VOLUME_ALERT: + alertImage = guiHelper.getImage(IImageKeys.VOLUME_OFFLINE_22x22); + break; } lblAlert.setImage(alertImage); lblAlert.setText(alert.getMessage()); diff --git a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java index b5604643..376345e6 100644 --- a/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java +++ b/src/com.gluster.storage.management.console/src/com/gluster/storage/management/console/views/VolumesSummaryView.java @@ -22,6 +22,7 @@ package com.gluster.storage.management.console.views; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; +import org.eclipse.swt.graphics.Image; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Display; @@ -102,6 +103,7 @@ public class VolumesSummaryView extends ViewPart { public void volumeChanged(Volume volume, Event event) { super.volumeChanged(volume, event); updateSummarySection(); + updateAlertSection(); } private void updateSummarySection() { @@ -140,6 +142,11 @@ public class VolumesSummaryView extends ViewPart { guiHelper.clearSection(tasksSection); populateTasks(); } + + private void updateAlertSection() { + guiHelper.clearSection(alertsSection); + populateAlertSection(); + } }; GlusterDataModelManager.getInstance().addClusterListener(clusterListener); } @@ -166,7 +173,8 @@ public class VolumesSummaryView extends ViewPart { private void populateAlertSection() { for (Alert alert : cluster.getAlerts()) { - if (alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT) { + if (alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT + || alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_ALERT) { addAlertLabel(alertsSection, alert); } } @@ -176,8 +184,17 @@ public class VolumesSummaryView extends ViewPart { private void addAlertLabel(Composite section, Alert alert) { CLabel lblAlert = new CLabel(section, SWT.NONE); - lblAlert.setImage((alert.getType() == Alert.ALERT_TYPES.DISK_USAGE_ALERT) ? guiHelper - .getImage(IImageKeys.LOW_DISK_SPACE_22x22) : guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22)); + + Image alertImage = null; + switch (alert.getType()) { + case OFFLINE_VOLUME_BRICKS_ALERT: + alertImage = guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22); + break; + case OFFLINE_VOLUME_ALERT: + alertImage = guiHelper.getImage(IImageKeys.VOLUME_OFFLINE_22x22); + break; + } + lblAlert.setImage(alertImage); lblAlert.setText(alert.getMessage()); lblAlert.redraw(); } diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java index a29c150b..ceb3e77e 100644 --- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java +++ b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java @@ -5,11 +5,11 @@ import org.eclipse.osgi.internal.signedcontent.Base64; public class Alert extends Entity { public enum ALERT_TYPES { - CPU_USAGE_ALERT, MEMORY_USAGE_ALERT, DISK_USAGE_ALERT, OFFLINE_VOLUME_BRICKS_ALERT, OFFLINE_SERVERS_ALERT + CPU_USAGE_ALERT, MEMORY_USAGE_ALERT, DISK_USAGE_ALERT, OFFLINE_VOLUME_BRICKS_ALERT, OFFLINE_SERVERS_ALERT, OFFLINE_VOLUME_ALERT }; public static final String[] ALERT_TYPE_STR = { "High CPU Usage", "High Memory Usage", "Low Disk Space", - "Offline Brick", "Offline Server" }; + "Offline Brick", "Offline Server", "Offline Volume" }; // protected String id; protected ALERT_TYPES type; -- cgit