netconfcentral logo

openconfig-procmon

HTML

openconfig-procmon@2019-03-15



  module openconfig-procmon {

    yang-version 1;

    namespace
      "http://openconfig.net/yang/system/procmon";

    prefix oc-proc;

    import openconfig-extensions {
      prefix oc-ext;
    }
    import openconfig-types {
      prefix oc-types;
    }
    import openconfig-yang-types {
      prefix oc-yang;
    }

    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.";

    revision "2019-03-15" {
      description
        "Update process start time to be an absolute timestamp,
      ensure that the units for CPU time are expressed correctly.
      Update cpu-usage leaves to commonly use counter64 for consumed
      CPU time.";
      reference
        "0.4.0";

    }

    revision "2018-11-21" {
      description
        "Add OpenConfig module metadata extensions.";
      reference
        "0.3.1";

    }

    revision "2017-09-18" {
      description
        "Updated to use OpenConfig types modules";
      reference
        "0.3.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";

    }

    oc-ext:openconfig-version "0.4.0";
    oc-ext:regexp-posix;
    oc-ext:catalog-organization "openconfig";
    oc-ext:origin "openconfig";

    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;
          }  // container state
        }  // list process
      }  // container processes
    }  // grouping procmon-processes-top

    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 oc-types:timeticks64;
        description
          "The time at which this process started,
        relative to the UNIX epoch.  The system must be
        synchronized such that the start-time can be
        reported accurately, otherwise it should not be reported.";
      }

      leaf cpu-usage-user {
        type oc-yang:counter64;
        units "nanoseconds";
        description
          "CPU time consumed by this process in user mode in
        nanoseconds.";
      }

      leaf cpu-usage-system {
        type oc-yang:counter64;
        units "nanoseconds";
        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.";
      }
    }  // grouping procmon-process-attributes-state
  }  // module openconfig-procmon

Summary

  
  
Organization OpenConfig working group
  
Module openconfig-procmon
Version 2019-03-15
File openconfig-procmon.yang
  
Prefix oc-proc
Namespace http://openconfig.net/yang/system/procmon
  
Cooked /cookedmodules/openconfig-procmon/2019-03-15
YANG /src/openconfig-procmon@2019-03-15.yang
XSD /xsd/openconfig-procmon@2019-03-15.xsd
  
Abstract This module provides data definitions for process health monitoring of one or more processes running on the system.
  
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.

Groupings

Grouping Objects Abstract
procmon-process-attributes-state pid name args start-time cpu-usage-user cpu-usage-system cpu-utilization memory-usage memory-utilization Attributes state definitions for a process
procmon-processes-top processes Top level grouping for attributes for processes.