< prev index next >

src/java.base/linux/classes/jdk/internal/platform/CgroupInfo.java

Print this page
@  rev 57734 : Review feedback
|
o  rev 57733 : 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
|  Reviewed-by: bobv, mchung
~
o  rev 56862 : 8231111: Cgroups v2: Rework Metrics in java.base so as to recognize unified hierarchy
|  Reviewed-by: bobv
~


  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.internal.platform;
  27 
  28 /**
  29  * Data structure to hold info from /proc/self/cgroup
  30  *
  31  * man 7 cgroups
  32  *
  33  * @see CgroupSubsystemFactory
  34  */
  35 class CgroupInfo {
  36 
  37     private final String name;
  38     private final int hierarchyId;
  39     private final boolean enabled;
  40     private String cgroupPath;
  41 
  42     private CgroupInfo(String name, int hierarchyId, boolean enabled) {
  43         this.name = name;
  44         this.hierarchyId = hierarchyId;
  45         this.enabled = enabled;
  46     }
  47 
  48     String getName() {
  49         return name;
  50     }
  51 
  52     int getHierarchyId() {
  53         return hierarchyId;
  54     }
  55 
  56     boolean isEnabled() {
  57         return enabled;
  58     }
  59 
  60     String getCgroupPath() {
  61         return cgroupPath;
  62     }
  63 
  64     void setCgroupPath(String cgroupPath) {
  65         this.cgroupPath = cgroupPath;
  66     }
  67 
  68     static CgroupInfo fromCgroupsLine(String line) {
  69         String[] tokens = line.split("\\s+");
  70         if (tokens.length != 4) {
  71             return null;
  72         }
  73         // discard 3'rd field, num_cgroups
  74         return new CgroupInfo(tokens[0] /* name */,
  75                               Integer.parseInt(tokens[1]) /* hierarchyId */,
  76                               (Integer.parseInt(tokens[3]) == 1) /* enabled */);
  77     }
  78 
  79 }


  20  *
  21  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  22  * or visit www.oracle.com if you need additional information or have any
  23  * questions.
  24  */
  25 
  26 package jdk.internal.platform;
  27 
  28 /**
  29  * Data structure to hold info from /proc/self/cgroup
  30  *
  31  * man 7 cgroups
  32  *
  33  * @see CgroupSubsystemFactory
  34  */
  35 class CgroupInfo {
  36 
  37     private final String name;
  38     private final int hierarchyId;
  39     private final boolean enabled;

  40 
  41     private CgroupInfo(String name, int hierarchyId, boolean enabled) {
  42         this.name = name;
  43         this.hierarchyId = hierarchyId;
  44         this.enabled = enabled;
  45     }
  46 
  47     String getName() {
  48         return name;
  49     }
  50 
  51     int getHierarchyId() {
  52         return hierarchyId;
  53     }
  54 
  55     boolean isEnabled() {
  56         return enabled;








  57     }
  58 
  59     static CgroupInfo fromCgroupsLine(String line) {
  60         String[] tokens = line.split("\\s+");
  61         if (tokens.length != 4) {
  62             return null;
  63         }
  64         // discard 3'rd field, num_cgroups
  65         return new CgroupInfo(tokens[0] /* name */,
  66                               Integer.parseInt(tokens[1]) /* hierarchyId */,
  67                               (Integer.parseInt(tokens[3]) == 1) /* enabled */);
  68     }
  69 
  70 }
< prev index next >