#-MIBFILE: cisco-process.mib

CISCO-PROCESS-MIB DEFINITIONS ::= BEGIN


DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

cisco OBJECT IDENTIFIER ::= { enterprises 9 }
ciscoMgmt OBJECT IDENTIFIER ::= { cisco 9 }
CiscoNetworkProtocol ::=
	INTEGER {
	ip(1),
	decnet(2),
	pup(3),
	chaos(4),
	xns(5),
	x121(6),
	appletalk(7),
	clns(8),
	lat(9),
	vines(10),
	cons(11),
	apollo(12),
	stun(13),
	novell(14),
	qllc(15),
	snapshot(16),
	atmIlmi(17),
	bstun(18),
	x25pvc(19),
	ipv6(20),
	cdm(21),
	nbf(22),
	bpxIgx(23),
	clnsPfx(24),
	http(25),
	unknown(65535)
	}

CiscoNetworkAddress ::=
	OCTET STRING

InterfaceIndexOrZero ::=
	INTEGER (0..2147483647)

SAPType ::=
	INTEGER (0..254)

CountryCode ::=
	OCTET STRING (SIZE(0|2))

CountryCodeITU ::=
	OCTET STRING

EntPhysicalIndexOrZero ::=
	INTEGER (0..2147483647)

CiscoRowOperStatus ::=
	INTEGER {
	active(1),
	activeDependencies(2),
	inactiveDependency(3),
	missingDependency(4)
	}

CiscoPort ::=
	INTEGER (0..65535)

CiscoIpProtocol ::=
	INTEGER (0..255)

CiscoLocationClass ::=
	INTEGER {
	chassis(1),
	shelf(2),
	slot(3),
	subSlot(4),
	port(5),
	subPort(6),
	channel(7),
	subChannel(8)
	}

CiscoLocationSpecifier ::=
	OCTET STRING (SIZE(0..255))

CiscoInetAddressMask ::=
	OCTET STRING

CiscoAbsZeroBasedCounter32 ::=
	Gauge

CiscoSnapShotAbsCounter32 ::=
	OCTET STRING

CiscoAlarmSeverity ::=
	INTEGER {
	cleared(1),
	indeterminate(2),
	critical(3),
	major(4),
	minor(5),
	warning(6),
	info(7)
	}

PerfHighIntervalCount ::=
	OCTET STRING

ConfigIterator ::=
	OCTET STRING

BulkConfigResult ::=
	OCTET STRING (SIZE(0..255))

ListIndex ::=
	INTEGER (1..2147483647)

ListIndexOrZero ::=
	INTEGER (0..2147483647)

TimeIntervalSec ::=
	OCTET STRING

TimeIntervalMin ::=
	OCTET STRING

CiscoMilliSeconds ::=
	OCTET STRING

MicroSeconds ::=
	OCTET STRING

ciscoProcessMIB OBJECT IDENTIFIER ::= { ciscoMgmt 109 }

ciscoProcessMIBObjects OBJECT IDENTIFIER ::= { ciscoProcessMIB 1 }

cpmCPU OBJECT IDENTIFIER ::= { ciscoProcessMIBObjects 1 }

cpmProcess OBJECT IDENTIFIER ::= { ciscoProcessMIBObjects 2 }

cpmCPUHistory OBJECT IDENTIFIER ::= { cpmProcess 5 }

cpmCPUTotalTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmCPUTotalEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table of overall CPU statistics. "
	::= { cpmCPU 1 }


cpmCPUTotalEntry OBJECT-TYPE
	SYNTAX CpmCPUTotalEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Overall information about the CPU load. Entries in this
table come and go as CPUs are added and removed from the
system."
	INDEX { cpmCPUTotalIndex  }

	::= { cpmCPUTotalTable 1 }

