A gauge is a metric whose value arbitrarily goes up and down. Gauges are always backed by a method that supplies the value of the gauge:
@Gaugeint provideGaugeValue() { return 42; // The value of the gauge is always 42}
The gauge's value is computed, like all other values, when a client requests the values. This requires the implementation of the gauge method to be very quick, so that a caller is not blocked.