UNPKG

2.11 kBSource Map (JSON)View Raw
1{"version":3,"sources":["../src/MetricsApi.js"],"names":["MetricsApi","metrics","bind","registry","Registry","setDefaultLabels","stage","app","module","proxy","Object","values","map","m","registerMetric","req","res","resetMetrics","raw","send","Api"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEaA,U;;;;;;;;;;;;WACX,qBAAY;AACV,aAAO;AACL,aAAK,KAAKC,OAAL,CAAaC,IAAb,CAAkB,IAAlB;AADA,OAAP;AAGD;;;;gGAED;AAAA;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;AAAA;AAEE,qBAAKC,QAAL,GAAgB,IAAIC,oBAAJ,EAAhB;AACA,qBAAKD,QAAL,CAAcE,gBAAd,CAA+B;AAC7BC,kBAAAA,KAAK,EAALA;AAD6B,iBAA/B;AAHF;AAAA,uBAMsB,KAAKC,GAAL,CAASC,MAAT,CAAgB,OAAhB,CANtB;;AAAA;AAMQC,gBAAAA,KANR;AAAA,8BAOEC,MAPF;AAAA;AAAA,uBAOsBD,KAAK,CAACR,OAAN,EAPtB;;AAAA;AAAA;;AAAA,4BAOSU,MAPT,gCAOuCC,GAPvC,CAO2C,UAACC,CAAD;AAAA,yBAAO,KAAI,CAACV,QAAL,CAAcW,cAAd,CAA6BD,CAA7B,CAAP;AAAA,iBAP3C;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;;mGASA,kBAAcE,GAAd,EAAmBC,GAAnB;AAAA;AAAA;AAAA;AAAA;AAAA;AACE,qBAAKb,QAAL,CAAcc,YAAd;AADF;AAAA,uBAEsB,KAAKV,GAAL,CAASC,MAAT,CAAgB,OAAhB,CAFtB;;AAAA;AAEQC,gBAAAA,KAFR;AAAA;AAAA,uBAGQA,KAAK,CAACR,OAAN,EAHR;;AAAA;AAAA;AAAA,uBAIoB,KAAKE,QAAL,CAAcF,OAAd,EAJpB;;AAAA;AAIQiB,gBAAAA,GAJR;AAAA,kDAKSF,GAAG,CAACG,IAAJ,CAASD,GAAT,CALT;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,O;;;;;;;;;;EAhB8BE,qB;;;eAyBjBpB,U","sourcesContent":["import { stage } from '@lskjs/env';\nimport Api from '@lskjs/server-api';\nimport { Registry } from 'prom-client';\n\nexport class MetricsApi extends Api {\n getRoutes() {\n return {\n '/': this.metrics.bind(this),\n };\n }\n\n async init() {\n await super.init();\n this.registry = new Registry();\n this.registry.setDefaultLabels({\n stage,\n });\n const proxy = await this.app.module('proxy');\n Object.values(await proxy.metrics()).map((m) => this.registry.registerMetric(m));\n }\n async metrics(req, res) {\n this.registry.resetMetrics();\n const proxy = await this.app.module('proxy');\n await proxy.metrics();\n const raw = await this.registry.metrics();\n return res.send(raw);\n }\n}\n\nexport default MetricsApi;\n"],"file":"MetricsApi.js"}
\No newline at end of file