@xyo-network/prometheus-node-plugin 3.0.1 → 3.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,8 +7,8 @@ import { AbstractWitness } from '@xyo-network/abstract-witness';
7
7
  import * as _xyo_network_module_model from '@xyo-network/module-model';
8
8
  import { AnyConfigSchema } from '@xyo-network/module-model';
9
9
  import { WitnessConfig, WitnessParams } from '@xyo-network/witness-model';
10
- import * as _store__xyo_network_account_model_virtual_96c2d52d44_package from '.store/@xyo-network-account-model-virtual-96c2d52d44/package';
11
- import * as _store__xylabs_object_npm_4_0_1_bb8d73c5f0_package from '.store/@xylabs-object-npm-4.0.1-bb8d73c5f0/package';
10
+ import * as _store__xyo_network_account_model_virtual_e036bb1dc5_package from '.store/@xyo-network-account-model-virtual-e036bb1dc5/package';
11
+ import * as _store__xylabs_object_npm_4_0_2_c4743812cc_package from '.store/@xylabs-object-npm-4.0.2-c4743812cc/package';
12
12
 
13
13
  type PrometheusMetricValueSchema = 'network.xyo.prometheus.metric.value';
14
14
  declare const PrometheusMetricValueSchema: PrometheusMetricValueSchema;
@@ -39,10 +39,10 @@ declare class PrometheusNodeWitness<TParams extends PrometheusNodeWitnessParams
39
39
  private generateMetricValues;
40
40
  }
41
41
 
