CP-13770: Configure the alerts for SR physical utilisation in XenCenter

Signed-off-by: Mihaela Stoica <mihaela.stoica@citrix.com>
This commit is contained in:
Mihaela Stoica 2015-09-21 00:04:46 +01:00
parent 14e0330291
commit 84372eb118
6 changed files with 389 additions and 14 deletions

View File

@ -34,6 +34,14 @@ namespace XenAdmin.SettingsPanels
this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
this.label1 = new System.Windows.Forms.Label();
this.nudAlertInterval = new XenAdmin.SettingsPanels.AlertNumericUpDown();
this.PhysicalUtilisationGroupBox = new XenAdmin.Controls.DecentGroupBox();
this.physicalUtilisationMinutesLabel = new System.Windows.Forms.Label();
this.nudPhysicalUtilisationDurationThreshold = new XenAdmin.SettingsPanels.AlertNumericUpDown();
this.physicalUtilisationPercentLabel = new System.Windows.Forms.Label();
this.nudPhysicalUtilisation = new XenAdmin.SettingsPanels.AlertNumericUpDown();
this.physicalUtilisationAlertCheckBox = new XenAdmin.SettingsPanels.AlertCheckBox();
this.physicalUtilisationDurationLabel = new System.Windows.Forms.Label();
this.physicalUtilisationLabel = new System.Windows.Forms.Label();
this.Dom0MemoryUsageGroupBox = new XenAdmin.Controls.DecentGroupBox();
this.nudDom0MemUsage = new XenAdmin.SettingsPanels.AlertNumericUpDown();
this.Dom0MemoryDurationThresholdLabel = new System.Windows.Forms.Label();
@ -84,6 +92,9 @@ namespace XenAdmin.SettingsPanels
this.CPUDurationThresholdLabel = new System.Windows.Forms.Label();
this.tableLayoutPanel1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudAlertInterval)).BeginInit();
this.PhysicalUtilisationGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudPhysicalUtilisationDurationThreshold)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nudPhysicalUtilisation)).BeginInit();
this.Dom0MemoryUsageGroupBox.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nudDom0MemUsage)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nudDom0MemoryDurationThreshold)).BeginInit();
@ -117,6 +128,7 @@ namespace XenAdmin.SettingsPanels
// tableLayoutPanel1
//
resources.ApplyResources(this.tableLayoutPanel1, "tableLayoutPanel1");
this.tableLayoutPanel1.Controls.Add(this.PhysicalUtilisationGroupBox, 0, 6);
this.tableLayoutPanel1.Controls.Add(this.Dom0MemoryUsageGroupBox, 0, 5);
this.tableLayoutPanel1.Controls.Add(this.MemoryGroupBox, 0, 3);
this.tableLayoutPanel1.Controls.Add(this.SrGroupBox, 0, 4);
@ -155,6 +167,86 @@ namespace XenAdmin.SettingsPanels
0,
0});
//
// PhysicalUtilisationGroupBox
//
this.PhysicalUtilisationGroupBox.Controls.Add(this.physicalUtilisationMinutesLabel);
this.PhysicalUtilisationGroupBox.Controls.Add(this.nudPhysicalUtilisationDurationThreshold);
this.PhysicalUtilisationGroupBox.Controls.Add(this.physicalUtilisationPercentLabel);
this.PhysicalUtilisationGroupBox.Controls.Add(this.nudPhysicalUtilisation);
this.PhysicalUtilisationGroupBox.Controls.Add(this.physicalUtilisationAlertCheckBox);
this.PhysicalUtilisationGroupBox.Controls.Add(this.physicalUtilisationDurationLabel);
this.PhysicalUtilisationGroupBox.Controls.Add(this.physicalUtilisationLabel);
resources.ApplyResources(this.PhysicalUtilisationGroupBox, "PhysicalUtilisationGroupBox");
this.PhysicalUtilisationGroupBox.Name = "PhysicalUtilisationGroupBox";
this.PhysicalUtilisationGroupBox.TabStop = false;
//
// physicalUtilisationMinutesLabel
//
resources.ApplyResources(this.physicalUtilisationMinutesLabel, "physicalUtilisationMinutesLabel");
this.physicalUtilisationMinutesLabel.Name = "physicalUtilisationMinutesLabel";
//
// nudPhysicalUtilisationDurationThreshold
//
resources.ApplyResources(this.nudPhysicalUtilisationDurationThreshold, "nudPhysicalUtilisationDurationThreshold");
this.nudPhysicalUtilisationDurationThreshold.Maximum = new decimal(new int[] {
60,
0,
0,
0});
this.nudPhysicalUtilisationDurationThreshold.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.nudPhysicalUtilisationDurationThreshold.Name = "nudPhysicalUtilisationDurationThreshold";
this.nudPhysicalUtilisationDurationThreshold.Value = new decimal(new int[] {
1,
0,
0,
0});
//
// physicalUtilisationPercentLabel
//
resources.ApplyResources(this.physicalUtilisationPercentLabel, "physicalUtilisationPercentLabel");
this.physicalUtilisationPercentLabel.Name = "physicalUtilisationPercentLabel";
//
// nudPhysicalUtilisation
//
this.nudPhysicalUtilisation.Increment = new decimal(new int[] {
5,
0,
0,
0});
resources.ApplyResources(this.nudPhysicalUtilisation, "nudPhysicalUtilisation");
this.nudPhysicalUtilisation.Minimum = new decimal(new int[] {
1,
0,
0,
0});
this.nudPhysicalUtilisation.Name = "nudPhysicalUtilisation";
this.nudPhysicalUtilisation.Value = new decimal(new int[] {
80,
0,
0,
0});
//
// physicalUtilisationAlertCheckBox
//
resources.ApplyResources(this.physicalUtilisationAlertCheckBox, "physicalUtilisationAlertCheckBox");
this.physicalUtilisationAlertCheckBox.BackColor = System.Drawing.Color.White;
this.physicalUtilisationAlertCheckBox.Name = "physicalUtilisationAlertCheckBox";
this.physicalUtilisationAlertCheckBox.UseVisualStyleBackColor = false;
//
// physicalUtilisationDurationLabel
//
resources.ApplyResources(this.physicalUtilisationDurationLabel, "physicalUtilisationDurationLabel");
this.physicalUtilisationDurationLabel.Name = "physicalUtilisationDurationLabel";
//
// physicalUtilisationLabel
//
resources.ApplyResources(this.physicalUtilisationLabel, "physicalUtilisationLabel");
this.physicalUtilisationLabel.Name = "physicalUtilisationLabel";
//
// Dom0MemoryUsageGroupBox
//
this.Dom0MemoryUsageGroupBox.Controls.Add(this.nudDom0MemUsage);
@ -662,6 +754,10 @@ namespace XenAdmin.SettingsPanels
this.Name = "PerfmonAlertEditPage";
this.tableLayoutPanel1.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.nudAlertInterval)).EndInit();
this.PhysicalUtilisationGroupBox.ResumeLayout(false);
this.PhysicalUtilisationGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nudPhysicalUtilisationDurationThreshold)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nudPhysicalUtilisation)).EndInit();
this.Dom0MemoryUsageGroupBox.ResumeLayout(false);
this.Dom0MemoryUsageGroupBox.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nudDom0MemUsage)).EndInit();
@ -746,5 +842,13 @@ namespace XenAdmin.SettingsPanels
private AlertCheckBox Dom0MemoryAlertCheckBox;
private System.Windows.Forms.Label dom0MemoryMinutesLabel;
private System.Windows.Forms.Label dom0MemoryPercentLabel;
private Controls.DecentGroupBox PhysicalUtilisationGroupBox;
private System.Windows.Forms.Label physicalUtilisationMinutesLabel;
private AlertNumericUpDown nudPhysicalUtilisationDurationThreshold;
private System.Windows.Forms.Label physicalUtilisationPercentLabel;
private AlertNumericUpDown nudPhysicalUtilisation;
private AlertCheckBox physicalUtilisationAlertCheckBox;
private System.Windows.Forms.Label physicalUtilisationDurationLabel;
private System.Windows.Forms.Label physicalUtilisationLabel;
}
}

