UNPKG

6.06 kBSource Map (JSON)View Raw
1{"version":3,"file":"collectMetrics.js","names":["_promClient","require","collectMetrics","_ref","_asyncToGenerator2","_regenerator","mark","_callee","_this","_ref2","_ref2$prefix","prefix","proxyList","proxyTestsResults","_args","arguments","wrap","_callee$","_context","prev","next","length","undefined","__metrics","gauge","Gauge","name","filter","Boolean","join","help","labelNames","gaugeTargetCount","getAllProxyList","sent","forEach","proxy","_ref3","provider","type","tags","_ref4","country","ipv","worker","inc","t0","log","error","getProxyTestsResults","Object","values","_ref5","test","time","status","_ref6","_ref7","_ref7$tags","_ref8","target","t1","abrupt","stop","apply","exports","_default"],"sources":["../src/collectMetrics.js"],"sourcesContent":["import { Gauge } from 'prom-client';\n\nexport const collectMetrics = async function ({ prefix = 'bg' } = {}) {\n if (!this.__metrics) this.__metrics = {};\n if (!this.__metrics.gauge) {\n this.__metrics.gauge = new Gauge({\n name: [prefix, 'proxy'].filter(Boolean).join('_'),\n help: 'Информация по проксям',\n labelNames: ['provider', 'type', 'country', 'ipv', 'worker'],\n });\n }\n if (!this.__metrics.gaugeTargetCount) {\n this.__metrics.gaugeTargetCount = new Gauge({\n name: [prefix, 'proxy_count'].filter(Boolean).join('_'),\n help: 'Информация по статусам проксям',\n labelNames: ['target', 'provider', 'status', 'worker'],\n });\n }\n try {\n const proxyList = await this.getAllProxyList();\n // console.log({ proxyList });\n proxyList.forEach((proxy) => {\n // console.log({ proxy });\n const { provider, type, tags } = proxy || {};\n // console.log({provider})\n const { country, ipv, worker } = tags || {};\n // console.log({country})\n this.__metrics.gauge.inc({ provider, type, country, ipv, worker });\n });\n } catch (err) {\n this.log.error('[collectMetrics] getProxyList', err);\n }\n try {\n const proxyTestsResults = await this.getProxyTestsResults();\n Object.values(proxyTestsResults).forEach(({ test, proxy, time, status } = {}) => {\n const { provider } = proxy || {};\n const { tags = [] } = test || {};\n const { worker } = proxy.tags || {};\n tags.forEach((target) => {\n if (!target) return;\n this.__metrics.gaugeTargetCount.inc({ target, provider, status, worker });\n });\n });\n } catch (err) {\n this.log.error('[collectMetrics] getProxyTests', err);\n }\n\n return this.__metrics;\n};\n\nexport default collectMetrics;\n"],"mappings":"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"}
\No newline at end of file