Merged in chore/redirect-counter (pull request #3302)

Counter name is now searchable and add counter for redirects

* refactor: createCounter() only takes one argument, the name of the counter. Makes it easier to search for

* feat: add counter when we do a redirect from redirect-service


Approved-by: Linus Flood
This commit is contained in:
Joakim Jäderberg
2025-12-08 10:24:05 +00:00
parent edca33c49f
commit 8b94540d19
61 changed files with 146 additions and 236 deletions

View File

@@ -14,7 +14,7 @@ import type { JWT } from "next-auth/jwt"
const authLogger = createLogger("auth")
export const PRE_REFRESH_TIME_IN_SECONDS = 180
export const signInCounter = createCounter("auth", "signIn")
export const signInCounter = createCounter("auth.signIn")
async function refreshTokens(token: JWT) {
try {

View File

@@ -35,7 +35,7 @@ async function linkEmployeeToUser(
employeeId: string,
accessToken: string
): Promise<LinkEmployeeResult> {
const apiCallCounter = createCounter("dtmc.api", "team_member_card")
const apiCallCounter = createCounter("dtmc.api.team_member_card")
const metricsApiCall = apiCallCounter.init({ employee_id: employeeId })
metricsApiCall.start()
@@ -121,7 +121,7 @@ async function linkEmployeeToUser(
* here we can check both sessions, the Scandic Friends one and the Azure one.
*/
export async function GET(request: NextRequest) {
const dtmcLinkCounter = createCounter("dtmc.employee", "link")
const dtmcLinkCounter = createCounter("dtmc.employee.link")
const metricsEmployeeLink = dtmcLinkCounter.init()
metricsEmployeeLink.start()

View File

@@ -25,7 +25,7 @@ import {
export const dynamic = "force-dynamic"
export async function GET(request: NextRequest) {
const generateSitemapCounter = createCounter("sitemap", "generate")
const generateSitemapCounter = createCounter("sitemap.generate")
const metricsGenerateSitemap = generateSitemapCounter.init()
try {
metricsGenerateSitemap.start()
@@ -44,7 +44,7 @@ export async function GET(request: NextRequest) {
const responseData = await contentstackSync(syncToken)
const mergedEntries = mergeEntries(currentEntries, responseData.entries)
const entriesSaveCounter = createCounter("sitemap", "entries.save")
const entriesSaveCounter = createCounter("sitemap.entries.save")
const metricsEntriesSave = entriesSaveCounter.init({
entriesCount: mergedEntries.length,
})
@@ -59,7 +59,7 @@ export async function GET(request: NextRequest) {
const sitemapData = mapEntriesToSitemapData(mergedEntries, hotelFilters)
const lastUpdated = dt().utc().format()
const saveDataCounter = createCounter("sitemap", "data.save")
const saveDataCounter = createCounter("sitemap.data.save")
const metricsDataSave = saveDataCounter.init({
sitemapEntriesCount: sitemapData.length,
lastUpdated,
@@ -70,7 +70,7 @@ export async function GET(request: NextRequest) {
metricsDataSave.success()
if (syncToken !== responseData.syncToken) {
const syncTokenSaveCounter = createCounter("sitemap", "syncToken.save")
const syncTokenSaveCounter = createCounter("sitemap.syncToken.save")
const metricsSyncTokenSave = syncTokenSaveCounter.init({
syncToken: responseData.syncToken,
})

View File

@@ -19,7 +19,7 @@ export async function contentstackSync(syncToken: string | null) {
const entries = []
const syncOptions = syncToken ? { sync_token: syncToken } : { init: true }
const entriesSyncCounter = createCounter("sitemap", "entries.sync")
const entriesSyncCounter = createCounter("sitemap.entries.sync")
const metricsEntriesSync = entriesSyncCounter.init({
environment,
...syncOptions,
@@ -33,8 +33,7 @@ export async function contentstackSync(syncToken: string | null) {
entries.push(...syncResponse.items)
const entriesSyncPaginationCounter = createCounter(
"sitemap",
"entries.sync.pagination"
"sitemap.entries.sync.pagination"
)
const metricsEntriesSyncPagination = entriesSyncPaginationCounter.init({
environment,

View File

@@ -15,7 +15,7 @@ export function mergeEntries(
currentEntries: SyncItem[],
newEntries: SyncItem[]
) {
const entriesMergeCounter = createCounter("sitemap", "entries.merge")
const entriesMergeCounter = createCounter("sitemap.entries.merge")
const metricsEntriesMerge = entriesMergeCounter.init({
currentEntriesCount: currentEntries.length,
newEntriesCount: newEntries.length,
@@ -57,8 +57,7 @@ export function mergeEntries(
export function mapEntriesToHotelFilters(entries: SyncItem[]) {
const entriesTransformToHotelFiltersCounter = createCounter(
"sitemap",
"entries.transform.hotelFilters"
"sitemap.entries.transform.hotelFilters"
)
const metricsEntriesTransformToHotelFilters =
entriesTransformToHotelFiltersCounter.init({
@@ -93,11 +92,10 @@ export function mapEntriesToSitemapData(
entries: SyncItem[],
hotelFilters: HotelFilterEntries
) {
const entriesTransformCounter = createCounter("sitemap", "entries.transform")
const entriesTransformCounter = createCounter("sitemap.entries.transform")
const metricsEntriesTransform = entriesTransformCounter.init({
entriesCount: entries.length,
})
metricsEntriesTransform.start()
const filteredEntries = filterEntriesToSitemapEntries(entries)

View File

@@ -10,7 +10,7 @@ import { env } from "@/env/server"
import type { JWT } from "next-auth/jwt"
import type { OIDCConfig } from "next-auth/providers"
export const signInCounter = createCounter("auth", "signIn")
export const signInCounter = createCounter("auth.signIn")
function getLoginType(user: User) {
if (user?.login_with.includes("@")) {

View File

@@ -2,6 +2,7 @@ import { type NextMiddleware, NextResponse } from "next/server"
import { getCacheClient } from "@scandic-hotels/common/dataCache"
import { logger } from "@scandic-hotels/common/logger"
import { createCounter } from "@scandic-hotels/common/telemetry"
import { findLang } from "@scandic-hotels/common/utils/languages"
import { notFound } from "@/server/errors/next"
@@ -45,7 +46,7 @@ async function fetchAndCacheRedirect(lang: Lang, pathname: string) {
"1d"
)
}
const redirectCounter = createCounter("middleware.redirect")
export const middleware: NextMiddleware = async (request) => {
const lang = findLang(request.nextUrl.pathname)!
const headers = getDefaultRequestHeaders(request)
@@ -56,6 +57,14 @@ export const middleware: NextMiddleware = async (request) => {
)
if (matchedRedirect) {
redirectCounter
.init({
lang,
pathname: request.nextUrl.pathname,
newPathname: matchedRedirect,
})
.success()
const newUrl = new URL(matchedRedirect, getPublicNextURL(request))
headers.set("Cache-control", "public, max-age=14400") // 4 hours
return NextResponse.redirect(newUrl, {

View File

@@ -63,9 +63,8 @@ export function sanitize(data: any): Record<string, string | number | boolean> {
*
* See the codebase for reference usage.
*/
export function createCounter(meterName: string, counterName: string) {
const fullName = `${meterName}.${counterName}`
export function createCounter(meterName: string) {
return {
/**
* Initializes the counter event handlers with a set of base attributes.
@@ -82,7 +81,7 @@ export function createCounter(meterName: string, counterName: string) {
* @param attrs - Additional attributes specific to this 'start' event. Defaults to an empty object.
*/
start(attrs: object | undefined = undefined) {
logger.debug(`[${fullName}] start`, attrs)
logger.debug(`[${meterName}] start`, attrs)
},
/**
@@ -93,10 +92,10 @@ export function createCounter(meterName: string, counterName: string) {
success(attrs: object = {}) {
const mergedAttrs = deepmerge.all<object>([baseAttrs, attrs])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "success" },
})
logger.debug(`[${fullName}] success`, mergedAttrs)
logger.debug(`[${meterName}] success`, mergedAttrs)
},
/**
@@ -119,10 +118,10 @@ export function createCounter(meterName: string, counterName: string) {
])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "error" },
})
logger.error(`[${fullName}] dataError: ${errorMsg}`, mergedAttrs)
logger.error(`[${meterName}] dataError: ${errorMsg}`, mergedAttrs)
},
/**
@@ -143,10 +142,10 @@ export function createCounter(meterName: string, counterName: string) {
])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "error" },
})
logger.error(`[${fullName}] noDataError:`, mergedAttrs)
logger.error(`[${meterName}] noDataError:`, mergedAttrs)
},
/**
@@ -165,10 +164,10 @@ export function createCounter(meterName: string, counterName: string) {
])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "error" },
})
logger.error(`[${fullName}] validationError`, mergedAttrs)
logger.error(`[${meterName}] validationError`, mergedAttrs)
},
/**
@@ -196,11 +195,11 @@ export function createCounter(meterName: string, counterName: string) {
])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "error" },
})
logger.error(
`[${fullName}] httpError ${res.status}, ${res.statusText}:`,
`[${meterName}] httpError ${res.status}, ${res.statusText}:`,
mergedAttrs
)
},
@@ -231,10 +230,10 @@ export function createCounter(meterName: string, counterName: string) {
])
const finalAttrs = sanitize(mergedAttrs)
Sentry.metrics.count(fullName, 1, {
Sentry.metrics.count(meterName, 1, {
attributes: { ...finalAttrs, status: "error" },
})
logger.error(`[${fullName}] fail message: ${msg}`, mergedAttrs)
logger.error(`[${meterName}] fail message: ${msg}`, mergedAttrs)
},
}
},

View File

@@ -57,8 +57,7 @@ async function getJwt(scopes: string[]) {
async function fetchServiceToken(scopes: string[]) {
const fetchServiceTokenCounter = createCounter(
"tokenManager",
"fetchServiceToken"
"tokenManager.fetchServiceToken"
)
const metricsFetchServiceToken = fetchServiceTokenCounter.init({
scopes,

View File

@@ -22,7 +22,7 @@ export const create = safeProtectedServiceProcedure
const { language, ...inputWithoutLang } = input
const { rooms, ...loggableInput } = inputWithoutLang
const createBookingCounter = createCounter("trpc.booking", "create")
const createBookingCounter = createCounter("trpc.booking.create")
const metricsCreateBooking = createBookingCounter.init({
language,

View File

@@ -37,7 +37,7 @@ export const bookingMutationRouter = router({
.mutation(async function ({ ctx }) {
const { confirmationNumber } = ctx
const priceChangeCounter = createCounter("trpc.booking", "price-change")
const priceChangeCounter = createCounter("trpc.booking.price-change")
const metricsPriceChange = priceChangeCounter.init({ confirmationNumber })
metricsPriceChange.start()
@@ -127,7 +127,7 @@ export const bookingMutationRouter = router({
const { confirmationNumber } = ctx
const { language, refId, ...body } = input
const addPackageCounter = createCounter("trpc.booking", "package.add")
const addPackageCounter = createCounter("trpc.booking.package.add")
const metricsAddPackage = addPackageCounter.init({
confirmationNumber,
language,
@@ -181,7 +181,7 @@ export const bookingMutationRouter = router({
const { confirmationNumber } = ctx
const { language, refId, ...body } = input
const guaranteeBookingCounter = createCounter("trpc.booking", "guarantee")
const guaranteeBookingCounter = createCounter("trpc.booking.guarantee")
const metricsGuaranteeBooking = guaranteeBookingCounter.init({
confirmationNumber,
language,
@@ -235,7 +235,7 @@ export const bookingMutationRouter = router({
const { confirmationNumber } = ctx
const { language, refId, ...body } = input
const updateBookingCounter = createCounter("trpc.booking", "update")
const updateBookingCounter = createCounter("trpc.booking.update")
const metricsUpdateBooking = updateBookingCounter.init({
confirmationNumber,
language,
@@ -287,10 +287,7 @@ export const bookingMutationRouter = router({
const { confirmationNumber } = ctx
const { codes, language } = input
const removePackageCounter = createCounter(
"trpc.booking",
"package.remove"
)
const removePackageCounter = createCounter("trpc.booking.package.remove")
const metricsRemovePackage = removePackageCounter.init({
confirmationNumber,
codes,
@@ -337,8 +334,7 @@ export const bookingMutationRouter = router({
const { confirmationNumber } = ctx
const resendConfirmationCounter = createCounter(
"trpc.booking",
"confirmation.resend"
"trpc.booking.confirmation.resend"
)
const metricsResendConfirmation = resendConfirmationCounter.init({
confirmationNumber,

View File

@@ -43,7 +43,7 @@ export const bookingQueryRouter = router({
.query(async function ({ ctx }) {
const { confirmationNumber, lang, token, serviceToken } = ctx
const getBookingCounter = createCounter("trpc.booking", "get")
const getBookingCounter = createCounter("trpc.booking.get")
const metricsGetBooking = getBookingCounter.init({ confirmationNumber })
metricsGetBooking.start()
@@ -110,7 +110,7 @@ export const bookingQueryRouter = router({
input: { confirmationNumber, lastName, firstName, email },
}) {
const { lang, token, serviceToken } = ctx
const findBookingCounter = createCounter("trpc.booking", "findBooking")
const findBookingCounter = createCounter("trpc.booking.findBooking")
const metricsFindBooking = findBookingCounter.init({ confirmationNumber })
metricsFindBooking.start()
@@ -180,8 +180,7 @@ export const bookingQueryRouter = router({
const { confirmationNumber, lang, token } = ctx
const getLinkedReservationsCounter = createCounter(
"trpc.booking",
"linkedReservations"
"trpc.booking.linkedReservations"
)
const metricsGetLinkedReservations = getLinkedReservationsCounter.init({
confirmationNumber,
@@ -230,7 +229,7 @@ export const bookingQueryRouter = router({
const { confirmationNumber } = ctx
const language = toApiLang(lang)
const getBookingStatusCounter = createCounter("trpc.booking", "status")
const getBookingStatusCounter = createCounter("trpc.booking.status")
const metricsGetBookingStatus = getBookingStatusCounter.init({
confirmationNumber,
})

View File

@@ -13,7 +13,7 @@ export async function getBooking(
lang: Lang,
token: string
) {
const getBookingCounter = createCounter("booking", "get")
const getBookingCounter = createCounter("booking.get")
const metricsGetBooking = getBookingCounter.init({ confirmationNumber })
metricsGetBooking.start()
@@ -60,7 +60,7 @@ export async function findBooking(
firstName?: string,
email?: string
) {
const findBookingCounter = createCounter("booking", "find")
const findBookingCounter = createCounter("booking.find")
const metricsGetBooking = findBookingCounter.init({
confirmationNumber,
lastName,
@@ -114,7 +114,7 @@ export async function cancelBooking(
language: Lang,
token: string
) {
const cancelBookingCounter = createCounter("booking", "cancel")
const cancelBookingCounter = createCounter("booking.cancel")
const metricsCancelBooking = cancelBookingCounter.init({
confirmationNumber,
language,

View File

@@ -25,8 +25,7 @@ export const usePointsModalQueryRouter = router({
get: contentstackBaseProcedure.query(async ({ ctx }) => {
const { lang, uid } = ctx
const getRefsCounter = createCounter(
"trpc.contentstack",
"usePointsModal.get.refs"
"trpc.contentstack.usePointsModal.get.refs"
)
const metricsRefs = getRefsCounter.init({
lang,
@@ -60,7 +59,7 @@ export const usePointsModalQueryRouter = router({
metricsRefs.success()
const getCounter = createCounter("trpc.contentstack", "usePointsModal.get")
const getCounter = createCounter("trpc.contentstack.usePointsModal.get")
const metrics = getCounter.init({
lang,

View File

@@ -27,8 +27,7 @@ export const accountPageQueryRouter = router({
const { lang, uid } = ctx
const getAccountPageRefsCounter = createCounter(
"trpc.contentstack",
"accountPage.get.refs"
"trpc.contentstack.accountPage.get.refs"
)
const metricsRefs = getAccountPageRefsCounter.init({ lang, uid })
metricsRefs.start()
@@ -69,8 +68,7 @@ export const accountPageQueryRouter = router({
metricsRefs.success()
const getAccountPageCounter = createCounter(
"trpc.contentstack",
"accountPage.get"
"trpc.contentstack.accountPage.get"
)
const metrics = getAccountPageCounter.init({ lang, uid })
metrics.start()

View File

@@ -60,8 +60,7 @@ import type {
const getContactConfig = cache(async (lang: Lang) => {
const getContactConfigCounter = createCounter(
"trpc.contentstack",
"contactConfig.get"
"trpc.contentstack.contactConfig.get"
)
const metricsGetContactConfig = getContactConfigCounter.init({ lang })
@@ -104,8 +103,7 @@ export const baseQueryRouter = router({
const { lang } = ctx
const getHeaderRefsCounter = createCounter(
"trpc.contentstack",
"header.get.refs"
"trpc.contentstack.header.get.refs"
)
const metricsGetHeaderRefs = getHeaderRefsCounter.init({ lang })
@@ -139,7 +137,7 @@ export const baseQueryRouter = router({
const connections = getConnections(validatedHeaderRefs.data)
const getHeaderCounter = createCounter("trpc.contentstack", "header.get")
const getHeaderCounter = createCounter("trpc.contentstack.header.get")
const metricsGetHeader = getHeaderCounter.init({ lang })
metricsGetHeader.start()
@@ -178,8 +176,7 @@ export const baseQueryRouter = router({
const { lang } = ctx
const getFooterRefsCounter = createCounter(
"trpc.contentstack",
"footer.get.refs"
"trpc.contentstack.footer.get.refs"
)
const metricsGetFooterRefs = getFooterRefsCounter.init({ lang })
@@ -216,7 +213,7 @@ export const baseQueryRouter = router({
const connections = getFooterConnections(validatedFooterRefs.data)
const footerUID = responseRef.data.all_footer.items[0].system.uid
const getFooterCounter = createCounter("trpc.contentstack", "footer.get")
const getFooterCounter = createCounter("trpc.contentstack.footer.get")
const metricsGetFooter = getFooterCounter.init({ lang })
metricsGetFooter.start()
@@ -263,8 +260,7 @@ export const baseQueryRouter = router({
const lang = input.lang ?? ctx.lang
const getSitewideCampaignBannerRefsCounter = createCounter(
"trpc.contentstack",
"sitewideCampaignBanner.get.refs"
"trpc.contentstack.sitewideCampaignBanner.get.refs"
)
const metricsGetSitewideCampaignBannerRefs =
getSitewideCampaignBannerRefsCounter.init({
@@ -307,8 +303,7 @@ export const baseQueryRouter = router({
metricsGetSitewideCampaignBannerRefs.success()
const getSitewideCampaignBannerCounter = createCounter(
"trpc.contentstack",
"sitewideCampaignBanner.get"
"trpc.contentstack.sitewideCampaignBanner.get"
)
const metricsGetSitewideCampaignBanner =
getSitewideCampaignBannerCounter.init({
@@ -353,8 +348,7 @@ export const baseQueryRouter = router({
const lang = input.lang ?? ctx.lang
const getSiteConfigRefsCounter = createCounter(
"trpc.contentstack",
"siteConfig.get.refs"
"trpc.contentstack.siteConfig.get.refs"
)
const metricsGetSiteConfigRefs = getSiteConfigRefsCounter.init({ lang })
@@ -397,8 +391,7 @@ export const baseQueryRouter = router({
metricsGetSiteConfigRefs.success()
const getSiteConfigCounter = createCounter(
"trpc.contentstack",
"siteConfig.get"
"trpc.contentstack.siteConfig.get"
)
const metricsGetSiteConfig = getSiteConfigCounter.init({ lang })

View File

@@ -74,8 +74,7 @@ const getBreadcrumbs = cache(async function fetchMemoizedBreadcrumbs<T>(
{ uid, lang }: { uid: string; lang: Lang }
) {
const getBreadcrumbsRefsCounter = createCounter(
"trpc.contentstack",
"breadcrumbs.get.refs"
"trpc.contentstack.breadcrumbs.get.refs"
)
const metricsGetBreadcrumbsRefs = getBreadcrumbsRefsCounter.init({
lang,
@@ -107,8 +106,7 @@ const getBreadcrumbs = cache(async function fetchMemoizedBreadcrumbs<T>(
const tags = getTags(validatedRefsData.data, lang)
const getBreadcrumbsCounter = createCounter(
"trpc.contentstack",
"breadcrumbs.get"
"trpc.contentstack.breadcrumbs.get"
)
const metricsGetBreadcrumbs = getBreadcrumbsCounter.init({
lang,

View File

@@ -26,8 +26,7 @@ export const campaignOverviewPageQueryRouter = router({
const { lang, uid } = ctx
const getCampaignOverviewPageRefsCounter = createCounter(
"trpc.contentstack",
"campaignOverviewPage.get.refs"
"trpc.contentstack.campaignOverviewPage.get.refs"
)
const metricsGetCampaignOverviewPageRefs =
getCampaignOverviewPageRefsCounter.init({
@@ -67,8 +66,7 @@ export const campaignOverviewPageQueryRouter = router({
const tags = generatePageTags(validatedRefsData.data, lang)
const getCampaignOverviewPageCounter = createCounter(
"trpc.contentstack",
"campaignOverviewPage.get"
"trpc.contentstack.campaignOverviewPage.get"
)
const metricsGetCampaignOverviewPage = getCampaignOverviewPageCounter.init({
lang,

View File

@@ -23,8 +23,7 @@ export const campaignPageQueryRouter = router({
const { lang, uid } = ctx
const getCampaignPageRefsCounter = createCounter(
"trpc.contentstack",
"campaignPage.get.refs"
"trpc.contentstack.campaignPage.get.refs"
)
const metricsGetCampaignPageRefs = getCampaignPageRefsCounter.init({
lang,
@@ -60,8 +59,7 @@ export const campaignPageQueryRouter = router({
const tags = generatePageTags(validatedRefsData.data, lang)
const getCampaignPageCounter = createCounter(
"trpc.contentstack",
"campaignPage.get"
"trpc.contentstack.campaignPage.get"
)
const metricsGetCampaignPage = getCampaignPageCounter.init({
lang,

View File

@@ -106,8 +106,7 @@ export async function getCampaignPagesByHotelPageUid(
) {
const today = dt().format("YYYY-MM-DD")
const getCampaignPagesByHotelUidRefsCounter = createCounter(
"trpc.contentstack",
"campaignPage.byHotelUid.get.refs"
"trpc.contentstack.campaignPage.byHotelUid.get.refs"
)
const metricsGetCampaignPagesByHotelUidRefs =
getCampaignPagesByHotelUidRefsCounter.init({
@@ -156,8 +155,7 @@ export async function getCampaignPagesByHotelPageUid(
const tags = generateTagsFromSystem(lang, validatedRefsData.data)
const getCampaignPagesByHotelUidCounter = createCounter(
"trpc.contentstack",
"campaignPage.byHotelUid.get"
"trpc.contentstack.campaignPage.byHotelUid.get"
)
const metricsGetCampaignPagesByHotelUid =
getCampaignPagesByHotelUidCounter.init({

View File

@@ -31,8 +31,7 @@ export const collectionPageQueryRouter = router({
const tags = generatePageTags(collectionPageRefs, lang)
const getCollectionPageCounter = createCounter(
"trpc.contentstack",
"collectionPage.get"
"trpc.contentstack.collectionPage.get"
)
const metricsGetCollectionPage = getCollectionPageCounter.init({
lang,

View File

@@ -21,8 +21,7 @@ import type { System } from "../schemas/system"
export async function fetchCollectionPageRefs(lang: Lang, uid: string) {
const getCollectionPageRefsCounter = createCounter(
"trpc.contentstack",
"collectionPage.get.refs"
"trpc.contentstack.collectionPage.get.refs"
)
const metricsGetCollectionPageRefs = getCollectionPageRefsCounter.init({
lang,
@@ -60,8 +59,7 @@ export function validateCollectionPageRefs(
uid: string
) {
const getCollectionPageRefsCounter = createCounter(
"trpc.contentstack",
"collectionPage.get.refs"
"trpc.contentstack.collectionPage.get.refs"
)
const metricsGetCollectionPageRefs = getCollectionPageRefsCounter.init({
lang,

View File

@@ -27,8 +27,7 @@ export const contentPageQueryRouter = router({
const tags = generatePageTags(contentPageRefs, lang)
const getContentPageCounter = createCounter(
"trpc.contentstack",
"contentPage.get"
"trpc.contentstack.contentPage.get"
)
const metricsGetContentPage = getContentPageCounter.init({
lang,

View File

@@ -24,8 +24,7 @@ import type { System } from "../schemas/system"
export async function fetchContentPageRefs(lang: Lang, uid: string) {
const getContentPageRefsCounter = createCounter(
"trpc.contentstack",
"contentPage.get.refs"
"trpc.contentstack.contentPage.get.refs"
)
const metricsGetContentPageRefs = getContentPageRefsCounter.init({
lang,

View File

@@ -27,8 +27,7 @@ export const destinationCityPageQueryRouter = router({
const { lang, uid, serviceToken } = ctx
const getDestinationCityPageRefsCounter = createCounter(
"trpc.contentstack",
"destinationCityPage.get.refs"
"trpc.contentstack.destinationCityPage.get.refs"
)
const metricsGetDestinationCityPageRefs =
getDestinationCityPageRefsCounter.init({ lang, uid })
@@ -63,8 +62,7 @@ export const destinationCityPageQueryRouter = router({
const tags = generatePageTags(validatedRefsData.data, lang)
const getDestinationCityPageCounter = createCounter(
"trpc.contentstack",
"destinationCityPage.get"
"trpc.contentstack.destinationCityPage.get"
)
const metricsGetDestinationCityPage = getDestinationCityPageCounter.init({
lang,

View File

@@ -72,8 +72,7 @@ export function getConnections({
export async function getCityPageCount(lang: Lang) {
const getCityPageCountCounter = createCounter(
"trpc.contentstack",
"cityPageCount.get"
"trpc.contentstack.cityPageCount.get"
)
const metricsGetCityPageCount = getCityPageCountCounter.init({ lang })
@@ -111,8 +110,7 @@ export async function getCityPageCount(lang: Lang) {
export async function getCityPageUrls(lang: Lang) {
const getCityPageUrlsCounter = createCounter(
"trpc.contentstack",
"cityPageUrls.get"
"trpc.contentstack.cityPageUrls.get"
)
const metricsGetCityPageUrls = getCityPageUrlsCounter.init({ lang })

View File

@@ -31,8 +31,7 @@ export const destinationCountryPageQueryRouter = router({
const { lang, uid } = ctx
const getDestinationCountryPageRefsCounter = createCounter(
"trpc.contentstack",
"destinationCountryPage.get.refs"
"trpc.contentstack.destinationCountryPage.get.refs"
)
const metricsGetDestinationCountryPageRefs =
getDestinationCountryPageRefsCounter.init({ lang, uid })
@@ -69,8 +68,7 @@ export const destinationCountryPageQueryRouter = router({
const tags = generatePageTags(validatedRefsData.data, lang)
const getDestinationCountryPageCounter = createCounter(
"trpc.contentstack",
"destinationCountryPage.get"
"trpc.contentstack.destinationCountryPage.get"
)
const metricsGetDestinationCountryPage =
getDestinationCountryPageCounter.init({ lang, uid })

View File

@@ -74,8 +74,7 @@ export async function getCityListDataByCityIdentifier(
cityIdentifier: string
) {
const getCityListDataCounter = createCounter(
"trpc.contentstack",
"cityListData.get"
"trpc.contentstack.cityListData.get"
)
const metricsGetCityListData = getCityListDataCounter.init({
lang,
@@ -161,8 +160,7 @@ export async function getCityPages(
export async function getCountryPageUrls(lang: Lang) {
const getCountryPageUrlsCounter = createCounter(
"trpc.contentstack",
"getCountryPageUrls"
"trpc.contentstack.getCountryPageUrls"
)
const metricsGetCountryPageUrls = getCountryPageUrlsCounter.init({ lang })

View File

@@ -42,8 +42,7 @@ export const destinationOverviewPageQueryRouter = router({
const { lang, uid } = ctx
const getDestinationOverviewPageRefsCounter = createCounter(
"trpc.contentstack",
"destinationOverviewPage.get.refs"
"trpc.contentstack.destinationOverviewPage.get.refs"
)
const metricsGetDestinationOverviewPageRefs =
getDestinationOverviewPageRefsCounter.init({ lang, uid })
@@ -81,8 +80,7 @@ export const destinationOverviewPageQueryRouter = router({
metricsGetDestinationOverviewPageRefs.success()
const getDestinationOverviewPageCounter = createCounter(
"trpc.contentstack",
"destinationOverviewPage.get"
"trpc.contentstack.destinationOverviewPage.get"
)
const metricsGetDestinationOverviewPage =
getDestinationOverviewPageCounter.init({ lang, uid })

View File

@@ -16,10 +16,7 @@ export const hotelPageQueryRouter = router({
get: contentstackExtendedProcedureUID.query(async ({ ctx }) => {
const { lang, uid } = ctx
const getHotelPageCounter = createCounter(
"trpc.contentstack",
"hotelPage.get"
)
const getHotelPageCounter = createCounter("trpc.contentstack.hotelPage.get")
const metricsGetHotelPage = getHotelPageCounter.init({ lang, uid })
metricsGetHotelPage.start()

View File

@@ -15,8 +15,7 @@ import type {
export async function getHotelPageCount(lang: Lang) {
const getHotelPageCountCounter = createCounter(
"trpc.contentstack",
"hotelPageCount.get"
"trpc.contentstack.hotelPageCount.get"
)
const metricsGetHotelPageCount = getHotelPageCountCounter.init({ lang })
@@ -52,8 +51,7 @@ export async function getHotelPageCount(lang: Lang) {
export async function getHotelPageUrls(lang: Lang) {
const getHotelPageUrlsCounter = createCounter(
"trpc.contentstack",
"hotelPageUrls.get"
"trpc.contentstack.hotelPageUrls.get"
)
const metricsGetHotelPageUrls = getHotelPageUrlsCounter.init({ lang })

View File

@@ -74,8 +74,7 @@ export async function getUrlsOfAllLanguages(
)
const getLanguageSwitcherCounter = createCounter(
"trpc.contentstack",
"languageSwitcher.get"
"trpc.contentstack.languageSwitcher.get"
)
const metricsGetLanguageSwitcher = getLanguageSwitcherCounter.init({
lang,

View File

@@ -26,8 +26,7 @@ import type { Lang } from "@scandic-hotels/common/constants/language"
export const getAllLoyaltyLevels = cache(async (lang: Lang) => {
const getLoyaltyLevelAllCounter = createCounter(
"trpc.contentstack",
"loyaltyLevel.all"
"trpc.contentstack.loyaltyLevel.all"
)
const metricsGetLoyaltyLevelAll = getLoyaltyLevelAllCounter.init()
@@ -70,8 +69,7 @@ export const getAllLoyaltyLevels = cache(async (lang: Lang) => {
export const getLoyaltyLevel = cache(
async (lang: Lang, level_id: MembershipLevel) => {
const getLoyaltyLevelCounter = createCounter(
"trpc.contentstack",
"loyaltyLevel.get"
"trpc.contentstack.loyaltyLevel.get"
)
const metricsGetLoyaltyLevel = getLoyaltyLevelCounter.init({
lang,

View File

@@ -27,8 +27,7 @@ export const loyaltyPageQueryRouter = router({
const { lang, uid } = ctx
const getLoyaltyPageRefsCounter = createCounter(
"trpc.contentstack",
"loyaltyPage.get.refs"
"trpc.contentstack.loyaltyPage.get.refs"
)
const metricsGetLoyaltyPageRefs = getLoyaltyPageRefsCounter.init({
lang,
@@ -71,8 +70,7 @@ export const loyaltyPageQueryRouter = router({
].flat()
const getLoyaltyPageCounter = createCounter(
"trpc.contentstack",
"loyaltyPage.get"
"trpc.contentstack.loyaltyPage.get"
)
const metricsGetLoyaltyPage = getLoyaltyPageCounter.init({ lang, uid })

View File

@@ -36,7 +36,7 @@ const fetchMetadata = cache(async function fetchMemoizedMetadata<T>(
query: string | DocumentNode,
{ uid, lang }: { uid: string; lang: Lang }
) {
const getMetadataCounter = createCounter("trpc.contentstack", "metadata.get")
const getMetadataCounter = createCounter("trpc.contentstack.metadata.get")
const metricsGetMetadata = getMetadataCounter.init({ lang, uid })
metricsGetMetadata.start()
@@ -241,8 +241,7 @@ export const metadataQueryRouter = router({
}
const transformMetadataCounter = createCounter(
"trpc.contentstack",
"metadata.transform"
"trpc.contentstack.metadata.transform"
)
const metricsTransformMetadata = transformMetadataCounter.init()

View File

@@ -16,8 +16,7 @@ type SasTierComparisonResponse = z.input<typeof validateSasTierComparisonSchema>
export const getSasTierComparison = cache(async (lang: Lang) => {
const getSasTierComparisonCounter = createCounter(
"trpc.contentstack",
"partner.getSasTierComparison"
"trpc.contentstack.partner.getSasTierComparison"
)
const metricsGetSasTierComparison = getSasTierComparisonCounter.init({
lang,

View File

@@ -19,8 +19,7 @@ export const profilingConsentQueryRouter = router({
const tag = `${lang}:profiling_consent`
const getProfilingConsentCounter = createCounter(
"trpc.contentstack",
"profilingConsent.get"
"trpc.contentstack.profilingConsent.get"
)
const metricsGetProfilingConsent = getProfilingConsentCounter.init({
lang,

View File

@@ -23,8 +23,7 @@ export const promoCampaignPageQueryRouter = router({
const { lang, uid } = ctx
const getPromoCampaignPageRefsCounter = createCounter(
"trpc.contentstack",
"promoCampaignPage.get.refs"
"trpc.contentstack.promoCampaignPage.get.refs"
)
const metricsGetPromoCampaignPageRefs =
getPromoCampaignPageRefsCounter.init({
@@ -61,8 +60,7 @@ export const promoCampaignPageQueryRouter = router({
const tags = generatePageTags(validatedRefsData.data, lang)
const getPromoCampaignPageCounter = createCounter(
"trpc.contentstack",
"promoCampaignPage.get"
"trpc.contentstack.promoCampaignPage.get"
)
const metricsGetPromoCampaignPage = getPromoCampaignPageCounter.init({
lang,

View File

@@ -33,8 +33,7 @@ export const rewardQueryRouter = router({
.input(rewardsAllInput)
.query(async function ({ input, ctx }) {
const getContentstackRewardAllCounter = createCounter(
"trpc.contentstack",
"reward.all"
"trpc.contentstack.reward.all"
)
const metricsGetContentstackRewardAll =
getContentstackRewardAllCounter.init()
@@ -113,8 +112,7 @@ export const rewardQueryRouter = router({
const { level_id } = input
const getRewardByLevelCounter = createCounter(
"trpc.contentstack",
"reward.byLevel"
"trpc.contentstack.reward.byLevel"
)
const metricsGetRewardByLevel = getRewardByLevelCounter.init({
level_id,
@@ -180,8 +178,7 @@ export const rewardQueryRouter = router({
.input(langInput.optional()) // lang is required for client, but not for server
.query(async function ({ ctx }) {
const getCurrentRewardCounter = createCounter(
"trpc.contentstack",
"reward.current"
"trpc.contentstack.reward.current"
)
const metricsGetCurrentReward = getCurrentRewardCounter.init()
@@ -238,10 +235,7 @@ export const rewardQueryRouter = router({
surprises: contentStackBaseWithProtectedProcedure
.input(langInput.optional()) // lang is required for client, but not for server
.query(async ({ ctx }) => {
const getSurprisesCounter = createCounter(
"trpc.contentstack",
"surprises"
)
const getSurprisesCounter = createCounter("trpc.contentstack.surprises")
const metricsGetSurprises = getSurprisesCounter.init()
metricsGetSurprises.start()
@@ -304,8 +298,7 @@ export const rewardQueryRouter = router({
input.map(({ rewardId, couponCode }) => {
async function handleUnwrap() {
const getUnwrapSurpriseCounter = createCounter(
"trpc.contentstack",
"reward.unwrap"
"trpc.contentstack.reward.unwrap"
)
const metricsGetUnwrapSurprise = getUnwrapSurpriseCounter.init({
@@ -357,10 +350,7 @@ export const rewardQueryRouter = router({
.mutation(async ({ input, ctx }) => {
const { rewardId, couponCode } = input
const getRedeemCounter = createCounter(
"trpc.contentstack",
"reward.redeem"
)
const getRedeemCounter = createCounter("trpc.contentstack.reward.redeem")
const metricGetRedeem = getRedeemCounter.init({ rewardId, couponCode })

View File

@@ -40,8 +40,7 @@ export async function getCachedAllTierRewards(token: string) {
"getAllTierRewards",
async () => {
const getApiRewardAllTiersCounter = createCounter(
"trpc.api",
"reward.allTiers"
"trpc.api.reward.allTiers"
)
const metricsGetApiRewardAllTiers = getApiRewardAllTiersCounter.init()
@@ -90,8 +89,7 @@ export async function getCmsRewards(lang: Lang, rewardIds: string[]) {
)
const getContentstackRewardAllRefsCounter = createCounter(
"trpc.contentstack",
"reward.all.refs"
"trpc.contentstack.reward.all.refs"
)
const metricsGetContentstackRewardAllRefs =
getContentstackRewardAllRefsCounter.init({ lang, rewardIds })
@@ -126,8 +124,7 @@ export async function getCmsRewards(lang: Lang, rewardIds: string[]) {
metricsGetContentstackRewardAllRefs.success()
const getContentstackRewardAllCounter = createCounter(
"trpc.contentstack",
"reward.all"
"trpc.contentstack.reward.all"
)
const metricsGetContentstackRewardAll = getContentstackRewardAllCounter.init({
lang,

View File

@@ -24,8 +24,9 @@ import type { blocksSchema } from "./output"
export interface GetStartPageData extends z.input<typeof startPageSchema> {}
export interface StartPage extends z.output<typeof startPageSchema> {}
export interface GetStartPageRefsSchema
extends z.input<typeof startPageRefsSchema> {}
export interface GetStartPageRefsSchema extends z.input<
typeof startPageRefsSchema
> {}
export type Block = z.output<typeof blocksSchema>
@@ -34,8 +35,7 @@ export const startPageQueryRouter = router({
const { lang, uid } = ctx
const getStartPageRefsCounter = createCounter(
"trpc.contentstack",
"startPage.get.refs"
"trpc.contentstack.startPage.get.refs"
)
const metricsGetStartPageRefs = getStartPageRefsCounter.init({ lang, uid })
@@ -67,10 +67,7 @@ export const startPageQueryRouter = router({
metricsGetStartPageRefs.success()
const getStartPageCounter = createCounter(
"trpc.contentstack",
"startPage.get"
)
const getStartPageCounter = createCounter("trpc.contentstack.startPage.get")
const metricsGetStartPage = getStartPageCounter.init({ lang, uid })
metricsGetStartPage.start()

View File

@@ -16,7 +16,7 @@ export const urls = publicProcedure
.query(async ({ input }) => {
const { lang } = input
const locationsUrlsCounter = createCounter("trpc.hotel.locations", "urls")
const locationsUrlsCounter = createCounter("trpc.hotel.locations.urls")
const metricsLocationsUrls = locationsUrlsCounter.init({
lang,
})

View File

@@ -117,8 +117,7 @@ export const hotelQueryRouter = router({
let hotelsToFetch: string[] = []
const getHotelsByCSFilterCounter = createCounter(
"trpc.hotel.hotels",
"byCSFilter"
"trpc.hotel.hotels.byCSFilter"
)
const metricsGetHotelsByCSFilter = getHotelsByCSFilterCounter.init({
input,
@@ -296,10 +295,7 @@ export const hotelQueryRouter = router({
return cacheClient.cacheOrGet(
`${apiLang}:nearbyHotels:${hotelId}`,
async () => {
const nearbyHotelsCounter = createCounter(
"trpc.hotel",
"nearbyHotelIds"
)
const nearbyHotelsCounter = createCounter("trpc.hotel.nearbyHotelIds")
const metricsNearbyHotels = nearbyHotelsCounter.init({
params,
hotelId,
@@ -392,7 +388,7 @@ export const hotelQueryRouter = router({
hotelId,
language,
}
const meetingRoomsCounter = createCounter("trpc.hotel", "meetingRooms")
const meetingRoomsCounter = createCounter("trpc.hotel.meetingRooms")
const metricsMeetingRooms = meetingRoomsCounter.init({
params,
})
@@ -453,10 +449,7 @@ export const hotelQueryRouter = router({
language,
}
const additionalDataCounter = createCounter(
"trpc.hotel",
"additionalData"
)
const additionalDataCounter = createCounter("trpc.hotel.additionalData")
const metricsAdditionalData = additionalDataCounter.init({
params,
})
@@ -517,10 +510,7 @@ export const hotelQueryRouter = router({
language: apiLang,
}
const breakfastCounter = createCounter(
"trpc.hotel.packages",
"breakfast"
)
const breakfastCounter = createCounter("trpc.hotel.packages.breakfast")
const metricsBreakfast = breakfastCounter.init({
params,
hotelId: input.hotelId,
@@ -597,10 +587,7 @@ export const hotelQueryRouter = router({
language: apiLang,
}
const ancillaryCounter = createCounter(
"trpc.hotel.packages",
"ancillary"
)
const ancillaryCounter = createCounter("trpc.hotel.packages.ancillary")
const metricsAncillary = ancillaryCounter.init({
params,
hotelId: input.hotelId,

View File

@@ -16,7 +16,7 @@ export const getHotel = cache(
const { language, isCardOnlyPayment } = input
const hotelId = input.hotelId.trim()
const getHotelCounter = createCounter("hotel", "getHotel")
const getHotelCounter = createCounter("hotel.getHotel")
const metricsGetHotel = getHotelCounter.init({
hotelId,
language,

View File

@@ -12,10 +12,7 @@ export async function getHotelIdsByCityId({
cityId: string
serviceToken: string
}) {
const getHotelIdsByCityIdCounter = createCounter(
"hotel",
"getHotelIdsByCityId"
)
const getHotelIdsByCityIdCounter = createCounter("hotel.getHotelIdsByCityId")
const metricsGetHotelIdsByCityId = getHotelIdsByCityIdCounter.init({
cityId,
})

View File

@@ -13,8 +13,7 @@ export async function getHotelIdsByCountry({
serviceToken: string
}) {
const getHotelIdsByCountryCounter = createCounter(
"hotel",
"getHotelIdsByCountry"
"hotel.getHotelIdsByCountry"
)
const metricsGetHotelIdsByCountry = getHotelIdsByCountryCounter.init({

View File

@@ -45,8 +45,7 @@ export async function getHotelsAvailabilityByCity({
} satisfies Record<string, string | number>
const getHotelsAvailabilityByCityCounter = createCounter(
"hotel",
"getHotelsAvailabilityByCity"
"hotel.getHotelsAvailabilityByCity"
)
const metricsGetHotelsAvailabilityByCity =
getHotelsAvailabilityByCityCounter.init({

View File

@@ -47,8 +47,7 @@ export async function getHotelsAvailabilityByHotelIds({
])
const getHotelsAvailabilityByHotelIdsCounter = createCounter(
"hotel",
"getHotelsAvailabilityByHotelIds"
"hotel.getHotelsAvailabilityByHotelIds"
)
const metricsGetHotelsAvailabilityByHotelIds =
getHotelsAvailabilityByHotelIdsCounter.init({

View File

@@ -13,7 +13,7 @@ export async function getPackages(input: PackagesOutput, serviceToken: string) {
const { adults, children, endDate, hotelId, lang, packageCodes, startDate } =
input
const getPackagesCounter = createCounter("hotel", "getPackages")
const getPackagesCounter = createCounter("hotel.getPackages")
const metricsGetPackages = getPackagesCounter.init({
input,
})

View File

@@ -34,8 +34,7 @@ export async function getRoomFeaturesInventory(
}
const getRoomFeaturesInventoryCounter = createCounter(
"hotel",
"getRoomFeaturesInventory"
"hotel.getRoomFeaturesInventory"
)
const metricsGetRoomFeaturesInventory =
getRoomFeaturesInventoryCounter.init(params)

View File

@@ -29,8 +29,7 @@ export async function getRoomsAvailability(
const redemption = searchType === SEARCH_TYPE_REDEMPTION
const getRoomsAvailabilityCounter = createCounter(
"hotel",
"getRoomsAvailability"
"hotel.getRoomsAvailability"
)
const metricsGetRoomsAvailability = getRoomsAvailabilityCounter.init({
input,

View File

@@ -15,7 +15,7 @@ const feedUrl =
export const jobylonQueryRouter = router({
feed: router({
get: publicProcedure.query(async function () {
const jobylonFeedGetCounter = createCounter("trpc.jobylon.feed", "get")
const jobylonFeedGetCounter = createCounter("trpc.jobylon.feed.get")
const metricsJobylonFeedGet = jobylonFeedGetCounter.init()
metricsJobylonFeedGet.start()

View File

@@ -157,8 +157,7 @@ export const userMutationRouter = router({
ctx,
}) {
const generatePreferencesLinkCounter = createCounter(
"trpc.user",
"generatePreferencesLink"
"trpc.user.generatePreferencesLink"
)
const metricsGeneratePreferencesLink = generatePreferencesLinkCounter.init()
@@ -196,7 +195,7 @@ export const userMutationRouter = router({
ctx,
input,
}) {
const signupCounter = createCounter("trpc.user", "signup")
const signupCounter = createCounter("trpc.user.signup")
const metricsSignup = signupCounter.init()
const apiResponse = await api.post(api.endpoints.v2.Profile.profile, {
@@ -224,8 +223,7 @@ export const userMutationRouter = router({
.input(profilingConsentInput)
.mutation(async function ({ ctx, input }) {
const profilingConsentCounter = createCounter(
"trpc.user",
"profilingConsent"
"trpc.user.profilingConsent"
)
const metricsProfilingConsent = profilingConsentCounter.init()
@@ -252,8 +250,7 @@ export const userMutationRouter = router({
.input(profilingConsentPromptDateInput)
.mutation(async function ({ ctx, input }) {
const profilingConsentPromptDateCounter = createCounter(
"trpc.user",
"profilingConsentPromptDate"
"trpc.user.profilingConsentPromptDate"
)
const metricsProfilingConsentPromptDate =
profilingConsentPromptDateCounter.init()

View File

@@ -234,8 +234,7 @@ export const userQueryRouter = router({
const { limit, page, lang } = input
const friendTransactionsCounter = createCounter(
"trpc.user.transactions",
"friendTransactions"
"trpc.user.transactions.friendTransactions"
)
const metricsFriendTransactions = friendTransactionsCounter.init({

View File

@@ -26,7 +26,7 @@ export const userTrackingInfo = safeProtectedProcedure.query(async function ({
})
async function getScandicFriendsUserTrackingData(session: Session | null) {
const userTrackingInfoCounter = createCounter("user", "userTrackingInfo")
const userTrackingInfoCounter = createCounter("user.userTrackingInfo")
const metricsUserTrackingInfo = userTrackingInfoCounter.init()
metricsUserTrackingInfo.start()

View File

@@ -15,7 +15,7 @@ export const getCreditCards = cache(
session: Session
onlyNonExpired?: boolean
}) => {
const getCreditCardsCounter = createCounter("user", "getCreditCards")
const getCreditCardsCounter = createCounter("user.getCreditCards")
const metricsGetCreditCards = getCreditCardsCounter.init({
onlyNonExpired,
})

View File

@@ -12,7 +12,7 @@ export async function getPreviousStays(
language: Lang,
cursor?: string
) {
const getPreviousStaysCounter = createCounter("user", "getPreviousStays")
const getPreviousStaysCounter = createCounter("user.getPreviousStays")
const metricsGetPreviousStays = getPreviousStaysCounter.init({
limit,
cursor,

View File

@@ -12,7 +12,7 @@ export async function getUpcomingStays(
language: Lang,
cursor?: string
) {
const getUpcomingStaysCounter = createCounter("user", "getUpcomingStays")
const getUpcomingStaysCounter = createCounter("user.getUpcomingStays")
const metricsGetUpcomingStays = getUpcomingStaysCounter.init({
limit,
cursor,

View File

@@ -22,7 +22,7 @@ export async function getPreviousStays(
language: Lang,
cursor?: string
) {
const getPreviousStaysCounter = createCounter("user", "getPreviousStays")
const getPreviousStaysCounter = createCounter("user.getPreviousStays")
const metricsGetPreviousStays = getPreviousStaysCounter.init({
limit,
cursor,
@@ -74,7 +74,7 @@ export async function getUpcomingStays(
language: Lang,
cursor?: string
) {
const getUpcomingStaysCounter = createCounter("user", "getUpcomingStays")
const getUpcomingStaysCounter = createCounter("user.getUpcomingStays")
const metricsGetUpcomingStays = getUpcomingStaysCounter.init({
limit,
cursor,
@@ -128,7 +128,7 @@ export const getCreditCards = cache(
session: Session
onlyNonExpired?: boolean
}) => {
const getCreditCardsCounter = createCounter("user", "getCreditCards")
const getCreditCardsCounter = createCounter("user.getCreditCards")
const metricsGetCreditCards = getCreditCardsCounter.init({
onlyNonExpired,
})

View File

@@ -11,7 +11,7 @@ export const getBasicUser = cache(
}: {
token: { expires_at?: number; access_token: string }
}) => {
const getBasicUserCounter = createCounter("user", "getBasicUser")
const getBasicUserCounter = createCounter("user.getBasicUser")
const metricsGetBasicUser = getBasicUserCounter.init()
metricsGetBasicUser.start()

View File

@@ -17,7 +17,7 @@ export const getVerifiedUser = cache(
token: { expires_at?: number; access_token: string }
includeExtendedPartnerData?: boolean
}) => {
const getVerifiedUserCounter = createCounter("user", "getVerifiedUser")
const getVerifiedUserCounter = createCounter("user.getVerifiedUser")
const metricsGetVerifiedUser = getVerifiedUserCounter.init()
metricsGetVerifiedUser.start()