diff --git a/protocol/lib/metrics/constants.go b/protocol/lib/metrics/constants.go index 92654d4f81..69e96e9f9e 100644 --- a/protocol/lib/metrics/constants.go +++ b/protocol/lib/metrics/constants.go @@ -306,8 +306,7 @@ const ( SubaccountOwner = "subaccount_owner" MarketMapperRevenueDistribution = "market_mapper_revenue_distribution" AffiliateRevenueShareDistribution = "affiliate_revenue_share_distribution" - UnconditionalRevenueShareDistribution = "unconditional_revenue_share_distribution" - NetFeesPostRevenueShareDistribution = "net_fees_post_revenue_share_distribution" + RevenueShareDistribution = "revenue_share_distribution" // Liquidation Daemon. CheckCollateralizationForSubaccounts = "check_collateralization_for_subaccounts" diff --git a/protocol/x/subaccounts/keeper/transfer.go b/protocol/x/subaccounts/keeper/transfer.go index d46a8b5695..44aef4463f 100644 --- a/protocol/x/subaccounts/keeper/transfer.go +++ b/protocol/x/subaccounts/keeper/transfer.go @@ -250,28 +250,24 @@ func (k Keeper) DistributeFees( return err } - // emit a metric for revenue share - labels := []metrics.Label{} - var metricName string - switch revShare.RevShareType { - case revsharetypes.REV_SHARE_TYPE_MARKET_MAPPER: - labels = append(labels, metrics.GetLabelForIntValue(metrics.MarketId, int(perpetual.Params.MarketId))) - metricName = metrics.MarketMapperRevenueDistribution - case revsharetypes.REV_SHARE_TYPE_AFFILIATE: - labels = append(labels, metrics.GetLabelForStringValue(metrics.RecipientAddress, revShare.Recipient)) - metricName = metrics.AffiliateRevenueShareDistribution - case revsharetypes.REV_SHARE_TYPE_UNCONDITIONAL: - labels = append(labels, metrics.GetLabelForStringValue(metrics.RecipientAddress, revShare.Recipient)) - metricName = metrics.UnconditionalRevenueShareDistribution - default: - ctx.Logger().Error("invalid rev share type", "type", revShare.RevShareType) - continue - } + // Emit revenue share metrics.AddSampleWithLabels( - metricName, + metrics.RevenueShareDistribution, metrics.GetMetricValueFromBigInt(revShare.QuoteQuantums), - labels..., + metrics.GetLabelForStringValue(metrics.RecipientAddress, revShare.Recipient), ) + + // Old metric which is being kept for now to ensure data continuity + if revShare.RevShareType == revsharetypes.REV_SHARE_TYPE_MARKET_MAPPER { + labels := []metrics.Label{ + metrics.GetLabelForIntValue(metrics.MarketId, int(perpetual.Params.MarketId)), + } + metrics.AddSampleWithLabels( + metrics.RevenueShareDistribution, + metrics.GetMetricValueFromBigInt(revShare.QuoteQuantums), + labels..., + ) + } } totalTakerFeeRevShareQuantums := big.NewInt(0)