UNPKG

6.88 kBSource Map (JSON)View Raw
1{"version":3,"file":"stats.js","sourceRoot":"","sources":["stats.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Prometheus from 'prom-client'\nimport { AccountInfo } from '../types/accounts'\n\nfunction mergeAccountLabels (account: { accountId: string, accountInfo: AccountInfo }, labels: Prometheus.labelValues): Prometheus.labelValues {\n labels['account'] = account.accountId\n labels['asset'] = account.accountInfo.assetCode\n labels['scale'] = account.accountInfo.assetScale\n return labels\n}\n\nexport class AccountCounter extends Prometheus.Counter {\n constructor (configuration: Prometheus.CounterConfiguration) {\n configuration.labelNames = (configuration.labelNames || [])\n configuration.labelNames.push('account', 'asset', 'scale')\n super(configuration)\n }\n increment (account: { accountId: string, accountInfo: AccountInfo }, labels: Prometheus.labelValues, value?: number) {\n return this.inc(mergeAccountLabels(account, labels), value)\n }\n}\n\nexport class AccountGauge extends Prometheus.Gauge {\n constructor (configuration: Prometheus.GaugeConfiguration) {\n configuration.labelNames = (configuration.labelNames || [])\n configuration.labelNames.push('account', 'asset', 'scale')\n super(configuration)\n }\n setValue (account: { accountId: string, accountInfo: AccountInfo }, labels: Prometheus.labelValues, value: number) {\n return this.set(mergeAccountLabels(account, labels), value)\n }\n}\n\nexport default class Stats {\n public incomingDataPackets: AccountCounter\n public incomingDataPacketValue: AccountCounter\n public outgoingDataPackets: AccountCounter\n public outgoingDataPacketValue: AccountCounter\n public incomingMoney: AccountGauge\n public outgoingMoney: AccountGauge\n public rateLimitedPackets: AccountCounter\n public rateLimitedMoney: AccountCounter\n public balance: AccountGauge\n private registry: Prometheus.Registry\n\n constructor () {\n this.registry = new (Prometheus.Registry)()\n\n this.incomingDataPackets = new AccountCounter({\n name: 'ilp_connector_incoming_ilp_packets',\n help: 'Total number of incoming ILP packets',\n labelNames: [ 'result', 'code'],\n registers: [this.registry]\n })\n\n this.incomingDataPacketValue = new AccountCounter({\n name: 'ilp_connector_incoming_ilp_packet_value',\n help: 'Total value of incoming ILP packets',\n labelNames: [ 'result', 'code'],\n registers: [this.registry]\n })\n\n this.outgoingDataPackets = new AccountCounter({\n name: 'ilp_connector_outgoing_ilp_packets',\n help: 'Total number of outgoing ILP packets',\n labelNames: [ 'result', 'code' ],\n registers: [this.registry]\n })\n\n this.outgoingDataPacketValue = new AccountCounter({\n name: 'ilp_connector_outgoing_ilp_packet_value',\n help: 'Total value of outgoing ILP packets',\n labelNames: [ 'result', 'code' ],\n registers: [this.registry]\n })\n\n this.incomingMoney = new AccountGauge({\n name: 'ilp_connector_incoming_money',\n help: 'Total of incoming money',\n labelNames: [ 'result' ],\n registers: [this.registry]\n })\n\n this.outgoingMoney = new AccountGauge({\n name: 'ilp_connector_outgoing_money',\n help: 'Total of outgoing money',\n labelNames: [ 'result' ],\n registers: [this.registry]\n })\n\n this.rateLimitedPackets = new AccountCounter({\n name: 'ilp_connector_rate_limited_ilp_packets',\n help: 'Total of rate limited ILP packets',\n registers: [this.registry]\n })\n\n this.rateLimitedMoney = new AccountCounter({\n name: 'ilp_connector_rate_limited_money',\n help: 'Total of rate limited money requests',\n registers: [this.registry]\n })\n\n this.balance = new AccountGauge({\n name: 'ilp_connector_balance',\n help: 'Balances on peer account',\n registers: [this.registry]\n })\n }\n\n getStatus () {\n return this.registry.getMetricsAsJSON()\n }\n\n getRegistry () {\n return this.registry\n }\n}\n"]}
\No newline at end of file