cpmCPUTotalEntry ::=
	SEQUENCE {
		cpmCPUTotalIndex Unsigned32,
		cpmCPUTotalPhysicalIndex EntPhysicalIndexOrZero,
		cpmCPUTotal5sec Gauge32,
		cpmCPUTotal1min Gauge32,
		cpmCPUTotal5min Gauge32,
		cpmCPUTotal5secRev Gauge32,
		cpmCPUTotal1minRev Gauge32,
		cpmCPUTotal5minRev Gauge32,
		cpmCPUMonInterval Unsigned32,
		cpmCPUTotalMonIntervalValue Gauge32,
		cpmCPUInterruptMonIntervalValue Gauge32
		}

cpmCPUTotalIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An index that uniquely represents a CPU (or group of CPUs)
whose CPU load information is reported by a row in this table.
This index is assigned arbitrarily by the engine
and is not saved over reboots."
	::= { cpmCPUTotalEntry 1 }


cpmCPUTotalPhysicalIndex OBJECT-TYPE
	SYNTAX EntPhysicalIndexOrZero
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The entPhysicalIndex of the physical entity for which
the CPU statistics in this entry are maintained.
The physical entity can be a CPU chip, a group of CPUs,
a CPU card etc. The exact type of this entity is described by
its entPhysicalVendorType value. If the CPU statistics
in this entry correspond to more than one physical entity
(or to no physical entity), or if the entPhysicalTable is
not supported on the SNMP agent, the value of this object
must be zero."
	::= { cpmCPUTotalEntry 2 }


cpmCPUTotal5sec OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The overall CPU busy percentage in the last 5 second 
period. This object obsoletes the busyPer object from 
the OLD-CISCO-SYSTEM-MIB. This object is deprecated
by cpmCPUTotal5secRev which has the changed range of
value (0..100)."
	::= { cpmCPUTotalEntry 3 }


cpmCPUTotal1min OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The overall CPU busy percentage in the last 1 minute
period. This object obsoletes the avgBusy1 object from 
the OLD-CISCO-SYSTEM-MIB. This object is deprecated
by cpmCPUTotal1minRev which has the changed range
of value (0..100)."
	::= { cpmCPUTotalEntry 4 }


cpmCPUTotal5min OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The overall CPU busy percentage in the last 5 minute
period. This object deprecates the avgBusy5 object from 
the OLD-CISCO-SYSTEM-MIB. This object is deprecated
by cpmCPUTotal5minRev which has the changed range 
of value (0..100)."
	::= { cpmCPUTotalEntry 5 }


cpmCPUTotal5secRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The overall CPU busy percentage in the last 5 second 
period. This object deprecates the object cpmCPUTotal5sec 
and increases the value range to (0..100). This object
is deprecated by cpmCPUTotalMonInterval"
	::= { cpmCPUTotalEntry 6 }


cpmCPUTotal1minRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The overall CPU busy percentage in the last 1 minute
period. This object deprecates the object cpmCPUTotal1min 
and increases the value range to (0..100)."
	::= { cpmCPUTotalEntry 7 }


cpmCPUTotal5minRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The overall CPU busy percentage in the last 5 minute
period. This object deprecates the object cpmCPUTotal5min 
and increases the value range to (0..100)."
	::= { cpmCPUTotalEntry 8 }


cpmCPUMonInterval OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "CPU usage monitoring interval. The value of this 
object in seconds indicates the how often the 
CPU utilization is calculated and monitored."
	::= { cpmCPUTotalEntry 9 }


cpmCPUTotalMonIntervalValue OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The overall CPU busy percentage in the last 
cpmCPUMonInterval period. 
This object deprecates the object cpmCPUTotal5secRev."
	::= { cpmCPUTotalEntry 10 }


cpmCPUInterruptMonIntervalValue OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The overall CPU busy percentage in the
interrupt context in the last cpmCPUMonInterval
period."
	::= { cpmCPUTotalEntry 11 }


cpmProcessTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmProcessEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A table of generic information on all active 
processes on this device."
	::= { cpmProcess 1 }


cpmProcessEntry OBJECT-TYPE
	SYNTAX CpmProcessEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Generic information about an active process on this 
