CPU Usage (in \%)

ComTrade.EMC.Documentum.Windows.MethodServer.CPU.Usage.Diagnostics (Diagnostic)

Lists all processes with CPU and related data.

Element properties:

TargetComTrade.EMC.Documentum.Windows.DmBasicMethodServer
MonitorComTrade.EMC.Documentum.Windows.MethodServer.CPU.Usage.Monitor
RemotableTrue
Timeout300
Execute On StateWarning
CategoryMaintenance
Enabledtrue
AccessibilityInternal

Source Code:

<Diagnostic ID="ComTrade.EMC.Documentum.Windows.MethodServer.CPU.Usage.Diagnostics" Accessibility="Internal" Enabled="true" Target="CTDmWinDisc!ComTrade.EMC.Documentum.Windows.DmBasicMethodServer" Monitor="ComTrade.EMC.Documentum.Windows.MethodServer.CPU.Usage.Monitor" ExecuteOnState="Warning" Remotable="true" Timeout="300">
<Category>Maintenance</Category>
<ProbeAction ID="PA" TypeID="ComTrade.EMC.Documentum.PA.Xml.Generic.CommandExecuter.Provider">
<ScriptFilename>CTDmMPDMBMSCPUUDiagDataProv.js</ScriptFilename>
<XslFilter>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"&gt;
&lt;xsl:output method="xml" indent="yes" encoding="UTF-8"/&gt;
&lt;xsl:strip-space elements="*"/&gt;
&lt;xsl:template name="matchProcesses"&gt;
&lt;xsl:param name="cNode" /&gt;
&lt;xsl:param name="cname" /&gt;
&lt;xsl:param name="csname" /&gt;
&lt;xsl:param name="rpname" /&gt;
&lt;xsl:param name="rpid" /&gt;
&lt;xsl:param name="totalcpu" /&gt;
&lt;xsl:param name="totalmemsz" /&gt;
&lt;xsl:param name="totalvmsz" /&gt;
&lt;xsl:param name="threadscount" /&gt;
&lt;xsl:param name="ctime" /&gt;
&lt;xsl:variable name="mainprocess"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$totalcpu=&amp;quot;-1&amp;quot;"&gt;
&lt;xsl:value-of select="1"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:value-of select="0"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:variable&gt;
&lt;xsl:variable name="tcpu"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$totalcpu=&amp;quot;-1&amp;quot;"&gt;
&lt;xsl:value-of select="sum(descendant-or-self::*\/@cpu)"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:value-of select="$totalcpu"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:variable&gt;
&lt;xsl:variable name="tmemsz"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$totalmemsz=&amp;quot;-1&amp;quot;"&gt;
&lt;xsl:value-of select="sum(descendant-or-self::*\/@memsz)"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:value-of select="$totalmemsz"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:variable&gt;
&lt;xsl:variable name="tvmsz"&gt;
&lt;xsl:choose&gt;
&lt;xsl:when test="$totalvmsz=&amp;quot;-1&amp;quot;"&gt;
&lt;xsl:value-of select="sum(descendant-or-self::*\/@vmsz)"/&gt;
&lt;/xsl:when&gt;
&lt;xsl:otherwise&gt;
&lt;xsl:value-of select="$totalvmsz"/&gt;
&lt;/xsl:otherwise&gt;
&lt;/xsl:choose&gt;
&lt;/xsl:variable&gt;
&lt;xsl:for-each select="$cNode/process"&gt;
&lt;xsl:sort select="@cpu"/&gt;
&lt;DataItem&gt;
&lt;Property Name="RepositoryName"&gt;&lt;xsl:value-of select="$rpname"/&gt;&lt;/Property&gt;
&lt;Property Name="RepositoryId"&gt;&lt;xsl:value-of select="$rpid"/&gt;&lt;/Property&gt;
&lt;Property Name="ContentServerName"&gt;&lt;xsl:value-of select="$csname"/&gt;&lt;/Property&gt;
&lt;Property Name="Name"&gt;&lt;xsl:value-of select="$cname"/&gt;&lt;/Property&gt;
&lt;Property Name="ProcessName"&gt;&lt;xsl:value-of select="@name"/&gt;&lt;/Property&gt;
&lt;Property Name="ProcessId"&gt;&lt;xsl:value-of select="@pid"/&gt;&lt;/Property&gt;
&lt;Property Name="ParentProcessId"&gt;&lt;xsl:value-of select="@ppid"/&gt;&lt;/Property&gt;
&lt;Property Name="MainProcess"&gt;&lt;xsl:value-of select="$mainprocess"/&gt;&lt;/Property&gt;
&lt;Property Name="ThreadsCount"&gt;&lt;xsl:value-of select="$threadscount"/&gt;&lt;/Property&gt;
&lt;Property Name="ChildCount"&gt;&lt;xsl:value-of select="count(descendant::*)"/&gt;&lt;/Property&gt;
&lt;Property Name="ProcessCPU"&gt;&lt;xsl:value-of select="@cpu"/&gt;&lt;/Property&gt;
&lt;Property Name="OverallChildsCPU"&gt;&lt;xsl:value-of select="sum(descendant::*\/@cpu)"/&gt;&lt;/Property&gt;
&lt;Property Name="OverallCPU"&gt;&lt;xsl:value-of select="$tcpu"/&gt;&lt;/Property&gt;
&lt;Property Name="ProcessCheckTime"&gt;&lt;xsl:value-of select="$ctime"/&gt;&lt;/Property&gt;
&lt;Property Name="CommandLine"&gt;&lt;xsl:value-of select="@params"/&gt;&lt;/Property&gt;
&lt;/DataItem&gt;
&lt;xsl:call-template name="matchProcesses"&gt;
&lt;xsl:with-param name="cNode" select="." /&gt;
&lt;xsl:with-param name="cname" select="$cname" /&gt;
&lt;xsl:with-param name="csname" select="$csname" /&gt;
&lt;xsl:with-param name="rpname" select="$rpname" /&gt;
&lt;xsl:with-param name="rpid" select="$rpid" /&gt;
&lt;xsl:with-param name="totalcpu" select="$tcpu" /&gt;
&lt;xsl:with-param name="totalmemsz" select="$tmemsz" /&gt;
&lt;xsl:with-param name="totalvmsz" select="$tvmsz" /&gt;
&lt;xsl:with-param name="threadscount" select="$threadscount" /&gt;
&lt;xsl:with-param name="ctime" select="$ctime" /&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:for-each&gt;
&lt;/xsl:template&gt;
&lt;xsl:template name="matchMthdsvrs"&gt;
&lt;xsl:for-each select="repositories/repository/contentservers/contentserver/mthdsvr"&gt;
&lt;xsl:if test="health"&gt;
&lt;xsl:call-template name="matchProcesses"&gt;
&lt;xsl:with-param name="cNode" select="health" /&gt;
&lt;xsl:with-param name="cname" select="@name" /&gt;
&lt;xsl:with-param name="csname" select="../@name" /&gt;
&lt;xsl:with-param name="rpname" select="../../../@name" /&gt;
&lt;xsl:with-param name="rpid" select="../../../@id" /&gt;
&lt;xsl:with-param name="totalcpu" select="-1" /&gt;
&lt;xsl:with-param name="totalmemsz" select="-1" /&gt;
&lt;xsl:with-param name="totalvmsz" select="-1" /&gt;
&lt;xsl:with-param name="threadscount" select="@method_server_threads" /&gt;
&lt;xsl:with-param name="ctime" select="health/@time" /&gt;
&lt;/xsl:call-template&gt;
&lt;/xsl:if&gt;
&lt;/xsl:for-each&gt;
&lt;/xsl:template&gt;
&lt;xsl:template match="*"&gt;
&lt;Collection&gt;
&lt;xsl:call-template name="matchMthdsvrs"/&gt;
&lt;/Collection&gt;
&lt;/xsl:template&gt;
&lt;/xsl:stylesheet&gt;</XslFilter>
<ValueProperties>ContentServerName!!Next!!RepositoryName!!Next!!RepositoryId</ValueProperties>
<ValuePropertyValues>$Target/Property[Type="CTDmLib!ComTrade.EMC.Documentum.ContentServer.Component"]/ServerConfigName$!!Next!!$Target/Property[Type="CTDmLib!ComTrade.EMC.Documentum.Repository.Component"]/Name$!!Next!!$Target/Property[Type="CTDmLib!ComTrade.EMC.Documentum.Repository.Component"]/Id$</ValuePropertyValues>
<TargetComputer>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</TargetComputer>
</ProbeAction>
</Diagnostic>