Interface VertxMetrics

All Superinterfaces:
Measured, Metrics

public interface VertxMetrics extends Metrics, Measured
The main Vert.x metrics SPI which Vert.x will use internally. This interface serves two purposes, one to be called by Vert.x itself for events like verticles deployed, timers created, etc. The other to provide Vert.x with other metrics SPI's which will be used for specific components i.e. HttpServer, EventBusMetrics, etc.
Author:
Nick Scavelli
  • Method Details

    • createEventBusMetrics

      default EventBusMetrics createEventBusMetrics()
      Provides the event bus metrics SPI when the event bus is created.

      No specific thread and context can be expected when this method is called.

      This method should be called only once.

      Returns:
      the event bus metrics SPI or null when metrics are disabled
    • createHttpServerMetrics

      default HttpServerMetrics<?,?> createHttpServerMetrics(HttpServerConfig config, SocketAddress tcpLocalAddress, SocketAddress udpLocalAddress)
      Provides the http server metrics SPI when an http server is created.

      No specific thread and context can be expected when this method is called.

      Note: this method can be called more than one time for the same localAddress when a server is scaled, it is the responsibility of the metrics implementation to eventually merge metrics. In this case the provided server argument can be used to distinguish the different HttpServerMetrics instances.

      Parameters:
      config - the options used to create the HttpServer
      tcpLocalAddress - the local address the TCP server is listening on
      udpLocalAddress - the lcoal address the QUIC server is listenin on
      Returns:
      the http server metrics SPI or null when metrics are disabled
    • createClientMetrics

      default ClientMetrics<?,?,?> createClientMetrics(SocketAddress remoteAddress, String type, String namespace)
      Provides the client metrics SPI when a client has been created.

      No specific thread and context can be expected when this method is called.

      Parameters:
      remoteAddress - the server remote address
      type - the metrics type, e.g http or ws
      namespace - an optional namespace for scoping the metrics
      Returns:
      the client metrics SPI or null when metrics are disabled
    • createHttpClientMetrics

      default HttpClientMetrics<?,?> createHttpClientMetrics(HttpClientConfig config)
      Provides the http client metrics SPI when an http client has been created.

      No specific thread and context can be expected when this method is called.

      Parameters:
      config - the config used to create the HttpClient
      Returns:
      the http client metrics SPI or null when metrics are disabled
    • createTcpServerMetrics

      default TransportMetrics<?> createTcpServerMetrics(TcpServerConfig config, String protocol, SocketAddress localAddress)
      Provides the net server metrics SPI when a net server is created.

      No specific thread and context can be expected when this method is called.

      Note: this method can be called more than one time for the same localAddress when a server is scaled, it is the responsibility of the metrics implementation to eventually merge metrics. In this case the provided server argument can be used to distinguish the different TCPMetrics instances.

      Parameters:
      config - the options used to create the NetServer
      protocol - the protocol type, e.g. http, null when unknown
      localAddress - localAddress the local address the net socket is listening on
      Returns:
      the net server metrics SPI or null when metrics are disabled
    • createTcpClientMetrics

      default TransportMetrics<?> createTcpClientMetrics(TcpClientConfig config, String protocol)
      Provides the TCP client metrics SPI when a net client is created.

      No specific thread and context can be expected when this method is called.

      Parameters:
      config - the options used to create the NetClient
      protocol - the protocol type, e.g. http, null when unknown
      Returns:
      the net client metrics SPI or null when metrics are disabled
    • createQuicEndpointMetrics

      default TransportMetrics<?> createQuicEndpointMetrics(QuicEndpointConfig config, String protocol, SocketAddress localAddress)

      Provides the quic endpoint metrics SPI when a quic endpoint is created.

      invalid input: '<'Note: this method can be called more than one time for the same localAddress when a server is scaled, it is the responsibility of the metrics implementation to eventually merge metrics. In this case the provided server argument can be used to distinguish the different metrics instances.

      Parameters:
      config - the config used to create the NetServer
      protocol - the protocol type, e.g. http, null when unknown
      localAddress - localAddress the local address of the UDP socket the endpoint is listening on
      Returns:
      the net server metrics SPI or null when metrics are disabled
    • createDatagramSocketMetrics

      default DatagramSocketMetrics createDatagramSocketMetrics(DatagramSocketOptions options)
      Provides the datagram/udp metrics SPI when a datagram socket is created.

      No specific thread and context can be expected when this method is called.

      Parameters:
      options - the options used to create the DatagramSocket
      Returns:
      the datagram metrics SPI or null when metrics are disabled
    • createPoolMetrics

      default PoolMetrics<?,?> createPoolMetrics(String type, String name, int maxSize)
      Provides the pool metrics SPI.
      Parameters:
      type - the type of the pool e.g. worker, datasource, etc...
      name - the name of the resource the inherent pool belongs to
      maxSize - the max size, or -1 if the number cannot be determined
      Returns:
      the pool metrics SPI or null when metrics are disabled
    • vertxCreated

      default void vertxCreated(Vertx vertx)
      Callback to signal when the Vertx instance is fully initialized. Other methods can be called before this method when the instance is being constructed.
      Parameters:
      vertx - the instance of Vertx