-
Notifications
You must be signed in to change notification settings - Fork 3.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(metrics): minted_tokens is a gauge, should be a counter #22163
Conversation
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
) | ||
} | ||
|
||
// ModuleIncrCounter increments a counter metric for a module with a given set of keys. | ||
// If any global labels are defined, they will be added to the module label. | ||
func ModuleIncrCounter(module string, val float32, keys ...string) { | ||
if !IsTelemetryEnabled() { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Change potentially affects state.
Call sequence:
github.com/cosmos/cosmos-sdk/telemetry.IncrCounter (telemetry/wrapper.go:53)
(*github.com/cosmos/cosmos-sdk/baseapp.BaseApp).deliverTx (telemetry/wrapper.go:761)
(*github.com/cosmos/cosmos-sdk/baseapp.BaseApp).internalFinalizeBlock (telemetry/wrapper.go:739)
(*github.com/cosmos/cosmos-sdk/baseapp.BaseApp).FinalizeBlock (telemetry/wrapper.go:894)
@@ -173,7 +173,7 @@ func DefaultMintFn(ic types.InflationCalculationFn, staking types.StakingKeeper, | |||
} | |||
|
|||
if mintedCoin.Amount.IsInt64() { | |||
defer telemetry.ModuleSetGauge(types.ModuleName, float32(mintedCoin.Amount.Int64()), "minted_tokens") | |||
defer telemetry.ModuleIncrCounter(types.ModuleName, float32(mintedCoin.Amount.Int64()), "minted_tokens") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We've actually removed counters from module due to the double count behavior
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fo reference: #21963
Description
This PR proposes changing the
minted_tokens
metric from agauge
to acounter
.Currently, the
minted_tokens
metric is implemented as agauge
, which is not the most appropriate metric type for this use case. In the current implementation, the value presented by the exporter is only the last "minted_tokens" value.By changing it to a
counter
, the metric will instead provide a cumulative measure, increasing as new tokens are minted. This change will improve the accuracy and usefulness of theminted_tokens
metric in monitoring token minting activity over time.This change allows us to run queries such as
increase(minted_tokens[1h]) by (module)
(minted tokens in the last hour, broken down by modules).For more information on metric types, please refer to: https://prometheus.io/docs/concepts/metric_types/
Author Checklist
All items are required. Please add a note to the item if the item is not applicable and
please add links to any relevant follow up issues.
I have...
!
in the type prefix if API or client breaking changeCHANGELOG.md
Reviewers Checklist
All items are required. Please add a note if the item is not applicable and please add
your handle next to the items reviewed if you only reviewed selected items.
Please see Pull Request Reviewer section in the contributing guide for more information on how to review a pull request.
I have...