{"version":3,"file":"CustomMetric.cjs","sources":["../../../../../packages/engine-http/src/prometheus/CustomMetric.ts"],"sourcesContent":["type LabelValues<T extends string> = Partial<Record<T, string | number>>\n\nexport class CustomMetric<T extends string> {\n\tprivate values: { labels: LabelValues<T>; value: number }[] = []\n\n\tconstructor(private readonly options: {\n\t\tname: string\n\t\thelp: string\n\t\ttype: string\n\t\tlabelNames: T[]\n\t}) {\n\t}\n\n\treset() {\n\t\tthis.values = []\n\t}\n\n\tadd(labels: LabelValues<T>, value: number) {\n\t\tthis.values.push({ labels, value })\n\t}\n\n\tget name() {\n\t\treturn this.options.name\n\t}\n\n\tget() {\n\t\treturn {\n\t\t\thelp: this.options.help,\n\t\t\tname: this.options.name,\n\t\t\ttype: this.options.type,\n\t\t\tvalues: this.values,\n\t\t\taggregator: 'sum',\n\t\t}\n\t}\n}\n"],"names":[],"mappings":";;;;;AAEO,MAAM,aAA+B;AAAA,EAG3C,YAA6B,SAK1B;AAL0B,SAAA,UAAA;AAF7B,kBAAA,MAAQ,UAAsD,EAAC;AAAA,EAAA;AAAA,EAU/D,QAAQ;AACP,SAAK,SAAS,CAAC;AAAA,EAAA;AAAA,EAGhB,IAAI,QAAwB,OAAe;AAC1C,SAAK,OAAO,KAAK,EAAE,QAAQ,OAAO;AAAA,EAAA;AAAA,EAGnC,IAAI,OAAO;AACV,WAAO,KAAK,QAAQ;AAAA,EAAA;AAAA,EAGrB,MAAM;AACE,WAAA;AAAA,MACN,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,MACnB,MAAM,KAAK,QAAQ;AAAA,MACnB,QAAQ,KAAK;AAAA,MACb,YAAY;AAAA,IACb;AAAA,EAAA;AAEF;;"}