test_class.file: ui/src/test/java/org/glowroot/ui/HttpServicesTest.java
test_class.identifier: HttpServicesTest
test_case.body: @Test
      public void shouldNotLogInterruptedException() {
          // given
          Exception e = new InterruptedException();
          // when
          assertThat(HttpServices.shouldLogException(e)).isFalse();
      }
test_case.class_method_signature: HttpServicesTest.shouldNotLogInterruptedException()
test_case.full_signature: @Test public void shouldNotLogInterruptedException()
test_case.identifier: shouldNotLogInterruptedException
test_case.invocations: isFalse assertThat shouldLogException
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void shouldNotLogInterruptedException()
focal_class.declarator: logger = LoggerFactory.getLogger(HttpServices.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger logger = LoggerFactory.getLogger(HttpServices.class);
focal_class.type: Logger
focal_class.var_name: logger
focal_class.declarator: BROWSER_DISCONNECT_MESSAGES =
              ImmutableSet.of("An existing connection was forcibly closed by the remote host",
                      "An established connection was aborted by the software in your host machine",
                      "Connection reset by peer")
focal_class.modifier: private static final
focal_class.original_string: private static final ImmutableSet<String> BROWSER_DISCONNECT_MESSAGES =
              ImmutableSet.of("An existing connection was forcibly closed by the remote host",
                      "An established connection was aborted by the software in your host machine",
                      "Connection reset by peer");
focal_class.type: ImmutableSet<String>
focal_class.var_name: BROWSER_DISCONNECT_MESSAGES
focal_class.file: ui/src/main/java/org/glowroot/ui/HttpServices.java
focal_class.identifier: HttpServices
focal_class.class_method_signature: HttpServices.HttpServices()
focal_class.full_signature: private  HttpServices()
focal_class.identifier: HttpServices
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.signature:  HttpServices()
focal_class.class_method_signature: HttpServices.addErrorListener(ChannelFuture future)
focal_class.full_signature: @SuppressWarnings("argument.type.incompatible") static void addErrorListener(ChannelFuture future)
focal_class.identifier: addErrorListener
focal_class.modifiers: @SuppressWarnings("argument.type.incompatible") static
focal_class.parameters: (ChannelFuture future)
focal_class.return: void
focal_class.signature: void addErrorListener(ChannelFuture future)
focal_class.class_method_signature: HttpServices.addCloseListener(ChannelFuture future)
focal_class.full_signature: @SuppressWarnings("argument.type.incompatible") static void addCloseListener(ChannelFuture future)
focal_class.identifier: addCloseListener
focal_class.modifiers: @SuppressWarnings("argument.type.incompatible") static
focal_class.parameters: (ChannelFuture future)
focal_class.return: void
focal_class.signature: void addCloseListener(ChannelFuture future)
focal_class.class_method_signature: HttpServices.shouldLogException(Throwable t)
focal_class.full_signature: static boolean shouldLogException(Throwable t)
focal_class.identifier: shouldLogException
focal_class.modifiers: static
focal_class.parameters: (Throwable t)
focal_class.return: boolean
focal_class.signature: boolean shouldLogException(Throwable t)
focal_method.body: static boolean shouldLogException(Throwable t) {
          if (t instanceof InterruptedException) {
              // ignore, probably just termination
              logger.debug(t.getMessage(), t);
              return false;
          }
          if (t instanceof IOException && BROWSER_DISCONNECT_MESSAGES.contains(t.getMessage())) {
              // ignore, just a browser disconnect
              logger.debug(t.getMessage(), t);
              return false;
          }
          if (t instanceof ClosedChannelException) {
              // ignore, just a browser disconnect
              logger.debug(t.getMessage(), t);
              return false;
          }
          return true;
      }
focal_method.class_method_signature: HttpServices.shouldLogException(Throwable t)
focal_method.full_signature: static boolean shouldLogException(Throwable t)
focal_method.identifier: shouldLogException
focal_method.invocations: debug getMessage contains getMessage debug getMessage debug getMessage
focal_method.modifiers: static
focal_method.parameters: (Throwable t)
focal_method.return: boolean
focal_method.signature: boolean shouldLogException(Throwable t)