device. Entries in this table come and go as processes are 
created and destroyed by the device."
	INDEX { cpmCPUTotalIndex , cpmProcessPID }

	::= { cpmProcessTable 1 }

cpmProcessEntry ::=
	SEQUENCE {
		cpmProcessPID Unsigned32,
		cpmProcessName DisplayString,
		cpmProcessuSecs Unsigned32,
		cpmProcessAverageUSecs Unsigned32,
		cpmProcessTimeCreated TimeStamp
		}

cpmProcessPID OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object contains the process ID. cpmTimeCreated
should be checked against the last time it was polled,
and if it has changed the PID has been reused and the
entire entry should be polled again."
	::= { cpmProcessEntry 1 }


cpmProcessName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..32))
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The name associated with this process. If the name is
longer than 32 characters, it will be truncated to the first
31 characters, and a `*' will be appended as the last
character to imply this is a truncated process name."
	::= { cpmProcessEntry 2 }


cpmProcessuSecs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS optional
	DESCRIPTION "Average elapsed CPU time in microseconds when the 
process was active. This object is deprecated
by cpmProcessAverageUSecs."
	::= { cpmProcessEntry 4 }


cpmProcessTimeCreated OBJECT-TYPE
	SYNTAX TimeStamp
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The time when the process was created. The process ID 
and the time when the process was created, uniquely 
identifies a process."
	::= { cpmProcessEntry 5 }


cpmProcessAverageUSecs OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Average elapsed CPU time in microseconds when the 
process was active. This object deprecates the
object cpmProcessuSecs."
	::= { cpmProcessEntry 6 }


cpmProcessExtTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmProcessExtEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "This table contains information that may or may
not be available on all cisco devices. It contains
additional objects for the more general
cpmProcessTable. This object is deprecated by
cpmProcessExtRevTable."
	::= { cpmProcess 2 }


cpmProcessExtEntry OBJECT-TYPE
	SYNTAX CpmProcessExtEntry
	ACCESS read-only
	STATUS optional
	DESCRIPTION "An entry containing additional information for
a particular process. This object is deprecated by
cpmProcessExtRevEntry."
	::= { cpmProcessExtTable 1 }

cpmProcessExtEntry ::=
	SEQUENCE {
		cpmProcExtMemAllocated Gauge32,
		cpmProcExtMemFreed Gauge32,
		cpmProcExtInvoked Counter32,
		cpmProcExtRuntime Counter32,
		cpmProcExtUtil5Sec Gauge32,
		cpmProcExtUtil1Min Gauge32,
		cpmProcExtUtil5Min Gauge32,
		cpmProcExtPriority INTEGER
		}

cpmProcExtMemAllocated OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The sum of all the dynamically allocated memory that
this process has received from the system. This includes
memory that may have been returned. The sum of freed
memory is provided by cpmProcExtMemFreed. This object
is deprecated by cpmProcExtMemAllocatedRev."
	::= { cpmProcessExtEntry 1 }


cpmProcExtMemFreed OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The sum of all memory that this process has returned 
to the system. This object is deprecated by 
cpmProcExtMemFreedRev."
	::= { cpmProcessExtEntry 2 }


cpmProcExtInvoked OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The number of times since cpmTimeCreated that 
the process has been invoked. This object is
deprecated by cpmProcExtInvokedRev."
	::= { cpmProcessExtEntry 3 }


cpmProcExtRuntime OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The amount of CPU time the process has used, in 
microseconds. This object is deprecated by
cpmProcExtRuntimeRev."
	::= { cpmProcessExtEntry 4 }


cpmProcExtUtil5Sec OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 5 
second period. It is determined as a weighted 
decaying average of the current idle time over 
the longest idle time. Note that this information 
should be used as an estimate only. This object is 
deprecated by cpmProcExtUtil5SecRev which has the 
changed range of value (0..100)."
	::= { cpmProcessExtEntry 5 }


cpmProcExtUtil1Min OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 1 
minute period. It is determined as a weighted 
decaying average of the current idle time over the 
longest idle time. Note that this information 
should be used as an estimate only. This object is 
deprecated by cpmProcExtUtil1MinRev which has
the changed range of value (0..100)."
	::= { cpmProcessExtEntry 6 }


cpmProcExtUtil5Min OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS optional
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 5 
minute period. It is determined as a weighted 
decaying average of the current idle time over 
the longest idle time. Note that this information 
should be used as an estimate only. This object
is deprecated by cpmProcExtUtil5MinRev which
has the changed range of value (0..100)."
	::= { cpmProcessExtEntry 7 }


cpmProcExtPriority OBJECT-TYPE
	SYNTAX INTEGER {
	critical(1),
	high(2),
	normal(3),
	low(4),
	notAssigned(5)
	}
	ACCESS read-only
	STATUS optional
	DESCRIPTION "The priority level at which the process is 
running. This object is deprecated by
cpmProcExtPriorityRev."
	::= { cpmProcessExtEntry 8 }


cpmProcessExtRevTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmProcessExtRevEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table contains information that may or may
not be available on all cisco devices. It contains
additional objects for the more general
cpmProcessTable. This object deprecates 
cpmProcessExtTable."
	::= { cpmProcess 3 }


cpmProcessExtRevEntry OBJECT-TYPE
	SYNTAX CpmProcessExtRevEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry containing additional information for
a particular process. This object deprecates 
cpmProcessExtEntry."
	INDEX { cpmCPUTotalIndex , cpmProcessPID }

	::= { cpmProcessExtRevTable 1 }

cpmProcessExtRevEntry ::=
	SEQUENCE {
		cpmProcExtMemAllocatedRev Gauge32,
		cpmProcExtMemFreedRev Gauge32,
		cpmProcExtInvokedRev Counter32,
		cpmProcExtRuntimeRev Counter32,
		cpmProcExtUtil5SecRev Gauge32,
		cpmProcExtUtil1MinRev Gauge32,
		cpmProcExtUtil5MinRev Gauge32,
		cpmProcExtPriorityRev INTEGER
		}

cpmProcExtMemAllocatedRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The sum of all the dynamically allocated memory that
this process has received from the system. This includes
memory that may have been returned. The sum of freed
memory is provided by cpmProcExtMemFreedRev. This object
deprecates cpmProcExtMemAllocated."
	::= { cpmProcessExtRevEntry 1 }


cpmProcExtMemFreedRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The sum of all memory that this process has returned 
to the system. This object  deprecates 
cpmProcExtMemFreed."
	::= { cpmProcessExtRevEntry 2 }


cpmProcExtInvokedRev OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of times since cpmTimeCreated that 
the process has been invoked. This object 
deprecates cpmProcExtInvoked."
	::= { cpmProcessExtRevEntry 3 }


cpmProcExtRuntimeRev OBJECT-TYPE
	SYNTAX Counter
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The amount of CPU time the process has used, in 
microseconds. This object deprecates
cpmProcExtRuntime."
	::= { cpmProcessExtRevEntry 4 }


cpmProcExtUtil5SecRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 5 
second period. It is determined as a weighted 
decaying average of the current idle time over 
the longest idle time. Note that this information 
should be used as an estimate only. This object
deprecates cpmProcExtUtil5Sec and increases the 
value range to (0..100)."
	::= { cpmProcessExtRevEntry 5 }


cpmProcExtUtil1MinRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 1 
minute period. It is determined as a weighted 
decaying average of the current idle time over the 
longest idle time. Note that this information 
should be used as an estimate only. This object 
deprecates cpmProcExtUtil1Min and increases the value
range to (0..100)."
	::= { cpmProcessExtRevEntry 6 }


cpmProcExtUtil5MinRev OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object provides a general idea of how busy 
a process caused the processor to be over a 5 
minute period. It is determined as a weighted 
decaying average of the current idle time over 
the longest idle time. Note that this information 
should be used as an estimate only. This object
deprecates cpmProcExtUtil5Min and increases the
value range to (0..100)."
	::= { cpmProcessExtRevEntry 7 }


cpmProcExtPriorityRev OBJECT-TYPE
	SYNTAX INTEGER {
	critical(1),
	high(2),
	normal(3),
	low(4),
	notAssigned(5)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The priority level at  which the process is 
running. This object deprecates 
cpmProcExtPriority."
	::= { cpmProcessExtRevEntry 8 }


cpmCPUThresholdTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmCPUThresholdEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table contains the information about the
thresholding values for CPU , configured by the user."
	::= { cpmProcess 4 }


cpmCPUThresholdEntry OBJECT-TYPE
	SYNTAX CpmCPUThresholdEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An entry containing information about 
CPU thresholding parameters. cpmCPUTotalIndex
identifies the CPU (or group of CPUs) for which this
configuration applies."
	INDEX { cpmCPUTotalIndex , cpmCPUThresholdClass }

	::= { cpmCPUThresholdTable 1 }

cpmCPUThresholdEntry ::=
	SEQUENCE {
		cpmCPUThresholdClass INTEGER,
		cpmCPURisingThresholdValue Unsigned32,
		cpmCPURisingThresholdPeriod Unsigned32,
		cpmCPUFallingThresholdValue Unsigned32,
		cpmCPUFallingThresholdPeriod Unsigned32,
		cpmCPUThresholdEntryStatus RowStatus
		}

cpmCPUThresholdClass OBJECT-TYPE
	SYNTAX INTEGER {
	total(1),
	interrupt(2),
	process(3)
	}
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Value of this object indicates the type of
utilization, which is monitored. The total(1) indicates
the total CPU utilization, interrupt(2) indicates the
the CPU utilization in interrupt context and process(3)
indicates the CPU utilization in the process level
execution context."
	::= { cpmCPUThresholdEntry 1 }


cpmCPURisingThresholdValue OBJECT-TYPE
	SYNTAX INTEGER (1..100)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The percentage rising threshold value configured by
the user. The value indicates, 
if the percentage CPU utilization is equal to or above
this value for cpmCPURisingThresholdPeriod duration 
then send a cpmCPURisingThreshold notification to
the NMS."
	::= { cpmCPUThresholdEntry 2 }


cpmCPURisingThresholdPeriod OBJECT-TYPE
	SYNTAX INTEGER (5..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This is an observation interval.
The value of this object indicates that 
the CPU utilization should be above
cpmCPURisingThresholdValue for this duration to send a 
cpmCPURisingThreshold notification to the NMS."
	::= { cpmCPUThresholdEntry 3 }


cpmCPUFallingThresholdValue OBJECT-TYPE
	SYNTAX INTEGER (1..100)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The percentage falling threshold value configured by 
the user. The value indicates, if the percentage 
CPU utilization is equal to or below this value for 
cpmCPUFallingThresholdPeriod duration
then send a cpmCPUFallingThreshold notification 
to the NMS."
	::= { cpmCPUThresholdEntry 4 }


cpmCPUFallingThresholdPeriod OBJECT-TYPE
	SYNTAX INTEGER (5..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This is an observation interval. The value of this
object indicates that CPU utilization should be below
cpmCPUFallingThresholdValue for this duration to send a 
cpmCPURisingThreshold notification to the NMS."
	::= { cpmCPUThresholdEntry 5 }


cpmCPUThresholdEntryStatus OBJECT-TYPE
	SYNTAX RowStatus
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The status of this table entry."
	::= { cpmCPUThresholdEntry 6 }


cpmCPUHistoryThreshold OBJECT-TYPE
	SYNTAX INTEGER (1..100)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The user  configured value of this object gives 
the minimum percent CPU utilization of a process
in the last cpmCPUMonInterval duration required to be a 
member of history table. When this object is changed
the new value will have effect in the next interval."
	::= { cpmCPUHistory 1 }


cpmCPUHistorySize OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A value configured by the user which specifies the
number of reports in the history table. 
A report contains set of processes which crossed
the cpmCPUHistoryThreshold 
in the last cpmCPUMonInterval along with 
the time at which this report is
created, total and interrupt CPU utilizations. 
When this object is changed
the new value will have effect in the next interval."
	::= { cpmCPUHistory 2 }


cpmCPUHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmCPUHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A list of CPU utilization history entries."
	::= { cpmCPUHistory 3 }


cpmCPUHistoryEntry OBJECT-TYPE
	SYNTAX CpmCPUHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A historical sample of CPU utilization statistics.
cpmCPUTotalIndex identifies the CPU (or group of CPUs)
for which this history is collected. 
When the cpmCPUHistorySize is
reached the least recent entry is lost."
	INDEX { cpmCPUTotalIndex , cpmCPUHistoryReportId }

	::= { cpmCPUHistoryTable 1 }

cpmCPUHistoryEntry ::=
	SEQUENCE {
		cpmCPUHistoryReportId Unsigned32,
		cpmCPUHistoryReportSize Unsigned32,
		cpmCPUHistoryTotalUtil Gauge32,
		cpmCPUHistoryInterruptUtil Gauge32,
		cpmCPUHistoryCreatedTime TimeStamp
		}

cpmCPUHistoryReportId OBJECT-TYPE
	SYNTAX INTEGER
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "All the entries which are created at the same time
will have same value for this object. When the
configured threshold for being a part of History table
is reached then the qualified processes become the
part of history table. The entries which became the 
part of history table at one instant will have
the same value for this object. When this object
reaches the max index value then it will wrap around."
	::= { cpmCPUHistoryEntry 1 }


cpmCPUHistoryReportSize OBJECT-TYPE
	SYNTAX INTEGER (0..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The number of process entries in a report. 
This object gives information about how many processes 
became a part of history table at one instant."
	::= { cpmCPUHistoryEntry 2 }


cpmCPUHistoryTotalUtil OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Total percentage of CPU utilization 
at cpmCPUHistoryCreated."
	::= { cpmCPUHistoryEntry 3 }


cpmCPUHistoryInterruptUtil OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Percentage of CPU utilization in the interrupt context 
at cpmCPUHistoryCreated."
	::= { cpmCPUHistoryEntry 4 }


cpmCPUHistoryCreatedTime OBJECT-TYPE
	SYNTAX TimeStamp
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Time stamp with respect to sysUpTime indicating
the time at which this report is created."
	::= { cpmCPUHistoryEntry 5 }


cpmCPUProcessHistoryTable OBJECT-TYPE
	SYNTAX SEQUENCE OF CpmCPUProcessHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A list of process history entries. This table contains
CPU utilization of processes which crossed the 
cpmCPUHistoryThreshold."
	::= { cpmCPUHistory 4 }


cpmCPUProcessHistoryEntry OBJECT-TYPE
	SYNTAX CpmCPUProcessHistoryEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A historical sample of process utilization
statistics. The entries in this table will have
corresponding entires in the cpmCPUHistoryTable.
The entries in this table get deleted when the entry
associated with this entry in the cpmCPUHistoryTable 
gets deleted."
	INDEX { cpmCPUTotalIndex , cpmCPUHistoryReportId, cpmCPUProcessHistoryIndex }

	::= { cpmCPUProcessHistoryTable 1 }

cpmCPUProcessHistoryEntry ::=
	SEQUENCE {
		cpmCPUProcessHistoryIndex Unsigned32,
		cpmCPUHistoryProcId Unsigned32,
		cpmCPUHistoryProcName DisplayString,
		cpmCPUHistoryProcCreated TimeStamp,
		cpmCPUHistoryProcUtil Gauge32
		}

cpmCPUProcessHistoryIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4294967295)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "An index that uniquely identifies an entry in
the cmpCPUProcessHistory table among those in the 
same report. This index is between 1 to N, 
where N is the cpmCPUHistoryReportSize."
	::= { cpmCPUProcessHistoryEntry 1 }


cpmCPUHistoryProcId OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The process Id associated with this entry."
	::= { cpmCPUProcessHistoryEntry 2 }


cpmCPUHistoryProcName OBJECT-TYPE
	SYNTAX DisplayString
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The process name associated with this entry."
	::= { cpmCPUProcessHistoryEntry 3 }


cpmCPUHistoryProcCreated OBJECT-TYPE
	SYNTAX TimeStamp
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The time when the process was created. The process ID 
and the time when the process was created, uniquely 
identifies a process."
	::= { cpmCPUProcessHistoryEntry 4 }


cpmCPUHistoryProcUtil OBJECT-TYPE
	SYNTAX Gauge
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The percentage CPU utilization of a process at 
cpmCPUHistoryCreatedTime."
	::= { cpmCPUProcessHistoryEntry 5 }


ciscoProcessMIBNotifPrefix OBJECT IDENTIFIER ::= { ciscoProcessMIB 2 }

ciscoProcessMIBNotifs OBJECT IDENTIFIER ::= { ciscoProcessMIBNotifPrefix 0 }

ciscoProcessMIBConformance OBJECT IDENTIFIER ::= { ciscoProcessMIB 3 }

cpmCompliances OBJECT IDENTIFIER ::= { ciscoProcessMIBConformance 1 }

cpmGroups OBJECT IDENTIFIER ::= { ciscoProcessMIBConformance 2 }

cpmCPUTotalGroup OBJECT IDENTIFIER ::= { cpmGroups 1 }

cpmProcessGroup OBJECT IDENTIFIER ::= { cpmGroups 2 }

cpmProcessExtGroup OBJECT IDENTIFIER ::= { cpmGroups 3 }

cpmCPUTotalGroupRev OBJECT IDENTIFIER ::= { cpmGroups 4 }

cpmProcessExtGroupRev OBJECT IDENTIFIER ::= { cpmGroups 5 }

cpmProcessGroupRev OBJECT IDENTIFIER ::= { cpmGroups 6 }

cpmCPUTotalGroupRev1 OBJECT IDENTIFIER ::= { cpmGroups 7 }

cpmCPUThresholdGroup OBJECT IDENTIFIER ::= { cpmGroups 8 }

cpmCPUHistoryGroup OBJECT IDENTIFIER ::= { cpmGroups 9 }

cpmCPUThresholdNotificationGroup OBJECT IDENTIFIER ::= { cpmGroups 10 }

cpmCPURisingThreshold TRAP-TYPE
	ENTERPRISE ciscoProcessMIBNotifPrefix
	VARIABLES { cpmCPURisingThresholdValue, cpmCPUTotalMonIntervalValue, cpmCPUInterruptMonIntervalValue, cpmProcExtUtil5SecRev, cpmProcessTimeCreated }
DESCRIPTION "A cpmCPURisingThreshold notification is sent 
when configured rising CPU utilization threshold
(cpmCPURisingThresholdValue) is reached and
CPU utilization remained above the threshold 
for configured interval(cpmCPURisingThresholdPeriod)
and such a notification is requested. 
The cpmProcExtUtil5SecRev and cpmProcessTimeCreated 
objects can be repeated multiple times
in a notification indicating the top users of CPU."
	::= 1


cpmCPUFallingThreshold TRAP-TYPE
	ENTERPRISE ciscoProcessMIBNotifPrefix
	VARIABLES { cpmCPUFallingThresholdValue, cpmCPUTotalMonIntervalValue, cpmCPUInterruptMonIntervalValue }
DESCRIPTION "A cpmCPUFallingThresholdTrap is sent when the
configured falling threshold
(cpmCPURisingThresholdValue) 
is reached and CPU utilization remained under 
threshold for configured 
interval (cpmCPUFallingThresholdPeriod) 
and such a notification is requested."
	::= 2


END

