Class SlowReadAwareHandler

java.lang.Object
io.netty.channel.ChannelHandlerAdapter
io.netty.channel.ChannelInboundHandlerAdapter
org.drasyl.handler.monitoring.SlowReadAwareHandler
All Implemented Interfaces:
io.netty.channel.ChannelHandler, io.netty.channel.ChannelInboundHandler

@UnstableApi public class SlowReadAwareHandler extends io.netty.channel.ChannelInboundHandlerAdapter
This handler measures the execution time of ChannelInboundHandler.channelRead(ChannelHandlerContext, Object) for every ChannelInboundHandler.
  • Nested Class Summary

    Nested classes/interfaces inherited from interface io.netty.channel.ChannelHandler

    io.netty.channel.ChannelHandler.Sharable
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final float
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
    SlowReadAwareHandler(LogLevel level, Class<? extends io.netty.channel.ChannelInboundHandler>... ignores)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    channelActive(io.netty.channel.ChannelHandlerContext ctx)
     
    void
    handlerAdded(io.netty.channel.ChannelHandlerContext ctx)
     

    Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter

    channelInactive, channelRead, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered

    Methods inherited from class io.netty.channel.ChannelHandlerAdapter

    ensureNotSharable, handlerRemoved, isSharable

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.netty.channel.ChannelHandler

    handlerRemoved
  • Field Details

    • THRESHOLD

      public static final float THRESHOLD
  • Constructor Details

    • SlowReadAwareHandler

      public SlowReadAwareHandler(LogLevel level, Class<? extends io.netty.channel.ChannelInboundHandler>... ignores)
      Parameters:
      ignores - list of ChannelInboundHandlers to ignore
    • SlowReadAwareHandler

      public SlowReadAwareHandler()
  • Method Details

    • channelActive

      public void channelActive(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      channelActive in interface io.netty.channel.ChannelInboundHandler
      Overrides:
      channelActive in class io.netty.channel.ChannelInboundHandlerAdapter
    • handlerAdded

      public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx)
      Specified by:
      handlerAdded in interface io.netty.channel.ChannelHandler
      Overrides:
      handlerAdded in class io.netty.channel.ChannelHandlerAdapter