42
- declare const PrometheusNodePlugin: () => _xyo_network_payloadset_plugin.PayloadSetWitnessPlugin<PrometheusNodeWitness<_store__xylabs_object_npm_4_0_1_bb8d73c5f0_package.BaseParamsFields & {
43
- account?: _store__xyo_network_account_model_virtual_96c2d52d44_package.AccountInstance | "random";
42
+ declare const PrometheusNodePlugin: () => _xyo_network_payloadset_plugin.PayloadSetWitnessPlugin<PrometheusNodeWitness<_store__xylabs_object_npm_4_0_2_c4743812cc_package.BaseParamsFields & {
43
+ account?: _store__xyo_network_account_model_virtual_e036bb1dc5_package.AccountInstance | "random";
44
44
  addToResolvers?: boolean;
45
- additionalSigners?: _store__xyo_network_account_model_virtual_96c2d52d44_package.AccountInstance[];
45
+ additionalSigners?: _store__xyo_network_account_model_virtual_e036bb1dc5_package.AccountInstance[];
46
46
  allowNameResolution?: boolean;
47
47
  config: _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & _xyo_network_payload_model.SchemaFields & _xyo_network_payload_model.PayloadFields & Omit<_xyo_network_module_model.ArchivingModuleConfig & _xyo_network_module_model.ModuleConfigFields & {
48
48
  schema: "network.xyo.prometheus.node.witness.config";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/Plugin.ts","../../src/Schema.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { PrometheusMetricValueSchema } from './Schema.ts'\nimport { PrometheusNodeWitness } from './Witness.ts'\n\nexport const PrometheusNodePlugin = () =>\n createPayloadSetWitnessPlugin<PrometheusNodeWitness>(\n { required: { [PrometheusMetricValueSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await PrometheusNodeWitness.create(params)\n return result\n },\n },\n )\n","export type PrometheusMetricValueSchema = 'network.xyo.prometheus.metric.value'\nexport const PrometheusMetricValueSchema: PrometheusMetricValueSchema = 'network.xyo.prometheus.metric.value'\n","import { createServer, Server } from 'node:http'\n\nimport { exists } from '@xylabs/exists'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'\nimport { Payload, Schema } from '@xyo-network/payload-model'\nimport { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { collectDefaultMetrics, Registry } from 'prom-client'\n\nimport { PrometheusMetricValuePayload } from './Payload.ts'\nimport { PrometheusMetricValueSchema } from './Schema.ts'\n\nexport type PrometheusNodeWitnessConfigSchema = 'network.xyo.prometheus.node.witness.config'\nexport const PrometheusNodeWitnessConfigSchema: PrometheusNodeWitnessConfigSchema = 'network.xyo.prometheus.node.witness.config'\n\nexport type PrometheusNodeWitnessConfig = WitnessConfig<{\n port?: number\n schema: PrometheusNodeWitnessConfigSchema\n}>\n\nexport type PrometheusNodeWitnessParams = WitnessParams<AnyConfigSchema<PrometheusNodeWitnessConfig>>\n\ncreatableModule()\nexport class PrometheusNodeWitness<TParams extends PrometheusNodeWitnessParams = PrometheusNodeWitnessParams> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, PrometheusNodeWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = PrometheusNodeWitnessConfigSchema\n protected _registry = new Registry()\n protected server?: Server\n\n get registry(): Registry {\n return this._registry\n }\n\n protected override async observeHandler(_payloads?: Partial<Payload>[]): Promise<Payload[]> {\n return await this.generateMetricValues()\n }\n\n protected override async startHandler() {\n collectDefaultMetrics({ register: this._registry })\n if (this.config.port) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.server = createServer(async (_request, response) => {\n response.writeHead(200)\n\n response.end(await this._registry.metrics())\n })\n this.server.listen(this.config.port)\n }\n return await super.startHandler()\n }\n\n protected override async stopHandler(): Promise<boolean> {\n this.server?.close()\n return await super.stopHandler()\n }\n\n private async generateMetricValues(): Promise<PrometheusMetricValuePayload[]> {\n return (await this._registry.getMetricsAsJSON()).map((metric) => {\n const values = metric.values\n if (values) {\n return { aggregator: metric.aggregator, name: metric.name, schema: PrometheusMetricValueSchema, type: metric.type, values }\n }\n }).filter(exists)\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACAvC,IAAM,8BAA2D;;;ACDxE,SAAS,oBAA4B;AAErC,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAChC,SAA0B,uBAAuB;AAGjD,SAAS,uBAAuB,gBAAgB;AAMzC,IAAM,oCAAuE;AASpF,gBAAgB;AACT,IAAM,wBAAN,cAA+G,gBAAyB;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,iCAAiC;AAAA,EAC7G,OAAyB,sBAA8B;AAAA,EAC7C,YAAY,IAAI,SAAS;AAAA,EACzB;AAAA,EAEV,IAAI,WAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAyB,eAAe,WAAoD;AAC1F,WAAO,MAAM,KAAK,qBAAqB;AAAA,EACzC;AAAA,EAEA,MAAyB,eAAe;AACtC,0BAAsB,EAAE,UAAU,KAAK,UAAU,CAAC;AAClD,QAAI,KAAK,OAAO,MAAM;AAEpB,WAAK,SAAS,aAAa,OAAO,UAAU,aAAa;AACvD,iBAAS,UAAU,GAAG;AAEtB,iBAAS,IAAI,MAAM,KAAK,UAAU,QAAQ,CAAC;AAAA,MAC7C,CAAC;AACD,WAAK,OAAO,OAAO,KAAK,OAAO,IAAI;AAAA,IACrC;AACA,WAAO,MAAM,MAAM,aAAa;AAAA,EAClC;AAAA,EAEA,MAAyB,cAAgC;AACvD,SAAK,QAAQ,MAAM;AACnB,WAAO,MAAM,MAAM,YAAY;AAAA,EACjC;AAAA,EAEA,MAAc,uBAAgE;AAC5E,YAAQ,MAAM,KAAK,UAAU,iBAAiB,GAAG,IAAI,CAAC,WAAW;AAC/D,YAAM,SAAS,OAAO;AACtB,UAAI,QAAQ;AACV,eAAO,EAAE,YAAY,OAAO,YAAY,MAAM,OAAO,MAAM,QAAQ,6BAA6B,MAAM,OAAO,MAAM,OAAO;AAAA,MAC5H;AAAA,IACF,CAAC,EAAE,OAAO,MAAM;AAAA,EAClB;AACF;;;AF1DO,IAAM,uBAAuB,MAClC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,2BAA2B,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC3E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,sBAAsB,OAAO,MAAM;AACxD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../src/Plugin.ts","../../src/Schema.ts","../../src/Witness.ts"],"sourcesContent":["import { PayloadSetSchema } from '@xyo-network/payload-model'\nimport { createPayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'\n\nimport { PrometheusMetricValueSchema } from './Schema.ts'\nimport { PrometheusNodeWitness } from './Witness.ts'\n\nexport const PrometheusNodePlugin = () =>\n createPayloadSetWitnessPlugin<PrometheusNodeWitness>(\n { required: { [PrometheusMetricValueSchema]: 1 }, schema: PayloadSetSchema },\n {\n witness: async (params) => {\n const result = await PrometheusNodeWitness.create(params)\n return result\n },\n },\n )\n","export type PrometheusMetricValueSchema = 'network.xyo.prometheus.metric.value'\nexport const PrometheusMetricValueSchema: PrometheusMetricValueSchema = 'network.xyo.prometheus.metric.value'\n","import type { Server } from 'node:http'\nimport { createServer } from 'node:http'\n\nimport { exists } from '@xylabs/exists'\nimport { AbstractWitness } from '@xyo-network/abstract-witness'\nimport type { AnyConfigSchema } from '@xyo-network/module-model'\nimport { creatableModule } from '@xyo-network/module-model'\nimport type { Payload, Schema } from '@xyo-network/payload-model'\nimport type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'\nimport { collectDefaultMetrics, Registry } from 'prom-client'\n\nimport type { PrometheusMetricValuePayload } from './Payload.ts'\nimport { PrometheusMetricValueSchema } from './Schema.ts'\n\nexport type PrometheusNodeWitnessConfigSchema = 'network.xyo.prometheus.node.witness.config'\nexport const PrometheusNodeWitnessConfigSchema: PrometheusNodeWitnessConfigSchema = 'network.xyo.prometheus.node.witness.config'\n\nexport type PrometheusNodeWitnessConfig = WitnessConfig<{\n port?: number\n schema: PrometheusNodeWitnessConfigSchema\n}>\n\nexport type PrometheusNodeWitnessParams = WitnessParams<AnyConfigSchema<PrometheusNodeWitnessConfig>>\n\ncreatableModule()\nexport class PrometheusNodeWitness<TParams extends PrometheusNodeWitnessParams = PrometheusNodeWitnessParams> extends AbstractWitness<TParams> {\n static override readonly configSchemas: Schema[] = [...super.configSchemas, PrometheusNodeWitnessConfigSchema]\n static override readonly defaultConfigSchema: Schema = PrometheusNodeWitnessConfigSchema\n protected _registry = new Registry()\n protected server?: Server\n\n get registry(): Registry {\n return this._registry\n }\n\n protected override async observeHandler(_payloads?: Partial<Payload>[]): Promise<Payload[]> {\n return await this.generateMetricValues()\n }\n\n protected override async startHandler() {\n collectDefaultMetrics({ register: this._registry })\n if (this.config.port) {\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n this.server = createServer(async (_request, response) => {\n response.writeHead(200)\n\n response.end(await this._registry.metrics())\n })\n this.server.listen(this.config.port)\n }\n return await super.startHandler()\n }\n\n protected override async stopHandler(): Promise<boolean> {\n this.server?.close()\n return await super.stopHandler()\n }\n\n private async generateMetricValues(): Promise<PrometheusMetricValuePayload[]> {\n return (await this._registry.getMetricsAsJSON()).map((metric) => {\n const values = metric.values\n if (values) {\n return { aggregator: metric.aggregator, name: metric.name, schema: PrometheusMetricValueSchema, type: metric.type, values }\n }\n }).filter(exists)\n }\n}\n"],"mappings":";AAAA,SAAS,wBAAwB;AACjC,SAAS,qCAAqC;;;ACAvC,IAAM,8BAA2D;;;ACAxE,SAAS,oBAAoB;AAE7B,SAAS,cAAc;AACvB,SAAS,uBAAuB;AAEhC,SAAS,uBAAuB;AAGhC,SAAS,uBAAuB,gBAAgB;AAMzC,IAAM,oCAAuE;AASpF,gBAAgB;AACT,IAAM,wBAAN,cAA+G,gBAAyB;AAAA,EAC7I,OAAyB,gBAA0B,CAAC,GAAG,MAAM,eAAe,iCAAiC;AAAA,EAC7G,OAAyB,sBAA8B;AAAA,EAC7C,YAAY,IAAI,SAAS;AAAA,EACzB;AAAA,EAEV,IAAI,WAAqB;AACvB,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,MAAyB,eAAe,WAAoD;AAC1F,WAAO,MAAM,KAAK,qBAAqB;AAAA,EACzC;AAAA,EAEA,MAAyB,eAAe;AACtC,0BAAsB,EAAE,UAAU,KAAK,UAAU,CAAC;AAClD,QAAI,KAAK,OAAO,MAAM;AAEpB,WAAK,SAAS,aAAa,OAAO,UAAU,aAAa;AACvD,iBAAS,UAAU,GAAG;AAEtB,iBAAS,IAAI,MAAM,KAAK,UAAU,QAAQ,CAAC;AAAA,MAC7C,CAAC;AACD,WAAK,OAAO,OAAO,KAAK,OAAO,IAAI;AAAA,IACrC;AACA,WAAO,MAAM,MAAM,aAAa;AAAA,EAClC;AAAA,EAEA,MAAyB,cAAgC;AACvD,SAAK,QAAQ,MAAM;AACnB,WAAO,MAAM,MAAM,YAAY;AAAA,EACjC;AAAA,EAEA,MAAc,uBAAgE;AAC5E,YAAQ,MAAM,KAAK,UAAU,iBAAiB,GAAG,IAAI,CAAC,WAAW;AAC/D,YAAM,SAAS,OAAO;AACtB,UAAI,QAAQ;AACV,eAAO,EAAE,YAAY,OAAO,YAAY,MAAM,OAAO,MAAM,QAAQ,6BAA6B,MAAM,OAAO,MAAM,OAAO;AAAA,MAC5H;AAAA,IACF,CAAC,EAAE,OAAO,MAAM;AAAA,EAClB;AACF;;;AF5DO,IAAM,uBAAuB,MAClC;AAAA,EACE,EAAE,UAAU,EAAE,CAAC,2BAA2B,GAAG,EAAE,GAAG,QAAQ,iBAAiB;AAAA,EAC3E;AAAA,IACE,SAAS,OAAO,WAAW;AACzB,YAAM,SAAS,MAAM,sBAAsB,OAAO,MAAM;AACxD,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
package/package.json CHANGED
@@ -7,21 +7,21 @@
7
7
  },
8
8
  "bugs": {
9
9
  "email": "support@xyo.network",
10
- "url": "https://github.com/XYOracleNetwork/plugins/issues"
10
+ "url": "git+https://github.com/XYOracleNetwork/plugins/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xylabs/exists": "^4.0.1",
14
- "@xyo-network/abstract-witness": "^3.0.2",
15
- "@xyo-network/module-model": "^3.0.2",
16
- "@xyo-network/payload-model": "^3.0.2",
17
- "@xyo-network/payloadset-plugin": "^3.0.2",
18
- "@xyo-network/witness-model": "^3.0.2",
13
+ "@xylabs/exists": "^4.0.2",
14
+ "@xyo-network/abstract-witness": "^3.0.3",
15
+ "@xyo-network/module-model": "^3.0.3",
16
+ "@xyo-network/payload-model": "^3.0.3",
17
+ "@xyo-network/payloadset-plugin": "^3.0.3",
18
+ "@xyo-network/witness-model": "^3.0.3",
19
19
  "prom-client": "^15.1.3"
20
20
  },
21
21
  "devDependencies": {
22
- "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.15",
23
- "@xylabs/tsconfig": "^4.0.0-rc.15",
24
- "@xyo-network/payload-wrapper": "^3.0.2",
22
+ "@xylabs/ts-scripts-yarn3": "^4.0.0-rc.20",
23
+ "@xylabs/tsconfig": "^4.0.0-rc.20",
24
+ "@xyo-network/payload-wrapper": "^3.0.3",
25
25
  "typescript": "^5.5.4"
26
26
  },
27
27
  "description": "Typescript/Javascript Plugins for XYO Platform",
@@ -41,9 +41,9 @@
41
41
  },
42
42
  "repository": {
43
43
  "type": "git",
44
- "url": "https://github.com/XYOracleNetwork/plugins.git"
44
+ "url": "git+https://github.com/XYOracleNetwork/plugins.git"
45
45
  },
46
46
  "sideEffects": false,
47
- "version": "3.0.1",
47
+ "version": "3.0.3",
48
48
  "type": "module"
49
49
  }
package/src/Payload.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { Payload } from '@xyo-network/payload-model'
2
- import { Aggregator, MetricType } from 'prom-client'
1
+ import type { Payload } from '@xyo-network/payload-model'
2
+ import type { Aggregator, MetricType } from 'prom-client'
3
3
 
4
- import { PrometheusMetricValueSchema } from './Schema.ts'
4
+ import type { PrometheusMetricValueSchema } from './Schema.ts'
5
5
 
6
6
  export type PrometheusMetricValuePayload = Payload<
7
7
  {
package/src/Witness.ts CHANGED
@@ -1,13 +1,15 @@
1
- import { createServer, Server } from 'node:http'
1
+ import type { Server } from 'node:http'
2
+ import { createServer } from 'node:http'
2
3
 
3
4
  import { exists } from '@xylabs/exists'
4
5
  import { AbstractWitness } from '@xyo-network/abstract-witness'
5
- import { AnyConfigSchema, creatableModule } from '@xyo-network/module-model'
6
- import { Payload, Schema } from '@xyo-network/payload-model'
7
- import { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'
6
+ import type { AnyConfigSchema } from '@xyo-network/module-model'
7
+ import { creatableModule } from '@xyo-network/module-model'
8
+ import type { Payload, Schema } from '@xyo-network/payload-model'
9
+ import type { WitnessConfig, WitnessParams } from '@xyo-network/witness-model'
8
10
  import { collectDefaultMetrics, Registry } from 'prom-client'
9
11
 
10
- import { PrometheusMetricValuePayload } from './Payload.ts'
12
+ import type { PrometheusMetricValuePayload } from './Payload.ts'
11
13
  import { PrometheusMetricValueSchema } from './Schema.ts'
12
14
 
13
15
  export type PrometheusNodeWitnessConfigSchema = 'network.xyo.prometheus.node.witness.config'
package/xy.config.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
1
+ import type { XyTsupConfig } from '@xylabs/ts-scripts-yarn3'
2
2
  const config: XyTsupConfig = {
3
3
  compile: {
4
4
  browser: {},