/* * Copyright (c) 2011-2014 The original author or authors * ------------------------------------------------------ * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * and Apache License v2.0 which accompanies this distribution. * * The Eclipse Public License is available at * http://www.eclipse.org/legal/epl-v10.html * * The Apache License v2.0 is available at * http://www.opensource.org/licenses/apache2.0.php * * You may elect to redistribute this code under either of these licenses. */ package io.vertx.core.metrics.impl; import io.vertx.core.Verticle; import io.vertx.core.datagram.DatagramSocket; import io.vertx.core.datagram.DatagramSocketOptions; import io.vertx.core.eventbus.EventBus; import io.vertx.core.eventbus.ReplyFailure; import io.vertx.core.http.HttpClient; import io.vertx.core.http.HttpClientOptions; import io.vertx.core.http.HttpClientRequest; import io.vertx.core.http.HttpClientResponse; import io.vertx.core.http.HttpMethod; import io.vertx.core.http.HttpServer; import io.vertx.core.http.HttpServerOptions; import io.vertx.core.http.HttpServerRequest; import io.vertx.core.http.HttpServerResponse; import io.vertx.core.http.ServerWebSocket; import io.vertx.core.http.WebSocket; import io.vertx.core.spi.metrics.*; import io.vertx.core.net.NetClientOptions; import io.vertx.core.net.NetServerOptions; import io.vertx.core.net.SocketAddress; /** * @author <a href="http://tfox.org">Tim Fox</a> */ public class DummyVertxMetrics implements VertxMetrics { public static final DummyVertxMetrics INSTANCE = new DummyVertxMetrics(); @Override public void verticleDeployed(Verticle verticle) { } @Override public void verticleUndeployed(Verticle verticle) { } @Override public void timerCreated(long id) { } @Override public void timerEnded(long id, boolean cancelled) { } @Override public EventBusMetrics createMetrics(EventBus eventBus) { return DummyEventBusMetrics.INSTANCE; } @Override public HttpServerMetrics createMetrics(HttpServer server, SocketAddress localAddress, HttpServerOptions options) { return DummyHttpServerMetrics.INSTANCE; } @Override public HttpClientMetrics createMetrics(HttpClient client, HttpClientOptions options) { return DummyHttpClientMetrics.INSTANCE; } @Override public TCPMetrics createMetrics(SocketAddress localAddress, NetServerOptions options) { return DummyTCPMetrics.INSTANCE; } @Override public TCPMetrics createMetrics(NetClientOptions options) { return DummyTCPMetrics.INSTANCE; } @Override public DatagramSocketMetrics createMetrics(DatagramSocket socket, DatagramSocketOptions options) { return DummyDatagramMetrics.INSTANCE; } @Override public <P> PoolMetrics<?> createMetrics(P pool, String poolType, String poolName, int maxPoolSize) { return DummyWorkerPoolMetrics.INSTANCE; } @Override public void close() { } @Override public boolean isEnabled() { return false; } @Override public boolean isMetricsEnabled() { return false; } public static class DummyEventBusMetrics implements EventBusMetrics<Void> { public static final DummyEventBusMetrics INSTANCE = new DummyEventBusMetrics(); @Override public void messageWritten(String address, int numberOfBytes) { } @Override public void messageRead(String address, int numberOfBytes) { } @Override public Void handlerRegistered(String address, String repliedAddress) { return null; } @Override public void handlerUnregistered(Void handler) { } @Override public void beginHandleMessage(Void handler, boolean local) { } @Override public void scheduleMessage(Void handler, boolean local) { } @Override public void endHandleMessage(Void handler, Throwable failure) { } @Override public void messageSent(String address, boolean publish, boolean local, boolean remote) { } @Override public void messageReceived(String address, boolean publish, boolean local, int handlers) { } @Override public void replyFailure(String address, ReplyFailure failure) { } @Override public boolean isEnabled() { return false; } @Override public void close() { } } public static class DummyHttpServerMetrics implements HttpServerMetrics<Void, Void, Void> { public static final DummyHttpServerMetrics INSTANCE = new DummyHttpServerMetrics(); @Override public Void requestBegin(Void socketMetric, HttpServerRequest request) { return null; } @Override public void requestReset(Void requestMetric) { } @Override public Void responsePushed(Void socketMetric, HttpMethod method, String uri, HttpServerResponse response) { return null; } @Override public void responseEnd(Void requestMetric, HttpServerResponse response) { } @Override public Void upgrade(Void requestMetric, ServerWebSocket serverWebSocket) { return null; } @Override public Void connected(SocketAddress remoteAddress, String remoteName) { return null; } @Override public void disconnected(Void socketMetric, SocketAddress remoteAddress) { } @Override public void bytesRead(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void bytesWritten(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void exceptionOccurred(Void socketMetric, SocketAddress remoteAddress, Throwable t) { } @Override public void close() { } @Override public boolean isEnabled() { return false; } @Override public Void connected(Void socketMetric, ServerWebSocket serverWebSocket) { return null; } @Override public void disconnected(Void serverWebSocketMetric) { } } public static class DummyHttpClientMetrics implements HttpClientMetrics<Void, Void, Void, Void, Void> { public static final DummyHttpClientMetrics INSTANCE = new DummyHttpClientMetrics(); @Override public Void createEndpoint(String host, int port, int maxPoolSize) { return null; } @Override public Void enqueueRequest(Void endpointMetric) { return null; } @Override public void dequeueRequest(Void endpointMetric, Void taskMetric) { } @Override public void closeEndpoint(String host, int port, Void endpointMetric) { } @Override public void endpointConnected(Void endpointMetric, Void socketMetric) { } @Override public Void connected(SocketAddress remoteAddress, String remoteName) { return null; } @Override public void disconnected(Void socketMetric, SocketAddress remoteAddress) { } @Override public void endpointDisconnected(Void endpointMetric, Void socketMetric) { } @Override public Void requestBegin(Void endpointMetric, Void socketMetric, SocketAddress localAddress, SocketAddress remoteAddress, HttpClientRequest request) { return null; } @Override public void requestEnd(Void requestMetric) { } @Override public void responseBegin(Void requestMetric, HttpClientResponse response) { } @Override public Void responsePushed(Void endpointMetric, Void socketMetric, SocketAddress localAddress, SocketAddress remoteAddress, HttpClientRequest request) { return null; } @Override public void requestReset(Void requestMetric) { } @Override public void responseEnd(Void requestMetric, HttpClientResponse response) { } @Override public void bytesRead(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void bytesWritten(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void exceptionOccurred(Void socketMetric, SocketAddress remoteAddress, Throwable t) { } @Override public void close() { } @Override public boolean isEnabled() { return false; } @Override public Void connected(Void endpointMetric, Void socketMetric, WebSocket webSocket) { return null; } @Override public void disconnected(Void webSocketMetric) { } } public static class DummyTCPMetrics implements TCPMetrics<Void> { public static final DummyTCPMetrics INSTANCE = new DummyTCPMetrics(); @Override public Void connected(SocketAddress remoteAddress, String remoteName) { return null; } @Override public void disconnected(Void socketMetric, SocketAddress remoteAddress) { } @Override public void bytesRead(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void bytesWritten(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void exceptionOccurred(Void socketMetric, SocketAddress remoteAddress, Throwable t) { } @Override public void close() { } @Override public boolean isEnabled() { return false; } } public static class DummyDatagramMetrics implements DatagramSocketMetrics { public static final DummyDatagramMetrics INSTANCE = new DummyDatagramMetrics(); @Override public void listening(String localName, SocketAddress localAddress) { } @Override public void bytesRead(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void bytesWritten(Void socketMetric, SocketAddress remoteAddress, long numberOfBytes) { } @Override public void exceptionOccurred(Void socketMetric, SocketAddress remoteAddress, Throwable t) { } @Override public void close() { } @Override public boolean isEnabled() { return false; } } public static class DummyWorkerPoolMetrics implements PoolMetrics<Void> { public static final DummyWorkerPoolMetrics INSTANCE = new DummyWorkerPoolMetrics(); @Override public Void submitted() { return null; } @Override public void rejected(Void t) { } @Override public Void begin(Void t) { return t; } public void end(Void t, boolean succeeded) { } @Override public boolean isEnabled() { return false; } @Override public void close() { } } }