fix(SW-696): add unwrap metrics

This commit is contained in:
Christian Andolf
2024-11-19 09:09:50 +01:00
parent 3aedc4ff25
commit e294d39fdf
2 changed files with 27 additions and 1 deletions

View File

@@ -34,6 +34,9 @@ import {
getCurrentRewardFailCounter, getCurrentRewardFailCounter,
getCurrentRewardSuccessCounter, getCurrentRewardSuccessCounter,
getUniqueRewardIds, getUniqueRewardIds,
getUnwrapSurpriseCounter,
getUnwrapSurpriseFailCounter,
getUnwrapSurpriseSuccessCounter,
} from "./utils" } from "./utils"
const ONE_HOUR = 60 * 60 const ONE_HOUR = 60 * 60
@@ -366,6 +369,8 @@ export const rewardQueryRouter = router({
unwrap: protectedProcedure unwrap: protectedProcedure
.input(rewardsUpdateInput) .input(rewardsUpdateInput)
.mutation(async ({ input, ctx }) => { .mutation(async ({ input, ctx }) => {
getUnwrapSurpriseCounter.add(1)
const promises = input.map(({ rewardId, couponCode }) => { const promises = input.map(({ rewardId, couponCode }) => {
return api.post(api.endpoints.v1.Profile.Reward.unwrap, { return api.post(api.endpoints.v1.Profile.Reward.unwrap, {
body: { body: {
@@ -384,8 +389,18 @@ export const rewardQueryRouter = router({
responses.map(async (apiResponse) => { responses.map(async (apiResponse) => {
if (!apiResponse.ok) { if (!apiResponse.ok) {
const text = await apiResponse.text() const text = await apiResponse.text()
getUnwrapSurpriseFailCounter.add(1, {
error_type: "http_error",
error: JSON.stringify({
status: apiResponse.status,
statusText: apiResponse.statusText,
text,
}),
})
console.error( console.error(
"contentstack.unwrap validation error", "contentstack.unwrap API error",
JSON.stringify({ JSON.stringify({
error: { error: {
status: apiResponse.status, status: apiResponse.status,
@@ -405,6 +420,8 @@ export const rewardQueryRouter = router({
return null return null
} }
getUnwrapSurpriseSuccessCounter.add(1)
return true return true
}), }),
}) })

View File

@@ -44,6 +44,15 @@ export const getByLevelRewardFailCounter = meter.createCounter(
export const getByLevelRewardSuccessCounter = meter.createCounter( export const getByLevelRewardSuccessCounter = meter.createCounter(
"trpc.contentstack.reward.byLevel-success" "trpc.contentstack.reward.byLevel-success"
) )
export const getUnwrapSurpriseCounter = meter.createCounter(
"trpc.contentstack.reward.unwrap"
)
export const getUnwrapSurpriseFailCounter = meter.createCounter(
"trpc.contentstack.reward.unwrap-fail"
)
export const getUnwrapSurpriseSuccessCounter = meter.createCounter(
"trpc.contentstack.reward.unwrap-success"
)
const ONE_HOUR = 60 * 60 const ONE_HOUR = 60 * 60