blob: 6422541dd7c4f09f6bbebe0aa4a4c04368d1a1f5 [file] [log] [blame]
module openconfig-procmon {
yang-version "1";
// namespace
namespace "http://openconfig.net/yang/system/procmon";
prefix "oc-proc";
// import some basic types
import openconfig-extensions { prefix oc-ext; }
import openconfig-types { prefix oc-types; }
// meta
organization "OpenConfig working group";
contact
"OpenConfig working group
www.openconfig.net";
description
"This module provides data definitions for process health
monitoring of one or more processes running on the system.";
oc-ext:openconfig-version "0.2.0";
revision "2017-07-06" {
description
"Move to oc-inet types, add IETF attribution, add RADIUS
counters, changed password leaf names to indicate hashed";
reference "0.2.0";
}
revision "2017-01-29" {
description
"Initial public release";
reference "0.1.0";
}
// grouping statements
grouping procmon-processes-top {
description
"Top level grouping for attributes for processes.";
container processes {
description
"Parameters related to all monitored processes";
list process {
key "pid";
config false;
description
"List of monitored processes";
leaf pid {
type leafref {
path "../state/pid";
}
description
"Reference to the process pid key";
}
container state {
config false;
description
"State parameters related to monitored processes";
uses procmon-process-attributes-state;
}
}
}
}
grouping procmon-process-attributes-state {
description
"Attributes state definitions for a process";
leaf pid {
type uint64;
description
"The process pid";
}
leaf name {
type string;
description
"The process name";
}
leaf-list args {
type string;
description
"Current process command line arguments. Arguments with
a parameter (e.g., --option 10 or -option=10) should be
represented as a single element of the list with the
argument name and parameter together. Flag arguments, i.e.,
those without a parameter should also be in their own list
element.";
}
leaf start-time {
type uint64;
units "ns";
description
"The time at which this process started,
reported as nanoseconds since the UNIX epoch. The
system must be synchronized such that the start-time
can be reported accurately, otherwise it should not be
reported.";
}
leaf uptime {
type oc-types:timeticks64;
description
"Amount of time elapsed since this process started.";
}
leaf cpu-usage-user {
type oc-types:timeticks64;
description
"CPU time consumed by this process in user mode.";
}
leaf cpu-usage-system {
type oc-types:timeticks64;
description
"CPU time consumed by this process in kernel mode.";
}
leaf cpu-utilization {
type oc-types:percentage;
description
"The percentage of CPU that is being used by the process.";
}
leaf memory-usage {
type uint64;
units "bytes";
description
"Bytes allocated and still in use by the process";
}
leaf memory-utilization {
type oc-types:percentage;
description
"The percentage of RAM that is being used by the process.";
}
}
// augment statements
// rpc statements
// notification statements
}