@Test public void testRecordUpdatesInstant() { Instant previousUpdate = hostMetrics.lastUpdate(); hostMetrics.record(200, 100); assertThat(hostMetrics.lastUpdate()).isAfter(previousUpdate); }
@Test public void testRecordIoExceptionUpdatesInstant() { Instant previousUpdate = hostMetrics.lastUpdate(); hostMetrics.recordIoException(); assertThat(hostMetrics.lastUpdate()).isAfter(previousUpdate); } }
@Test public void testIoExceptionUpdatesMeter() { Meter ioExceptions = hostMetrics.getIoExceptions(); assertThat(ioExceptions.getCount()).isZero(); hostMetrics.recordIoException(); assertThat(ioExceptions.getCount()).isEqualTo(1); }
@Override public void recordIoException(String serviceName, String hostname, int port) { try { hostMetrics.get(ImmutableServiceHostAndPort.of(serviceName, hostname, port)).recordIoException(); } catch (Exception e) { log.warn("Unable to record IO exception for host and port", UnsafeArg.of("hostname", hostname), SafeArg.of("port", port), e); } }
@Override public void record(String serviceName, String hostname, int port, int statusCode, long micros) { try { hostMetrics.get( ImmutableServiceHostAndPort.of(serviceName, hostname, port)).record(statusCode, micros); } catch (Exception e) { log.warn("Unable to record metrics for host and port", UnsafeArg.of("hostname", hostname), SafeArg.of("port", port), e); } }
@Before public void before() { when(clock.millis()).thenReturn(firstInstant, secondInstant); hostMetrics = new DefaultHostMetrics(SERVICE_NAME, HOSTNAME, PORT, clock); }
@Override public void recordIoException(String serviceName, String hostname, int port) { try { hostMetrics.get(ImmutableServiceHostAndPort.of(serviceName, hostname, port)).recordIoException(); } catch (Exception e) { log.warn("Unable to record IO exception for host and port", UnsafeArg.of("hostname", hostname), SafeArg.of("port", port), e); } }
@Override public void record(String serviceName, String hostname, int port, int statusCode, long micros) { try { hostMetrics.get( ImmutableServiceHostAndPort.of(serviceName, hostname, port)).record(statusCode, micros); } catch (Exception e) { log.warn("Unable to record metrics for host and port", UnsafeArg.of("hostname", hostname), SafeArg.of("port", port), e); } }