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

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

Introduction

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

Prototype

long lastWrittenBytes

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

Click Source Link

Document

Last written bytes number during last check interval

Usage

From source file:com.nettyhttpserver.server.NettyChannelTrafficShapingHandler.java

private void trafficAccounting() {
    TrafficCounter tc = trafficCounter();
    connectionInfo.setRecivedBytes(Math.abs(tc.cumulativeReadBytes()));
    connectionInfo.setSentBytes(tc.cumulativeWrittenBytes());
    connectionInfo.setSpeed(tc.lastWrittenBytes() * 1000 / (tc.checkInterval()));
    connectionInfo.setTimestamp(new Timestamp(System.currentTimeMillis()));
    /*//from  www.ja v  a  2 s  .  com
     * Instance is added to List on last place (the last the newest)
     */
    if (serverConnectionList.contains(connectionInfo)) {
        serverConnectionList.remove(connectionInfo);
        addToConnectionList();
    } else {
        addToConnectionList();
    }
}

From source file:de.jackwhite20.apex.command.impl.StatsCommand.java

License:Open Source License

@Override
public boolean execute(String[] args) {

    logger.info("Connections: {}", Apex.getChannelGroup().size());
    if (Apex.getInstance().getConnectionsPerSecondTask() != null) {
        logger.info("Connections per second: {}",
                Apex.getInstance().getConnectionsPerSecondTask().getPerSecond());
    }//from   w w w. ja  va  2  s  . c o  m
    logger.info("Online backend servers: {}", Apex.getBalancingStrategy().size());

    GlobalTrafficShapingHandler trafficShapingHandler = Apex.getInstance().getTrafficShapingHandler();
    if (trafficShapingHandler != null) {
        TrafficCounter trafficCounter = trafficShapingHandler.trafficCounter();

        logger.info("Current bytes read: {}", trafficCounter.currentReadBytes());
        logger.info("Current bytes written: {}", trafficCounter.currentWrittenBytes());
        logger.info("Last read throughput: {}", trafficCounter.lastReadThroughput());
        logger.info("Last write throughput: {}", trafficCounter.lastWrittenBytes());
        logger.info("Total bytes read: {}", trafficCounter.cumulativeReadBytes());
        logger.info("Total bytes written: {}", trafficCounter.cumulativeWrittenBytes());
    }

    return true;
}

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.jav  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//from   w w w  .  jav  a  2 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;
}