io.vertx.core.spi.metrics

## 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 Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `DatagramSocketMetrics` | `createMetrics(DatagramSocket socket, 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.
    `EventBusMetrics` | `createMetrics(EventBus eventBus)` 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.
    `HttpClientMetrics<?,?,?>` | `createMetrics(HttpClient client, HttpClientOptions options)` 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.
    `HttpServerMetrics<?,?,?>` | `createMetrics(HttpServer server, SocketAddress localAddress, HttpServerOptions options)` 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.
    `TCPMetrics<?>` | `createMetrics(NetClient client, NetClientOptions options)` Provides the net client metrics SPI when a net client is created. No specific thread and context can be expected when this method is called.
    `TCPMetrics<?>` | `createMetrics(NetServer server, SocketAddress localAddress, NetServerOptions options)` 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.
    `void` | `timerCreated(long id)` Called when a timer is created No specific thread and context can be expected when this method is called.
    `void` | `timerEnded(long id, boolean cancelled)` Called when a timer has ended (setTimer) or has been cancelled. No specific thread and context can be expected when this method is called.
    `void` | `verticleDeployed(Verticle verticle)` Called when a verticle is deployed in Vert.x . This method is invoked with `Context` and thread of the deployed verticle and therefore might be different on every invocation.
    `void` | `verticleUndeployed(Verticle verticle)` Called when a verticle is undeployed in Vert.x . This method is invoked with `Context` and thread of the deployed verticle and therefore might be different on every invocation, however these are the same than the `verticleDeployed(io.vertx.core.Verticle)` invocation.

    - ### Methods inherited from interface io.vertx.core.spi.metrics.Metrics

      `close, isEnabled`

    - ### Methods inherited from interface io.vertx.core.metrics.Measured

      `isMetricsEnabled`

- - ### Method Detail

    - #### verticleDeployed

          void verticleDeployed(Verticle verticle)

      Called when a verticle is deployed in Vert.x .

      This method is invoked with `Context` and thread of the deployed verticle and therefore might be different on every invocation.
      Parameters:
        `verticle` - the verticle which was deployed

    - #### verticleUndeployed

          void verticleUndeployed(Verticle verticle)

      Called when a verticle is undeployed in Vert.x .

      This method is invoked with `Context` and thread of the deployed verticle and therefore might be different on every invocation, however these are the same than the `verticleDeployed(io.vertx.core.Verticle)` invocation.
      Parameters:
        `verticle` - the verticle which was undeployed

    - #### timerCreated

          void timerCreated(long id)

      Called when a timer is created No specific thread and context can be expected when this method is called.
      Parameters:
        `id` - the id of the timer

    - #### timerEnded

          void timerEnded(long id,
                          boolean cancelled)

      Called when a timer has ended (setTimer) or has been cancelled.

      No specific thread and context can be expected when this method is called.
      Parameters:
        `id` - the id of the timer
        `cancelled` - if the timer was cancelled by the user

    - #### createMetrics

          EventBusMetrics createMetrics(EventBus eventBus)

      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.
      Parameters:
        `eventBus` - the Vert.x event bus
      Returns:
        the event bus metrics SPI

    - #### createMetrics

          HttpServerMetrics<?,?,?> createMetrics(HttpServer server,
                                                 SocketAddress localAddress,
                                                 HttpServerOptions options)

      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:
        `server` - the Vert.x http server
        `localAddress` - localAddress the local address the net socket is listening on
        `options` - the options used to create the `HttpServer`
      Returns:
        the http server metrics SPI

    - #### createMetrics

          HttpClientMetrics<?,?,?> createMetrics(HttpClient client,
                                                 HttpClientOptions options)

      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:
        `client` - the Vert.x http client
        `options` - the options used to create the `HttpClient`
      Returns:
        the http client metrics SPI

    - #### createMetrics

          TCPMetrics<?> createMetrics(NetServer server,
                                      SocketAddress localAddress,
                                      NetServerOptions options)

      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:
        `server` - the Vert.x net server
        `localAddress` - localAddress the local address the net socket is listening on
        `options` - the options used to create the `NetServer`
      Returns:
        the net server metrics SPI

    - #### createMetrics

          TCPMetrics<?> createMetrics(NetClient client,
                                      NetClientOptions options)

      Provides the net client metrics SPI when a net client is created.

      No specific thread and context can be expected when this method is called.
      Parameters:
        `client` - the Vert.x net client
        `options` - the options used to create the `NetClient`
      Returns:
        the net client metrics SPI

    - #### createMetrics

          DatagramSocketMetrics createMetrics(DatagramSocket socket,
                                              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:
        `socket` - the Vert.x datagram socket
        `options` - the options used to create the `DatagramSocket`
      Returns:
        the datagram metrics SPI

Copyright © 2015. All Rights Reserved.