@Override
    public void bindTo(@NonNull MeterRegistry meterRegistry) {

        FunctionCounter.builder("system.network.bytes.received",
                        NetworkMetric.BYTES_RECEIVED, this::getNetworkMetricAsLong)
                .tags(tags)
                .register(meterRegistry);

        FunctionCounter.builder("system.network.bytes.sent",
                        NetworkMetric.BYTES_SENT, this::getNetworkMetricAsLong)
                .tags(tags)
                .register(meterRegistry);

        FunctionCounter.builder("system.network.packets.received",
                        NetworkMetric.PACKETS_RECEIVED, this::getNetworkMetricAsLong)
                .tags(tags)
                .register(meterRegistry);

        FunctionCounter.builder("system.network.packets.sent",
                        NetworkMetric.PACKETS_SENT, this::getNetworkMetricAsLong)
                .tags(tags)
                .register(meterRegistry);

        Gauge.builder("process.open.sockets", this, NetworkMetricsBinder::getOpenSocketCount)
                .tags(tags)
                .register(meterRegistry);
    }
ref https://github.com/jrask/micrometer-oshi-binder
@author intr3p1d
collector-monitor/src/main/java/com/navercorp/pinpoint/collector/monitor/micrometer/binder/NetworkMetricsBinder.java