Class OsStats.Cgroup

java.lang.Object
org.elasticsearch.monitor.os.OsStats.Cgroup
All Implemented Interfaces:
Writeable, ToXContent, ToXContentFragment
Enclosing class:
OsStats

public static class OsStats.Cgroup
extends java.lang.Object
implements Writeable, ToXContentFragment
Encapsulates basic cgroup statistics.
  • Constructor Details

    • Cgroup

      public Cgroup​(java.lang.String cpuAcctControlGroup, long cpuAcctUsageNanos, java.lang.String cpuControlGroup, long cpuCfsPeriodMicros, long cpuCfsQuotaMicros, OsStats.Cgroup.CpuStat cpuStat, java.lang.String memoryControlGroup, java.lang.String memoryLimitInBytes, java.lang.String memoryUsageInBytes)
  • Method Details

    • getCpuAcctControlGroup

      public java.lang.String getCpuAcctControlGroup()
      The control group for the cpuacct subsystem.
      Returns:
      the control group
    • getCpuAcctUsageNanos

      public long getCpuAcctUsageNanos()
      The total CPU time consumed by all tasks in the cpuacct control group from cpuAcctControlGroup.
      Returns:
      the total CPU time in nanoseconds
    • getCpuControlGroup

      public java.lang.String getCpuControlGroup()
      The control group for the cpu subsystem.
      Returns:
      the control group
    • getCpuCfsPeriodMicros

      public long getCpuCfsPeriodMicros()
      The period of time for how frequently the control group from cpuControlGroup has its access to CPU resources reallocated.
      Returns:
      the period of time in microseconds
    • getCpuCfsQuotaMicros

      public long getCpuCfsQuotaMicros()
      The total amount of time for which all tasks in the control group from cpuControlGroup can run in one period as represented by cpuCfsPeriodMicros.
      Returns:
      the total amount of time in microseconds
    • getCpuStat

      public OsStats.Cgroup.CpuStat getCpuStat()
      The CPU time statistics. See OsStats.Cgroup.CpuStat.
      Returns:
      the CPU time statistics.
    • getMemoryControlGroup

      public java.lang.String getMemoryControlGroup()
      The control group for the memory subsystem.
      Returns:
      the control group
    • getMemoryLimitInBytes

      public java.lang.String getMemoryLimitInBytes()
      The maximum amount of user memory (including file cache). This is stored as a String because the value can be too big to fit in a long. (The alternative would have been BigInteger but then it would not be possible to index the OS stats document into Elasticsearch without losing information, as BigInteger is not a supported Elasticsearch type.)
      Returns:
      the maximum amount of user memory (including file cache).
    • getMemoryUsageInBytes

      public java.lang.String getMemoryUsageInBytes()
      The total current memory usage by processes in the cgroup (in bytes). This is stored as a String for consistency with memoryLimitInBytes.
      Returns:
      the total current memory usage by processes in the cgroup (in bytes).
    • writeTo

      public void writeTo​(StreamOutput out) throws java.io.IOException
      Description copied from interface: Writeable
      Write this into the StreamOutput.
      Specified by:
      writeTo in interface Writeable
      Throws:
      java.io.IOException
    • toXContent

      public XContentBuilder toXContent​(XContentBuilder builder, ToXContent.Params params) throws java.io.IOException
      Specified by:
      toXContent in interface ToXContent
      Throws:
      java.io.IOException