thanks very much for opening this new jira and reviewing the patch. I've updated a new version which addresses most of your comments.
answers to the questions in your review:
.bq cgroupMountPath, if there is no default we should fail if not set, can't we have a sensible default?
I've added a check to fail if not set. as far as I can tell, there isn't a single default path for cgroups – some distributions use "/sys/fs/cgroup", some use "/cgroup", others, "/cgroups". I've even seen "/mnt/cgroup" (Debian perhaps?); these also vary across releases of the same distro.
.bq default value for cgroupPrefix has '/', here will produce a '//' in the path
yes, I made that choice deliberately. I wanted to convey that cgroupPrefix can be a path (which is why I kept the '/') and when I use it, I also added a '/' in case the user did not put a '/' at the right place in the prefix. my understanding is that on Unix, '//' in a path is interpreted as '/', no?
.bq Nf the filereader cannot be open/read, is this acceptable or should stop execution by throwing exception?
eh, we could go either way here, but I think it's reasonable to not throw the exception. if the file can't be read, then the map from cgroup controller to path isn't built, and we already have existing checks which skip controllers which can't be found in the path (say, if the file can be read correctly, but the CPU controller isn't mounted).
ok, great. I'm going to mark this as "patch available" and see if the findbugs warning has gone away (I can't seem to get it to run locally).