feat: harmonize log and metrics

This commit is contained in:
Michael Zetterberg
2025-04-17 07:16:11 +02:00
parent 858a81b16f
commit 5323a8e46e
58 changed files with 2324 additions and 4726 deletions

View File

@@ -41,16 +41,12 @@ import {
GetFiNoSvUrlsStartPage,
} from "@/lib/graphql/Query/StartPage/StartPage.graphql"
import { internalServerError } from "@/server/errors/trpc"
import { createCounter } from "@/server/telemetry"
import { generateTag } from "@/utils/generateTag"
import { removeTrailingSlash } from "@/utils/url"
import { validateLanguageSwitcherData } from "./output"
import {
getLanguageSwitcherCounter,
getLanguageSwitcherFailCounter,
getLanguageSwitcherSuccessCounter,
} from "./telemetry"
import { PageContentTypeEnum } from "@/types/requests/contentType"
import type {
@@ -65,21 +61,17 @@ export async function getUrlsOfAllLanguages(
uid: string,
contentType: string
) {
getLanguageSwitcherCounter.add(1, {
uid,
const getLanguageSwitcherCounter = createCounter(
"trpc.contentstack",
"languageSwitcher.get"
)
const metricsGetLanguageSwitcher = getLanguageSwitcherCounter.init({
lang,
uid,
contentType,
})
console.info(
"contentstack.languageSwitcher start",
JSON.stringify({
query: {
uid,
lang,
contentType,
},
})
)
metricsGetLanguageSwitcher.start()
const variables = { uid }
const tagsDaDeEn = [
@@ -184,42 +176,13 @@ export async function getUrlsOfAllLanguages(
validateLanguageSwitcherData.safeParse(urls)
if (!validatedLanguageSwitcherData.success) {
getLanguageSwitcherFailCounter.add(1, {
uid,
lang,
contentType,
error_type: "validation_error",
error: JSON.stringify(validatedLanguageSwitcherData.error),
})
console.error(
"contentstack.languageSwitcher validation error",
JSON.stringify({
query: {
uid,
lang,
contentType,
},
error: validatedLanguageSwitcherData.error,
})
metricsGetLanguageSwitcher.validationError(
validatedLanguageSwitcherData.error
)
return null
}
getLanguageSwitcherSuccessCounter.add(1, {
uid,
lang,
contentType,
})
console.info(
"contentstack.languageSwitcher success",
JSON.stringify({
query: {
uid,
lang,
contentType,
},
})
)
metricsGetLanguageSwitcher.success()
return urls
}