@Test public void testFactory() throws Exception { AtomicReference<Thread> metricsThread = new AtomicReference<>(); AtomicReference<Context> metricsContext = new AtomicReference<>(); VertxMetricsFactory factory = (options) -> { metricsThread.set(Thread.currentThread()); metricsContext.set(Vertx.currentContext()); return DummyVertxMetrics.INSTANCE; }; vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); assertSame(Thread.currentThread(), metricsThread.get()); assertNull(metricsContext.get()); }
options = new VertxOptions().setMetricsOptions(metricsOptions); configureFromSystemProperties(options, VERTX_OPTIONS_PROP_PREFIX); if (clustered) {
@Override protected VertxOptions getOptions() { return new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(false)); // Just to be explicit }
@Test public void testFactoryInCluster() throws Exception { AtomicReference<Thread> metricsThread = new AtomicReference<>(); AtomicReference<Context> metricsContext = new AtomicReference<>(); Thread testThread = Thread.currentThread(); VertxMetricsFactory factory = (options) -> { metricsThread.set(Thread.currentThread()); metricsContext.set(Vertx.currentContext()); return DummyVertxMetrics.INSTANCE; }; clusteredVertx(new VertxOptions().setClustered(true).setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory)), onSuccess(vertx -> { assertSame(testThread, metricsThread.get()); assertNull(metricsContext.get()); testComplete(); })); await(); }
if (optionsJson == null) { MetricsOptions metricsOptions = getMetricsOptions(); options = new VertxOptions().setMetricsOptions(metricsOptions); } else { MetricsOptions metricsOptions = getMetricsOptions(optionsJson.getJsonObject("metricsOptions")); options = new VertxOptions(optionsJson).setMetricsOptions(metricsOptions);
@Override protected VertxOptions getOptions() { VertxOptions options = super.getOptions(); options.setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new FakeMetricsFactory())); return options; }
@Override protected VertxOptions getOptions() { VertxOptions options = super.getOptions(); options.setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new FakeMetricsFactory())); return options; }
@Test public void testMetricsEnabledWithoutConfig() { vertx.close(); vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true))); VertxMetrics metrics = ((VertxInternal) vertx).metricsSPI(); assertNull(metrics); }
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); Context ctx = contextFactory.apply(vertx); ctx.runOnContext(v1 -> {
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); vertx.deployVerticle(new AbstractVerticle() { @Override
@Test public void testSetMetricsInstance() { DummyVertxMetrics metrics = DummyVertxMetrics.INSTANCE; vertx.close(); vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new SimpleVertxMetricsFactory<>(metrics)))); assertSame(metrics, ((VertxInternal) vertx).metricsSPI()); }
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); Context ctx = contextFactory.apply(vertx); ctx.runOnContext(v1 -> {
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); EventBus eb = vertx.eventBus(); runOnContext.accept(vertx, v -> {
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); Context ctx = contextFactory.apply(vertx); ctx.runOnContext(v1 -> {
@Test public void testThreadPoolMetricsWithNamedExecuteBlocking() { vertx = Vertx.vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new FakeMetricsFactory())));
Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); Context ctx = contextFactory.apply(vertx); NetServer server = vertx.createNetServer().connectHandler(so -> {
@Test public void testMetricsFromServiceLoader() { vertx.close(); VertxOptions options = new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true)); vertx = createVertxLoadingMetricsFromMetaInf(options, "io.vertx.test.fakemetrics.FakeMetricsFactory"); VertxMetrics metrics = ((VertxInternal) vertx).metricsSPI(); assertNotNull(metrics); assertTrue(metrics instanceof FakeVertxMetrics); }
@Test public void testSetMetricsInstanceTakesPrecedenceOverServiceLoader() { DummyVertxMetrics metrics = DummyVertxMetrics.INSTANCE; vertx.close(); VertxOptions options = new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(new SimpleVertxMetricsFactory<>(metrics))); vertx = createVertxLoadingMetricsFromMetaInf(options, "io.vertx.test.fakemetrics.FakeMetricsFactory"); assertSame(metrics, ((VertxInternal) vertx).metricsSPI()); }
@Test public void testEventBusLifecycle() { AtomicBoolean closeCalled = new AtomicBoolean(); VertxMetricsFactory factory = (options) -> new DummyVertxMetrics() { @Override public EventBusMetrics createEventBusMetrics() { return new DummyEventBusMetrics() { @Override public boolean isEnabled() { return true; } @Override public void close() { closeCalled.set(true); } }; } }; Vertx vertx = vertx(new VertxOptions().setMetricsOptions(new MetricsOptions().setEnabled(true).setFactory(factory))); vertx.eventBus(); executeInVanillaThread(() -> { vertx.close(onSuccess(v -> { assertTrue(closeCalled.get()); testComplete(); })); }); await(); }
options.setQuorumSize(quorumSize); options.setHAGroup(haGroup); options.setMetricsOptions( new MetricsOptions(). setEnabled(metricsEnabled));