private void addFileSystem()

in geronimo-metrics-extensions/geronimo-metrics-sigar/src/main/java/org/apache/geronimo/microprofile/metrics/extension/sigar/SigarRegistrar.java [152:184]


    private void addFileSystem(final Collection<Definition> definitions) {
        try {
            Stream.of(sigar.getFileSystemList())
                  .filter(it -> !it.getDirName().startsWith("/sys") &&
                            !it.getDirName().startsWith("/dev") &&
                            !it.getDirName().startsWith("/proc") &&
                            !it.getDirName().startsWith("/run") &&
                            !it.getDirName().startsWith("/snap"))
                  .map(FileSystem::getDevName)
                  .distinct()
                  .forEach(devName -> {
                final String baseName = "sigar.net.disk." + devName.replace('/', '_').replaceFirst("^_", "") + ".";
                definitions.add(new Definition(
                        baseName + "read.count", devName + " Reads",
                        "Reads on " + devName, "count",
                        () -> sigar.getDiskUsage(devName).getReads()));
                definitions.add(new Definition(
                        baseName + "write.count", devName + " Writes",
                        "Writes on " + devName, "count",
                        () -> sigar.getDiskUsage(devName).getWrites()));
                definitions.add(new Definition(
                        baseName + "read.bytes", devName + " Reads",
                        "Reads on " + devName, "bytes",
                        () -> sigar.getDiskUsage(devName).getReadBytes()));
                definitions.add(new Definition(
                        baseName + "write.bytes", devName + " Writes",
                        "Writes on " + devName, "bytes",
                        () -> sigar.getDiskUsage(devName).getWriteBytes()));
            });
        } catch (final SigarException e) {
            // no-op
        }
    }