View File

@ -60,6 +60,7 @@ namespace XenAdmin.SettingsPanels
private readonly AlertGroup memoryAlert;
private readonly AlertGroup srAlert;
private readonly AlertGroup dom0MemoryAlert;
private readonly AlertGroup physicalUtilisationAlert;
public PerfmonAlertEditPage()
{
@ -169,19 +170,35 @@ namespace XenAdmin.SettingsPanels
GuiToXapiAlertInterval = (num => num * 60),
};
physicalUtilisationAlert = new AlertGroup(physicalUtilisationAlertCheckBox, PhysicalUtilisationGroupBox,
nudPhysicalUtilisation, nudPhysicalUtilisationDurationThreshold, nudAlertInterval,
new[] { physicalUtilisationLabel, physicalUtilisationDurationLabel, physicalUtilisationPercentLabel, physicalUtilisationMinutesLabel })
{
AlertEnablementChanged = SetAlertIntervalEnablement,
SubTextFormat = Messages.ALERT_SR_PHYSICAL_UTILISATION_SUB_TEXT,
PerfmonDefinitionName = PerfmonDefinition.ALARM_TYPE_SR_PHYSICAL_UTILISATION,
XapiToGuiTriggerLevel = (num => num * 100),
XapiToGuiTriggerPeriod = (num => num / 60),
XapiToGuiAlertInterval = (num => num / 60),
GuiToXapiTriggerLevel = (num => num / 100),
GuiToXapiTriggerPeriod = (num => num * 60),
GuiToXapiAlertInterval = (num => num * 60),
};
cpuAlert.ToggleAlertGroupEnablement();
netAlert.ToggleAlertGroupEnablement();
diskAlert.ToggleAlertGroupEnablement();
memoryAlert.ToggleAlertGroupEnablement();
srAlert.ToggleAlertGroupEnablement();
dom0MemoryAlert.ToggleAlertGroupEnablement();
physicalUtilisationAlert.ToggleAlertGroupEnablement();
}
public string SubText
{
get
{
var subs = from AlertGroup g in new[] { cpuAlert, netAlert, diskAlert, memoryAlert, srAlert }
var subs = from AlertGroup g in new[] { cpuAlert, netAlert, diskAlert, memoryAlert, srAlert, physicalUtilisationAlert }
where !string.IsNullOrEmpty(g.SubText)
select g.SubText;
@ -208,6 +225,7 @@ namespace XenAdmin.SettingsPanels
memoryAlert.Show(isHost && Helpers.ClearwaterOrGreater(_XenObject.Connection));
srAlert.Show(isSr && Helpers.ClearwaterOrGreater(_XenObject.Connection));
dom0MemoryAlert.Show(isHost && Helpers.CreedenceOrGreater(_XenObject.Connection));
physicalUtilisationAlert.Show(isSr && ((SR)_XenObject).IsThinProvisioned);
if (isHost)
{
@ -244,6 +262,8 @@ namespace XenAdmin.SettingsPanels
srAlert.Populate(perfmonDefinition);
else if (perfmonDefinition.IsDom0MemoryUsage)
dom0MemoryAlert.Populate(perfmonDefinition);
else if (perfmonDefinition.IsSrPhysicalUtilisation)
physicalUtilisationAlert.Populate(perfmonDefinition);
}
}
catch { }
@ -257,7 +277,7 @@ namespace XenAdmin.SettingsPanels
return true;
if (_XenObject is SR)
return srAlert.HasChanged;
return srAlert.HasChanged || physicalUtilisationAlert.HasChanged;
if (_XenObject is VM)
return cpuAlert.HasChanged || netAlert.HasChanged || diskAlert.HasChanged;
@ -322,13 +342,16 @@ namespace XenAdmin.SettingsPanels
if (_XenObject is Host && dom0MemoryAlert.Enabled)
perfmonDefinitions.Add(dom0MemoryAlert.AlertDefinition);
if (_XenObject is SR && physicalUtilisationAlert.Enabled)
perfmonDefinitions.Add(physicalUtilisationAlert.AlertDefinition);
return new PerfmonDefinitionAction(_XenObject, perfmonDefinitions, true);
}
private void SetAlertIntervalEnablement()
{
bool enable = cpuAlert.Enabled || netAlert.Enabled || diskAlert.Enabled
|| memoryAlert.Enabled || srAlert.Enabled || dom0MemoryAlert.Enabled;
|| memoryAlert.Enabled || srAlert.Enabled || dom0MemoryAlert.Enabled || physicalUtilisationAlert.Enabled;
nudAlertInterval.Enabled = enable;
AlertIntervalMinutesLabel.Enabled = enable;

View File

@ -198,6 +198,237 @@
<data name="tableLayoutPanel1.ColumnCount" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="physicalUtilisationMinutesLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="physicalUtilisationMinutesLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="physicalUtilisationMinutesLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>372, 50</value>
</data>
<data name="physicalUtilisationMinutesLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>43, 13</value>
</data>
<data name="physicalUtilisationMinutesLabel.TabIndex" type="System.Int32, mscorlib">
<value>6</value>
</data>
<data name="physicalUtilisationMinutesLabel.Text" xml:space="preserve">
<value>minutes</value>
</data>
<data name="&gt;&gt;physicalUtilisationMinutesLabel.Name" xml:space="preserve">
<value>physicalUtilisationMinutesLabel</value>
</data>
<data name="&gt;&gt;physicalUtilisationMinutesLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;physicalUtilisationMinutesLabel.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationMinutesLabel.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="nudPhysicalUtilisationDurationThreshold.Location" type="System.Drawing.Point, System.Drawing">
<value>290, 48</value>
</data>
<data name="nudPhysicalUtilisationDurationThreshold.Margin" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 0</value>
</data>
<data name="nudPhysicalUtilisationDurationThreshold.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 20</value>
</data>
<data name="nudPhysicalUtilisationDurationThreshold.TabIndex" type="System.Int32, mscorlib">
<value>5</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisationDurationThreshold.Name" xml:space="preserve">
<value>nudPhysicalUtilisationDurationThreshold</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisationDurationThreshold.Type" xml:space="preserve">
<value>XenAdmin.SettingsPanels.AlertNumericUpDown, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisationDurationThreshold.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisationDurationThreshold.ZOrder" xml:space="preserve">
<value>1</value>
</data>
<data name="physicalUtilisationPercentLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="physicalUtilisationPercentLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="physicalUtilisationPercentLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>372, 24</value>
</data>
<data name="physicalUtilisationPercentLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>15, 13</value>
</data>
<data name="physicalUtilisationPercentLabel.TabIndex" type="System.Int32, mscorlib">
<value>3</value>
</data>
<data name="physicalUtilisationPercentLabel.Text" xml:space="preserve">
<value>%</value>
</data>
<data name="&gt;&gt;physicalUtilisationPercentLabel.Name" xml:space="preserve">
<value>physicalUtilisationPercentLabel</value>
</data>
<data name="&gt;&gt;physicalUtilisationPercentLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;physicalUtilisationPercentLabel.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationPercentLabel.ZOrder" xml:space="preserve">
<value>2</value>
</data>
<data name="nudPhysicalUtilisation.Location" type="System.Drawing.Point, System.Drawing">
<value>290, 22</value>
</data>
<data name="nudPhysicalUtilisation.Size" type="System.Drawing.Size, System.Drawing">
<value>75, 20</value>
</data>
<data name="nudPhysicalUtilisation.TabIndex" type="System.Int32, mscorlib">
<value>2</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisation.Name" xml:space="preserve">
<value>nudPhysicalUtilisation</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisation.Type" xml:space="preserve">
<value>XenAdmin.SettingsPanels.AlertNumericUpDown, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisation.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;nudPhysicalUtilisation.ZOrder" xml:space="preserve">
<value>3</value>
</data>
<data name="physicalUtilisationAlertCheckBox.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="physicalUtilisationAlertCheckBox.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="physicalUtilisationAlertCheckBox.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 0</value>
</data>
<data name="physicalUtilisationAlertCheckBox.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 0, 0, 0</value>
</data>
<data name="physicalUtilisationAlertCheckBox.Size" type="System.Drawing.Size, System.Drawing">
<value>241, 17</value>
</data>
<data name="physicalUtilisationAlertCheckBox.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
</data>
<data name="physicalUtilisationAlertCheckBox.Text" xml:space="preserve">
<value>Generate storage repository &amp;disk space alerts</value>
</data>
<data name="&gt;&gt;physicalUtilisationAlertCheckBox.Name" xml:space="preserve">
<value>physicalUtilisationAlertCheckBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationAlertCheckBox.Type" xml:space="preserve">
<value>XenAdmin.SettingsPanels.AlertCheckBox, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;physicalUtilisationAlertCheckBox.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationAlertCheckBox.ZOrder" xml:space="preserve">
<value>4</value>
</data>
<data name="physicalUtilisationDurationLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="physicalUtilisationDurationLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="physicalUtilisationDurationLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 50</value>
</data>
<data name="physicalUtilisationDurationLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>81, 13</value>
</data>
<data name="physicalUtilisationDurationLabel.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
</data>
<data name="physicalUtilisationDurationLabel.Text" xml:space="preserve">
<value>For longer &amp;than:</value>
</data>
<data name="physicalUtilisationDurationLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;physicalUtilisationDurationLabel.Name" xml:space="preserve">
<value>physicalUtilisationDurationLabel</value>
</data>
<data name="&gt;&gt;physicalUtilisationDurationLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;physicalUtilisationDurationLabel.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationDurationLabel.ZOrder" xml:space="preserve">
<value>5</value>
</data>
<data name="physicalUtilisationLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
</data>
<data name="physicalUtilisationLabel.ImeMode" type="System.Windows.Forms.ImeMode, System.Windows.Forms">
<value>NoControl</value>
</data>
<data name="physicalUtilisationLabel.Location" type="System.Drawing.Point, System.Drawing">
<value>12, 24</value>
</data>
<data name="physicalUtilisationLabel.Size" type="System.Drawing.Size, System.Drawing">
<value>187, 13</value>
</data>
<data name="physicalUtilisationLabel.TabIndex" type="System.Int32, mscorlib">
<value>1</value>
</data>
<data name="physicalUtilisationLabel.Text" xml:space="preserve">
<value>When SR physical utilisation &amp;exceeds:</value>
</data>
<data name="physicalUtilisationLabel.TextAlign" type="System.Drawing.ContentAlignment, System.Drawing">
<value>MiddleLeft</value>
</data>
<data name="&gt;&gt;physicalUtilisationLabel.Name" xml:space="preserve">
<value>physicalUtilisationLabel</value>
</data>
<data name="&gt;&gt;physicalUtilisationLabel.Type" xml:space="preserve">
<value>System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="&gt;&gt;physicalUtilisationLabel.Parent" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;physicalUtilisationLabel.ZOrder" xml:space="preserve">
<value>6</value>
</data>
<data name="PhysicalUtilisationGroupBox.Location" type="System.Drawing.Point, System.Drawing">
<value>3, 507</value>
</data>
<data name="PhysicalUtilisationGroupBox.Padding" type="System.Windows.Forms.Padding, System.Windows.Forms">
<value>3, 3, 3, 0</value>
</data>
<data name="PhysicalUtilisationGroupBox.Size" type="System.Drawing.Size, System.Drawing">
<value>445, 78</value>
</data>
<data name="PhysicalUtilisationGroupBox.TabIndex" type="System.Int32, mscorlib">
<value>8</value>
</data>
<data name="PhysicalUtilisationGroupBox.Text" xml:space="preserve">
<value> </value>
</data>
<data name="&gt;&gt;PhysicalUtilisationGroupBox.Name" xml:space="preserve">
<value>PhysicalUtilisationGroupBox</value>
</data>
<data name="&gt;&gt;PhysicalUtilisationGroupBox.Type" xml:space="preserve">
<value>XenAdmin.Controls.DecentGroupBox, XenCenterMain, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</value>
</data>
<data name="&gt;&gt;PhysicalUtilisationGroupBox.Parent" xml:space="preserve">
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;PhysicalUtilisationGroupBox.ZOrder" xml:space="preserve">
<value>0</value>
</data>
<data name="nudDom0MemUsage.Location" type="System.Drawing.Point, System.Drawing">
<value>290, 22</value>
</data>
@ -427,7 +658,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;Dom0MemoryUsageGroupBox.ZOrder" xml:space="preserve">
<value>0</value>
<value>1</value>
</data>
<data name="memoryMinutesLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -658,7 +889,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;MemoryGroupBox.ZOrder" xml:space="preserve">
<value>1</value>
<value>2</value>
</data>
<data name="srMinutesLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -889,7 +1120,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;SrGroupBox.ZOrder" xml:space="preserve">
<value>2</value>
<value>3</value>
</data>
<data name="DiskMinutesLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -1120,7 +1351,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;DiskGroupBox.ZOrder" xml:space="preserve">
<value>3</value>
<value>4</value>
</data>
<data name="NetPercentLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -1348,7 +1579,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;NetGroupBox.ZOrder" xml:space="preserve">
<value>4</value>
<value>5</value>
</data>
<data name="cpuPercentLabel.AutoSize" type="System.Boolean, mscorlib">
<value>True</value>
@ -1579,7 +1810,7 @@
<value>tableLayoutPanel1</value>
</data>
<data name="&gt;&gt;CpuGroupBox.ZOrder" xml:space="preserve">
<value>5</value>
<value>6</value>
</data>
<data name="tableLayoutPanel1.Location" type="System.Drawing.Point, System.Drawing">
<value>6, 83</value>
@ -1588,10 +1819,10 @@
<value>3, 10, 3, 3</value>
</data>
<data name="tableLayoutPanel1.RowCount" type="System.Int32, mscorlib">
<value>6</value>
<value>7</value>
</data>
<data name="tableLayoutPanel1.Size" type="System.Drawing.Size, System.Drawing">
<value>451, 504</value>
<value>451, 588</value>
</data>
<data name="tableLayoutPanel1.TabIndex" type="System.Int32, mscorlib">
<value>4</value>
@ -1609,7 +1840,7 @@
<value>4</value>
</data>
<data name="tableLayoutPanel1.LayoutSettings" type="System.Windows.Forms.TableLayoutSettings, System.Windows.Forms">
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="Dom0MemoryUsageGroupBox" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="MemoryGroupBox" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="SrGroupBox" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="DiskGroupBox" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="NetGroupBox" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="CpuGroupBox" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
<value>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;TableLayoutSettings&gt;&lt;Controls&gt;&lt;Control Name="PhysicalUtilisationGroupBox" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="Dom0MemoryUsageGroupBox" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="MemoryGroupBox" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="SrGroupBox" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="DiskGroupBox" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="NetGroupBox" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;Control Name="CpuGroupBox" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /&gt;&lt;/Controls&gt;&lt;Columns Styles="Percent,100" /&gt;&lt;Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /&gt;&lt;/TableLayoutSettings&gt;</value>
</data>
<data name="label1.Anchor" type="System.Windows.Forms.AnchorStyles, System.Windows.Forms">
<value>Top, Left, Right</value>
@ -1624,7 +1855,7 @@
<value>3, 3, 3, 3</value>
</data>
<data name="label1.Size" type="System.Drawing.Size, System.Drawing">
<value>482, 53</value>
<value>454, 53</value>
</data>
<data name="label1.TabIndex" type="System.Int32, mscorlib">
<value>0</value>
@ -1678,7 +1909,7 @@
<value>GrowAndShrink</value>
</data>
<data name="$this.Size" type="System.Drawing.Size, System.Drawing">
<value>488, 608</value>
<value>420, 538</value>
</data>
<data name="&gt;&gt;$this.Name" xml:space="preserve">
<value>PerfmonAlertEditPage</value>

View File

@ -120,6 +120,11 @@ namespace XenAdmin.Alerts
get { return name.Equals(ALARM_TYPE_SR); }
}
public bool IsSrPhysicalUtilisation
{
get { return name.Equals(ALARM_TYPE_SR_PHYSICAL_UTILISATION); }
}
public decimal AlarmTriggerLevel
{
get { return alarmTriggerLevel; }

View File

@ -4585,6 +4585,15 @@ namespace XenAdmin {
}
}
/// <summary>
/// Looks up a localized string similar to When SR physical utilisation exceeds {0} for {1} min(s).
/// </summary>
public static string ALERT_SR_PHYSICAL_UTILISATION_SUB_TEXT {
get {
return ResourceManager.GetString("ALERT_SR_PHYSICAL_UTILISATION_SUB_TEXT", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to When storage throughput exceeds {0} for {1} min(s).
/// </summary>

View File

@ -1687,6 +1687,9 @@ Note that if RBAC is enabled, only alerts which you have privileges to dismiss w
<data name="ALERT_NEW_VERSION_DOWNLOAD" xml:space="preserve">
<value>Go to Web Page</value>
</data>
<data name="ALERT_SR_PHYSICAL_UTILISATION_SUB_TEXT" xml:space="preserve">
<value>When SR physical utilisation exceeds {0} for {1} min(s)</value>
</data>
<data name="ALERT_SR_SUB_TEXT" xml:space="preserve">
<value>When storage throughput exceeds {0} for {1} min(s)</value>
</data>