# Cheatsheets

## Match

A match for a value.

Name | Type | Description
`@alias` | `String` | Set an alias that would replace the label value when it matches.
`@domain` | `MetricsDomain` | Set the label domain, restricting this rule to a single domain.
`@label` | `String` | Set the label name. The match will apply to the values related to this key.
`@type` | `MatchType` | Set the type of matching to apply.
`@value` | `String` | Set the matched value.

## MetricsNaming

Options for naming all metrics

Name | Type | Description
`@clientProcessingPending` | `String` | -
`@clientProcessingTime` | `String` | -
`@clientQueuePending` | `String` | -
`@clientQueueTime` | `String` | -
`@clientResetsCount` | `String` | -
`@datagramBytesRead` | `String` | -
`@datagramBytesWritten` | `String` | -
`@datagramErrorCount` | `String` | -
`@ebBytesRead` | `String` | -
`@ebBytesWritten` | `String` | -
`@ebDelivered` | `String` | -
`@ebDiscarded` | `String` | -
`@ebHandlers` | `String` | -
`@ebPending` | `String` | -
`@ebProcessed` | `String` | -
`@ebPublished` | `String` | -
`@ebReceived` | `String` | -
`@ebReplyFailures` | `String` | -
`@ebSent` | `String` | -
`@httpActiveRequests` | `String` | -
`@httpActiveWsConnections` | `String` | -
`@httpQueuePending` | `String` | -
`@httpQueueTime` | `String` | -
`@httpRequestBytes` | `String` | -
`@httpRequestResetsCount` | `String` | -
`@httpRequestsCount` | `String` | -
`@httpResponseBytes` | `String` | -
`@httpResponseTime` | `String` | -
`@httpResponsesCount` | `String` | -
`@netActiveConnections` | `String` | -
`@netBytesRead` | `String` | -
`@netBytesWritten` | `String` | -
`@netErrorCount` | `String` | -
`@poolCompleted` | `String` | -
`@poolInUse` | `String` | -
`@poolQueuePending` | `String` | -
`@poolQueueTime` | `String` | -
`@poolUsage` | `String` | -
`@poolUsageRatio` | `String` | -

## MicrometerMetricsOptions

Vert.x micrometer configuration.

It is required to set either `influxDbOptions`, `prometheusOptions` or `jmxMetricsOptions` (or, programmatically, `micrometerRegistry`) in order to actually report metrics.

Name | Type | Description
`@disabledMetricsCategories` | `Array of String` | Sets metrics types that are disabled.
`@enabled` | `Boolean` | Set whether metrics will be enabled on the Vert.x instance. Metrics are not enabled by default.
`@jvmMetricsEnabled` | `Boolean` | Whether JVM metrics should be collected. Defaults to `false`.
`@labels` | `Array of Label` | Sets enabled labels. These labels can be fine-tuned later on using Micrometer's Meter filters (see http://micrometer.io/docs/concepts#_meter_filters)
`@registryName` | `String` | Set a name for the metrics registry, so that a new registry will be created and associated with this name. If `registryName` is not provided (or null), a default registry will be used. If the same name is given to several Vert.x instances (within the same JVM), they will share the same registry.

## VertxInfluxDbOptions

Vert.x InfluxDb micrometer configuration.

Name | Type | Description
`@batchSize` | `Number (int)` | Maximum number of measurements sent per request to the InfluxDB server. When the maximum is reached, several requests are made. Default is 10000.
`@compressed` | `Boolean` | Activate or deactivate GZIP compression. It is activated by default.
`@connectTimeout` | `Number (int)` | Connection timeout for InfluxDB server connections, in seconds. Default is 1 second.
`@db` | `String` | Database name used to store metrics. Default is "default".
`@enabled` | `Boolean` | Set true to enable InfluxDB reporting
`@numThreads` | `Number (int)` | Number of threads to use by the push scheduler. Default is 2.
`@password` | `String` | Password used for authenticated connections
`@readTimeout` | `Number (int)` | Read timeout for InfluxDB server connections, in seconds. Default is 10 seconds.
`@retentionPolicy` | `String` | InfluxDB retention policy
`@step` | `Number (int)` | Push interval steps, in seconds. Default is 10 seconds.
`@uri` | `String` | URI of the InfluxDB server. Example: http://influx:8086.
`@userName` | `String` | Username used for authenticated connections

## VertxJmxMetricsOptions

Options for Prometheus metrics backend.

Name | Type | Description
`@domain` | `String` | Set the JMX domain under which to publish metrics
`@enabled` | `Boolean` | Set true to enable Prometheus reporting
`@step` | `Number (int)` | Push interval steps, in seconds. Default is 10 seconds.

## VertxPrometheusOptions

Options for Prometheus metrics backend.

Name | Type | Description
`@embeddedServerEndpoint` | `String` | Set metrics endpoint. Use conjointly with the embedded server options. Defaults to /metrics.
`@enabled` | `Boolean` | Set true to enable Prometheus reporting
`@publishQuantiles` | `Boolean` | Set true to publish histogram stats, necessary to compute quantiles. Note that it generates many new timeseries for stats, which is why it is deactivated by default.
`@startEmbeddedServer` | `Boolean` | When true, an embedded server will init to expose metrics with Prometheus format.