blob: 5d0bc000b67cae3677acd4ebc6b314162dbf6fca [file] [log] [blame]
---
title: Micrometer Meters and Tags
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
## Micrometer Meters
Micrometer meters are similar to <%=vars.product_name%> statistics in that they have different types. <%=vars.product_name%> 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 <%vars.product_name%>.
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
<%=vars.product_name%> 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 <%=vars.product_name%>:
*JVM specific*
- JvmGcMetrics
- JvmMemoryMetrics
- JvmThreadMetrics
*Operating System specific*
- ProcessorMetrics
- UptimeMetrics
- FileDescriptorMetrics
### Meters specific to <%=vars.product_name%>
There are <%=vars.product_name%> specific meters that have been instrumented to allow developers to monitor certain aspects of the <%=vars.product_name%> 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 <%=vars.product_name%>:
| 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](../../basic_config/data_regions/region_shortcuts.html#region_shortcuts__section_D0975C76572E41F79C1A6EE7CF371251) |
| 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
<%=vars.product_name%> 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 <%=vars.product_name%>, 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 <%=vars.product_name%>.