Example usage for io.netty.handler.traffic TrafficCounter lastReadBytes

List of usage examples for io.netty.handler.traffic TrafficCounter lastReadBytes

Introduction

In this page you can find the example usage for io.netty.handler.traffic TrafficCounter lastReadBytes.

Prototype

long lastReadBytes

To view the source code for io.netty.handler.traffic TrafficCounter lastReadBytes.

Click Source Link

Document

Last read bytes number during last check interval

Usage

From source file:io.hekate.network.netty.NettyServerClient.java

License:Apache License

private void init(Channel channel, HandshakeRequest request, NettyServerHandler handlerReg) {
    NettyServerHandlerConfig<Object> cfg = handlerReg.config();

    if (cfg.getLoggerCategory() != null) {
        log = LoggerFactory.getLogger(cfg.getLoggerCategory());

        debug = log.isDebugEnabled();//from   w  ww .  j  a  v  a 2 s.c o  m
        trace = log.isTraceEnabled();
    }

    this.eventLoop = channel.eventLoop();
    this.serverHandler = cfg.getHandler();
    this.handlerReg = handlerReg;
    this.metrics = handlerReg.metrics();
    this.codec = request.codec();

    // Register this client.
    handlerReg.add(this);

    // Configure metrics.
    if (metrics != null) {
        channel.pipeline()
                .addFirst(new ChannelTrafficShapingHandler(0, 0, NettyInternalConst.TRAFFIC_SHAPING_INTERVAL) {
                    @Override
                    protected void doAccounting(TrafficCounter counter) {
                        metrics.onBytesReceived(counter.lastReadBytes());
                        metrics.onBytesSent(counter.lastWrittenBytes());
                    }
                });
    }

    if (debug) {
        log.debug("Accepted connection [from={}, protocol={}]", address(), cfg.getProtocol());
    }

    // Accept handshake.
    HandshakeAccept accept = new HandshakeAccept(hbInterval, hbLossThreshold, hbDisabled);

    channel.writeAndFlush(accept).addListener(future -> {
        if (channel.isOpen()) {
            connectNotified = true;

            // Notify on connect.
            serverHandler.onConnect(request.payload(), this);
        }
    });
}

From source file:org.graylog2.plugin.inputs.util.ThroughputCounter.java

License:Open Source License

public Map<String, Gauge<Long>> gauges() {
    Map<String, Gauge<Long>> gauges = new HashMap<>();

    final TrafficCounter tc = trafficCounter();

    gauges.put(READ_BYTES_1_SEC, new Gauge<Long>() {
        @Override//  ww  w . j a  v a2 s .co m
        public Long getValue() {
            return tc.lastReadBytes();
        }
    });
    gauges.put(WRITTEN_BYTES_1_SEC, new Gauge<Long>() {
        @Override
        public Long getValue() {
            return tc.lastWrittenBytes();
        }
    });
    gauges.put(READ_BYTES_TOTAL, new Gauge<Long>() {
        @Override
        public Long getValue() {
            return tc.cumulativeReadBytes();
        }
    });
    gauges.put(WRITTEN_BYTES_TOTAL, new Gauge<Long>() {
        @Override
        public Long getValue() {
            return tc.cumulativeWrittenBytes();
        }
    });

    return gauges;
}