Micrometer Meters and Tags
Micrometer Meters
Micrometer meters are similar to Geode statistics in that they have different types. Geode uses the three main meter types: counter, gauge, and timer.
- A counter is a numerical value that only goes up.
- A gauge is a numerical value that can go up or down.
- A timer is a counter combined with an ever growing summary of the time each thing being counted has taken to finish.
There are other types of meters available in Micrometer, but they are not currently being used in Geode.
Every meter in Micrometer has the following attributes, but may also have more than these depending on the meter type:
-
Name
: a lowercase, ‘dot’ delimited name -
Description
: a short text description of the meter -
Value
: the value of the meter, always a number -
Units
: the unit of the value -
Tags
: key/value string pairs to define facts about the meter
Meters supplied by Micrometer
Geode has been instrumented with a set of Micrometer provided meters, called binders, which contain one or many individual meters with pre-defined types and tags. The following are a subset of the Micrometer binders that have been added to Geode:
JVM specific
- JvmGcMetrics
- JvmMemoryMetrics
- JvmThreadMetrics
Operating System specific
- ProcessorMetrics
- UptimeMetrics
- FileDescriptorMetrics
Meters specific to Geode
There are Geode specific meters that have been instrumented to allow developers to monitor certain aspects of the Geode cluster. The namespace used for these metrics includes the Apache Geode (e.g. geode.*) product name as a means to distinguish this meter from others similar to it in downstream systems. The following meters have been added to Geode:
Meter: | geode.cache.entries |
---|---|
Type: | Gauge |
Description: | The current count of entries in the cache for this member (locators will not have this metric) |
Tag: | region: The name of the region associated with the count of entries |
Tag: | data.policy: The data policy described for these regions, see RegionShortcuts for Peers and Servers |
Meter: | geode.function.executions |
---|---|
Type: | Timer |
Description: | A total time and count for any execution that completed without errors of this function on this member. |
Tag: | Function: The name or class of the function |
Tag: | Succeeded: true/false |
Meter: | geode.gateway.receiver.events |
---|---|
Type: | Counter |
Description: | The total number of events received by this GatewayReceiver |
Meter: | geode.cache.gets |
---|---|
Type: | Timer |
Description: | A total time and count for any get operation performed against the cache server for this member. Get operations that circumvent the cache server, such as REST calls, gfsh operations, and peer-to-peer operations, are not counted. Locators will not have this metric. |
Tag: | region: The name of the region associated with the count of entries |
Tag: | result: hit/miss |
Common tags
Geode meters all contain tags, also referred to as labels or dimensions, depending upon which Application Performance Monitoring (APM) tool is being utilized. Micrometer offers a concept of common
tags that exist on every meter within a meter registry.
In Geode, the following common tags have been provided to add context to each meter:
-
cluster
: The distributed system id associated with this member -
host
: The hostname the member exists on, could be the same as another if collocated -
member
: the member name provided at startup time -
member.type
: locator, server, locator-server
Please submit a pull request to Apache Geode if there are more metrics you would like to see added to Geode.