{"version":3,"file":"ProjectGroupContainerMetricsHook.cjs","sources":["../../../../../packages/engine-http/src/prometheus/ProjectGroupContainerMetricsHook.ts"],"sourcesContent":["import { Registry } from 'prom-client'\nimport { ProjectGroupContainerResolver } from '../projectGroup/ProjectGroupContainerResolver'\nimport { createDbMetricsRegistrar } from './dbMetrics'\n\nexport class ProjectGroupContainerMetricsHook {\n\tconstructor(\n\t\tprivate containerResolver: ProjectGroupContainerResolver,\n\t) {\n\t}\n\n\tpublic register(promRegistry: Registry) {\n\t\tconst registrar = createDbMetricsRegistrar(promRegistry)\n\t\tthis.containerResolver.on('create', ({ container: groupContainer, slug }) => {\n\t\t\tgroupContainer.projectContainerResolver.on('create', ({ container: projectContainer }) => {\n\t\t\t\tconst primaryConnection = projectContainer.connection\n\t\t\t\tconst readConnection = projectContainer.readConnection\n\t\t\t\tconst hasDifferentReadConnection = primaryConnection !== readConnection\n\t\t\t\tconst unregister: (() => void)[] = []\n\t\t\t\tunregister.push(registrar({\n\t\t\t\t\tconnection: primaryConnection,\n\t\t\t\t\tlabels: {\n\t\t\t\t\t\tcontember_module: 'content',\n\t\t\t\t\t\tcontember_project: projectContainer.project.slug,\n\t\t\t\t\t\tcontember_project_group: slug ?? 'unknown',\n\t\t\t\t\t\tdatabase_instance: hasDifferentReadConnection ? 'primary' : 'single',\n\t\t\t\t\t},\n\t\t\t\t}))\n\t\t\t\tif (hasDifferentReadConnection) {\n\t\t\t\t\tunregister.push(registrar({\n\t\t\t\t\t\tconnection: readConnection,\n\t\t\t\t\t\tlabels: {\n\t\t\t\t\t\t\tcontember_module: 'content',\n\t\t\t\t\t\t\tcontember_project: projectContainer.project.slug,\n\t\t\t\t\t\t\tcontember_project_group: slug ?? 'unknown',\n\t\t\t\t\t\t\tdatabase_instance: 'replica',\n\t\t\t\t\t\t},\n\t\t\t\t\t}))\n\t\t\t\t}\n\t\t\t\treturn () => unregister.forEach(it => it())\n\t\t\t})\n\n\n\t\t\tconst primaryConnection = groupContainer.tenantContainer.connection\n\t\t\tconst readConnection = groupContainer.tenantContainer.readConnection\n\t\t\tconst hasDifferentReadConnection = primaryConnection !== readConnection\n\t\t\tconst unregister: (() => void)[] = []\n\t\t\tunregister.push(registrar({\n\t\t\t\tconnection: primaryConnection,\n\t\t\t\tlabels: {\n\t\t\t\t\tcontember_module: 'tenant',\n\t\t\t\t\tcontember_project_group: slug ?? 'unknown',\n\t\t\t\t\tcontember_project: 'unknown',\n\t\t\t\t\tdatabase_instance: hasDifferentReadConnection ? 'primary' : 'single',\n\t\t\t\t},\n\t\t\t}))\n\t\t\tif (hasDifferentReadConnection) {\n\t\t\t\tunregister.push(registrar({\n\t\t\t\t\tconnection: readConnection,\n\t\t\t\t\tlabels: {\n\t\t\t\t\t\tcontember_module: 'tenant',\n\t\t\t\t\t\tcontember_project_group: slug ?? 'unknown',\n\t\t\t\t\t\tcontember_project: 'unknown',\n\t\t\t\t\t\tdatabase_instance: 'replica',\n\t\t\t\t\t},\n\t\t\t\t}))\n\t\t\t}\n\n\t\t\treturn () => unregister.forEach(it => it())\n\t\t})\n\t}\n}\n"],"names":["createDbMetricsRegistrar","primaryConnection","readConnection","hasDifferentReadConnection","unregister"],"mappings":";;;AAIO,MAAM,iCAAiC;AAAA,EAC7C,YACS,mBACP;AADO,SAAA,oBAAA;AAAA,EAAA;AAAA,EAIF,SAAS,cAAwB;AACjC,UAAA,YAAYA,mCAAyB,YAAY;AAClD,SAAA,kBAAkB,GAAG,UAAU,CAAC,EAAE,WAAW,gBAAgB,WAAW;AAC5E,qBAAe,yBAAyB,GAAG,UAAU,CAAC,EAAE,WAAW,uBAAuB;AACzF,cAAMC,qBAAoB,iBAAiB;AAC3C,cAAMC,kBAAiB,iBAAiB;AACxC,cAAMC,8BAA6BF,uBAAsBC;AACzD,cAAME,cAA6B,CAAC;AACpCA,oBAAW,KAAK,UAAU;AAAA,UACzB,YAAYH;AAAAA,UACZ,QAAQ;AAAA,YACP,kBAAkB;AAAA,YAClB,mBAAmB,iBAAiB,QAAQ;AAAA,YAC5C,yBAAyB,QAAQ;AAAA,YACjC,mBAAmBE,8BAA6B,YAAY;AAAA,UAAA;AAAA,QAC7D,CACA,CAAC;AACF,YAAIA,6BAA4B;AAC/BC,sBAAW,KAAK,UAAU;AAAA,YACzB,YAAYF;AAAAA,YACZ,QAAQ;AAAA,cACP,kBAAkB;AAAA,cAClB,mBAAmB,iBAAiB,QAAQ;AAAA,cAC5C,yBAAyB,QAAQ;AAAA,cACjC,mBAAmB;AAAA,YAAA;AAAA,UACpB,CACA,CAAC;AAAA,QAAA;AAEH,eAAO,MAAME,YAAW,QAAQ,CAAA,OAAM,IAAI;AAAA,MAAA,CAC1C;AAGK,YAAA,oBAAoB,eAAe,gBAAgB;AACnD,YAAA,iBAAiB,eAAe,gBAAgB;AACtD,YAAM,6BAA6B,sBAAsB;AACzD,YAAM,aAA6B,CAAC;AACpC,iBAAW,KAAK,UAAU;AAAA,QACzB,YAAY;AAAA,QACZ,QAAQ;AAAA,UACP,kBAAkB;AAAA,UAClB,yBAAyB,QAAQ;AAAA,UACjC,mBAAmB;AAAA,UACnB,mBAAmB,6BAA6B,YAAY;AAAA,QAAA;AAAA,MAC7D,CACA,CAAC;AACF,UAAI,4BAA4B;AAC/B,mBAAW,KAAK,UAAU;AAAA,UACzB,YAAY;AAAA,UACZ,QAAQ;AAAA,YACP,kBAAkB;AAAA,YAClB,yBAAyB,QAAQ;AAAA,YACjC,mBAAmB;AAAA,YACnB,mBAAmB;AAAA,UAAA;AAAA,QACpB,CACA,CAAC;AAAA,MAAA;AAGH,aAAO,MAAM,WAAW,QAAQ,CAAA,OAAM,IAAI;AAAA,IAAA,CAC1C;AAAA,EAAA;AAEH;;"}