@aztec/prover-client 0.73.0 → 0.75.0-commit.c03ba01a2a4122e43e90d5133ba017e54b90e9d2

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.
Files changed (138) hide show
  1. package/dest/bin/get-proof-inputs.js +18 -16
  2. package/dest/block_builder/index.js +0 -1
  3. package/dest/block_builder/light.js +23 -13
  4. package/dest/config.js +9 -11
  5. package/dest/index.js +0 -1
  6. package/dest/mocks/fixtures.js +28 -26
  7. package/dest/mocks/test_context.js +55 -31
  8. package/dest/orchestrator/block-building-helpers.js +90 -90
  9. package/dest/orchestrator/block-proving-state.js +95 -70
  10. package/dest/orchestrator/epoch-proving-state.js +53 -40
  11. package/dest/orchestrator/index.js +0 -1
  12. package/dest/orchestrator/orchestrator.js +649 -653
  13. package/dest/orchestrator/orchestrator_metrics.js +4 -3
  14. package/dest/orchestrator/tx-proving-state.js +52 -51
  15. package/dest/prover-agent/index.js +0 -1
  16. package/dest/prover-agent/memory-proving-queue.js +237 -248
  17. package/dest/prover-agent/prover-agent.js +184 -187
  18. package/dest/prover-agent/proving-error.js +0 -1
  19. package/dest/prover-agent/queue_metrics.js +6 -5
  20. package/dest/prover-agent/rpc.js +6 -4
  21. package/dest/prover-client/factory.js +0 -1
  22. package/dest/prover-client/index.js +0 -1
  23. package/dest/prover-client/prover-client.js +30 -25
  24. package/dest/prover-client/server-epoch-prover.js +4 -4
  25. package/dest/proving_broker/broker_prover_facade.js +70 -59
  26. package/dest/proving_broker/config.js +22 -37
  27. package/dest/proving_broker/factory.js +1 -2
  28. package/dest/proving_broker/fixtures.js +0 -1
  29. package/dest/proving_broker/index.js +0 -1
  30. package/dest/proving_broker/proof_store/factory.js +9 -12
  31. package/dest/proving_broker/proof_store/gcs_proof_store.js +11 -7
  32. package/dest/proving_broker/proof_store/index.js +0 -1
  33. package/dest/proving_broker/proof_store/inline_proof_store.js +11 -7
  34. package/dest/proving_broker/proof_store/proof_store.js +3 -2
  35. package/dest/proving_broker/proving_agent.js +121 -110
  36. package/dest/proving_broker/proving_agent_instrumentation.js +3 -3
  37. package/dest/proving_broker/proving_broker.js +491 -451
  38. package/dest/proving_broker/proving_broker_database/memory.js +19 -13
  39. package/dest/proving_broker/proving_broker_database/persisted.js +41 -21
  40. package/dest/proving_broker/proving_broker_database.js +3 -2
  41. package/dest/proving_broker/proving_broker_instrumentation.js +28 -21
  42. package/dest/proving_broker/proving_job_controller.js +81 -62
  43. package/dest/proving_broker/rpc.js +23 -15
  44. package/dest/test/mock_prover.js +11 -9
  45. package/package.json +13 -11
  46. package/src/index.ts +1 -1
  47. package/src/orchestrator/block-building-helpers.ts +1 -1
  48. package/src/proving_broker/proving_agent.ts +30 -11
  49. package/src/proving_broker/proving_broker.ts +53 -27
  50. package/src/proving_broker/rpc.ts +8 -2
  51. package/dest/bin/get-proof-inputs.d.ts +0 -2
  52. package/dest/bin/get-proof-inputs.d.ts.map +0 -1
  53. package/dest/block_builder/index.d.ts +0 -6
  54. package/dest/block_builder/index.d.ts.map +0 -1
  55. package/dest/block_builder/light.d.ts +0 -31
  56. package/dest/block_builder/light.d.ts.map +0 -1
  57. package/dest/config.d.ts +0 -17
  58. package/dest/config.d.ts.map +0 -1
  59. package/dest/index.d.ts +0 -4
  60. package/dest/index.d.ts.map +0 -1
  61. package/dest/mocks/fixtures.d.ts +0 -19
  62. package/dest/mocks/fixtures.d.ts.map +0 -1
  63. package/dest/mocks/test_context.d.ts +0 -49
  64. package/dest/mocks/test_context.d.ts.map +0 -1
  65. package/dest/orchestrator/block-building-helpers.d.ts +0 -50
  66. package/dest/orchestrator/block-building-helpers.d.ts.map +0 -1
  67. package/dest/orchestrator/block-proving-state.d.ts +0 -71
  68. package/dest/orchestrator/block-proving-state.d.ts.map +0 -1
  69. package/dest/orchestrator/epoch-proving-state.d.ts +0 -56
  70. package/dest/orchestrator/epoch-proving-state.d.ts.map +0 -1
  71. package/dest/orchestrator/index.d.ts +0 -2
  72. package/dest/orchestrator/index.d.ts.map +0 -1
  73. package/dest/orchestrator/orchestrator.d.ts +0 -108
  74. package/dest/orchestrator/orchestrator.d.ts.map +0 -1
  75. package/dest/orchestrator/orchestrator_metrics.d.ts +0 -8
  76. package/dest/orchestrator/orchestrator_metrics.d.ts.map +0 -1
  77. package/dest/orchestrator/tx-proving-state.d.ts +0 -31
  78. package/dest/orchestrator/tx-proving-state.d.ts.map +0 -1
  79. package/dest/prover-agent/index.d.ts +0 -4
  80. package/dest/prover-agent/index.d.ts.map +0 -1
  81. package/dest/prover-agent/memory-proving-queue.d.ts +0 -82
  82. package/dest/prover-agent/memory-proving-queue.d.ts.map +0 -1
  83. package/dest/prover-agent/prover-agent.d.ts +0 -43
  84. package/dest/prover-agent/prover-agent.d.ts.map +0 -1
  85. package/dest/prover-agent/proving-error.d.ts +0 -5
  86. package/dest/prover-agent/proving-error.d.ts.map +0 -1
  87. package/dest/prover-agent/queue_metrics.d.ts +0 -10
  88. package/dest/prover-agent/queue_metrics.d.ts.map +0 -1
  89. package/dest/prover-agent/rpc.d.ts +0 -11
  90. package/dest/prover-agent/rpc.d.ts.map +0 -1
  91. package/dest/prover-client/factory.d.ts +0 -6
  92. package/dest/prover-client/factory.d.ts.map +0 -1
  93. package/dest/prover-client/index.d.ts +0 -3
  94. package/dest/prover-client/index.d.ts.map +0 -1
  95. package/dest/prover-client/prover-client.d.ts +0 -42
  96. package/dest/prover-client/prover-client.d.ts.map +0 -1
  97. package/dest/prover-client/server-epoch-prover.d.ts +0 -25
  98. package/dest/prover-client/server-epoch-prover.d.ts.map +0 -1
  99. package/dest/proving_broker/broker_prover_facade.d.ts +0 -39
  100. package/dest/proving_broker/broker_prover_facade.d.ts.map +0 -1
  101. package/dest/proving_broker/config.d.ts +0 -61
  102. package/dest/proving_broker/config.d.ts.map +0 -1
  103. package/dest/proving_broker/factory.d.ts +0 -5
  104. package/dest/proving_broker/factory.d.ts.map +0 -1
  105. package/dest/proving_broker/fixtures.d.ts +0 -5
  106. package/dest/proving_broker/fixtures.d.ts.map +0 -1
  107. package/dest/proving_broker/index.d.ts +0 -10
  108. package/dest/proving_broker/index.d.ts.map +0 -1
  109. package/dest/proving_broker/proof_store/factory.d.ts +0 -6
  110. package/dest/proving_broker/proof_store/factory.d.ts.map +0 -1
  111. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts +0 -13
  112. package/dest/proving_broker/proof_store/gcs_proof_store.d.ts.map +0 -1
  113. package/dest/proving_broker/proof_store/index.d.ts +0 -4
  114. package/dest/proving_broker/proof_store/index.d.ts.map +0 -1
  115. package/dest/proving_broker/proof_store/inline_proof_store.d.ts +0 -14
  116. package/dest/proving_broker/proof_store/inline_proof_store.d.ts.map +0 -1
  117. package/dest/proving_broker/proof_store/proof_store.d.ts +0 -35
  118. package/dest/proving_broker/proof_store/proof_store.d.ts.map +0 -1
  119. package/dest/proving_broker/proving_agent.d.ts +0 -44
  120. package/dest/proving_broker/proving_agent.d.ts.map +0 -1
  121. package/dest/proving_broker/proving_agent_instrumentation.d.ts +0 -8
  122. package/dest/proving_broker/proving_agent_instrumentation.d.ts.map +0 -1
  123. package/dest/proving_broker/proving_broker.d.ts +0 -75
  124. package/dest/proving_broker/proving_broker.d.ts.map +0 -1
  125. package/dest/proving_broker/proving_broker_database/memory.d.ts +0 -16
  126. package/dest/proving_broker/proving_broker_database/memory.d.ts.map +0 -1
  127. package/dest/proving_broker/proving_broker_database/persisted.d.ts +0 -21
  128. package/dest/proving_broker/proving_broker_database/persisted.d.ts.map +0 -1
  129. package/dest/proving_broker/proving_broker_database.d.ts +0 -39
  130. package/dest/proving_broker/proving_broker_database.d.ts.map +0 -1
  131. package/dest/proving_broker/proving_broker_instrumentation.d.ts +0 -25
  132. package/dest/proving_broker/proving_broker_instrumentation.d.ts.map +0 -1
  133. package/dest/proving_broker/proving_job_controller.d.ts +0 -31
  134. package/dest/proving_broker/proving_job_controller.d.ts.map +0 -1
  135. package/dest/proving_broker/rpc.d.ts +0 -11
  136. package/dest/proving_broker/rpc.d.ts.map +0 -1
  137. package/dest/test/mock_prover.d.ts +0 -33
  138. package/dest/test/mock_prover.d.ts.map +0 -1
@@ -1,122 +1,133 @@
1
- import { __esDecorate, __runInitializers } from "tslib";
2
- import { ProvingError, ProvingRequestType, } from '@aztec/circuit-types';
1
+ function _ts_decorate(decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ }
7
+ import { ProvingError, ProvingRequestType } from '@aztec/circuit-types';
3
8
  import { createLogger } from '@aztec/foundation/log';
4
9
  import { RunningPromise } from '@aztec/foundation/running-promise';
5
10
  import { truncate } from '@aztec/foundation/string';
6
11
  import { Timer } from '@aztec/foundation/timer';
7
- import { getTelemetryClient, trackSpan, } from '@aztec/telemetry-client';
12
+ import { getTelemetryClient, trackSpan } from '@aztec/telemetry-client';
8
13
  import { ProvingAgentInstrumentation } from './proving_agent_instrumentation.js';
9
14
  import { ProvingJobController, ProvingJobControllerStatus } from './proving_job_controller.js';
10
15
  /**
11
16
  * A helper class that encapsulates a circuit prover and connects it to a job source.
12
- */
13
- let ProvingAgent = (() => {
14
- var _a;
15
- let _instanceExtraInitializers = [];
16
- let _work_decorators;
17
- return _a = class ProvingAgent {
18
- constructor(
19
- /** The source of proving jobs */
20
- broker,
21
- /** Database holding proof inputs and outputs */
22
- proofStore,
23
- /** The prover implementation to defer jobs to */
24
- circuitProver,
25
- /** Optional list of allowed proof types to build */
26
- proofAllowList = [],
27
- /** How long to wait between jobs */
28
- pollIntervalMs = 1000,
29
- /** A telemetry client through which to emit metrics */
30
- client = getTelemetryClient(), log = createLogger('prover-client:proving-agent')) {
31
- this.broker = (__runInitializers(this, _instanceExtraInitializers), broker);
32
- this.proofStore = proofStore;
33
- this.circuitProver = circuitProver;
34
- this.proofAllowList = proofAllowList;
35
- this.pollIntervalMs = pollIntervalMs;
36
- this.log = log;
37
- this.handleJobResult = async (jobId, type, err, result) => {
38
- this.idleTimer = new Timer();
39
- if (err) {
40
- const retry = err.name === ProvingError.NAME ? err.retry : false;
41
- this.log.error(`Job id=${jobId} type=${ProvingRequestType[type]} failed err=${err.message} retry=${retry}`, err);
42
- return this.broker.reportProvingJobError(jobId, err.message, retry);
43
- }
44
- else if (result) {
45
- const outputUri = await this.proofStore.saveProofOutput(jobId, type, result);
46
- this.log.info(`Job id=${jobId} type=${ProvingRequestType[type]} completed outputUri=${truncate(outputUri)}`);
47
- return this.broker.reportProvingJobSuccess(jobId, outputUri);
48
- }
49
- };
50
- this.tracer = client.getTracer('ProvingAgent');
51
- this.instrumentation = new ProvingAgentInstrumentation(client);
52
- this.runningPromise = new RunningPromise(this.work.bind(this), this.log, this.pollIntervalMs);
17
+ */ export class ProvingAgent {
18
+ broker;
19
+ proofStore;
20
+ circuitProver;
21
+ proofAllowList;
22
+ pollIntervalMs;
23
+ log;
24
+ currentJobController;
25
+ runningPromise;
26
+ instrumentation;
27
+ idleTimer;
28
+ tracer;
29
+ constructor(/** The source of proving jobs */ broker, /** Database holding proof inputs and outputs */ proofStore, /** The prover implementation to defer jobs to */ circuitProver, /** Optional list of allowed proof types to build */ proofAllowList = [], /** How long to wait between jobs */ pollIntervalMs = 1000, /** A telemetry client through which to emit metrics */ client = getTelemetryClient(), log = createLogger('prover-client:proving-agent')){
30
+ this.broker = broker;
31
+ this.proofStore = proofStore;
32
+ this.circuitProver = circuitProver;
33
+ this.proofAllowList = proofAllowList;
34
+ this.pollIntervalMs = pollIntervalMs;
35
+ this.log = log;
36
+ this.handleJobResult = async (jobId, type, err, result)=>{
37
+ let maybeJob;
38
+ if (err) {
39
+ const retry = err.name === ProvingError.NAME ? err.retry : false;
40
+ this.log.error(`Job id=${jobId} type=${ProvingRequestType[type]} failed err=${err.message} retry=${retry}`, err);
41
+ maybeJob = await this.broker.reportProvingJobError(jobId, err.message, retry, {
42
+ allowList: this.proofAllowList
43
+ });
44
+ } else if (result) {
45
+ const outputUri = await this.proofStore.saveProofOutput(jobId, type, result);
46
+ this.log.info(`Job id=${jobId} type=${ProvingRequestType[type]} completed outputUri=${truncate(outputUri)}`);
47
+ maybeJob = await this.broker.reportProvingJobSuccess(jobId, outputUri, {
48
+ allowList: this.proofAllowList
49
+ });
53
50
  }
54
- setCircuitProver(circuitProver) {
55
- this.circuitProver = circuitProver;
56
- }
57
- isRunning() {
58
- return this.runningPromise?.isRunning() ?? false;
59
- }
60
- start() {
51
+ if (maybeJob) {
52
+ const { job, time } = maybeJob;
53
+ await this.startJob(job, time);
54
+ } else {
61
55
  this.idleTimer = new Timer();
62
- this.runningPromise.start();
63
56
  }
64
- async stop() {
65
- this.currentJobController?.abort();
66
- await this.runningPromise.stop();
67
- }
68
- async work() {
69
- // every tick we need to
70
- // (1) either do a heartbeat, telling the broker that we're working
71
- // (2) get a new job
72
- // If during (1) the broker returns a new job that means we can cancel the current job and start the new one
73
- let maybeJob;
74
- if (this.currentJobController?.getStatus() === ProvingJobControllerStatus.PROVING) {
75
- maybeJob = await this.broker.reportProvingJobProgress(this.currentJobController.getJobId(), this.currentJobController.getStartedAt(), { allowList: this.proofAllowList });
76
- }
77
- else {
78
- maybeJob = await this.broker.getProvingJob({ allowList: this.proofAllowList });
79
- }
80
- if (!maybeJob) {
81
- return;
82
- }
83
- let abortedProofJobId;
84
- let abortedProofName;
85
- if (this.currentJobController?.getStatus() === ProvingJobControllerStatus.PROVING) {
86
- abortedProofJobId = this.currentJobController.getJobId();
87
- abortedProofName = this.currentJobController.getProofTypeName();
88
- this.currentJobController?.abort();
89
- }
90
- const { job, time } = maybeJob;
91
- let inputs;
92
- try {
93
- inputs = await this.proofStore.getProofInput(job.inputsUri);
94
- }
95
- catch (err) {
96
- await this.broker.reportProvingJobError(job.id, 'Failed to load proof inputs', true);
97
- return;
98
- }
99
- this.currentJobController = new ProvingJobController(job.id, inputs, job.epochNumber, time, this.circuitProver, this.handleJobResult);
100
- if (abortedProofJobId) {
101
- this.log.info(`Aborting job id=${abortedProofJobId} type=${abortedProofName} to start new job id=${this.currentJobController.getJobId()} type=${this.currentJobController.getProofTypeName()} inputsUri=${truncate(job.inputsUri)}`);
102
- }
103
- else {
104
- this.log.info(`Starting job id=${this.currentJobController.getJobId()} type=${this.currentJobController.getProofTypeName()} inputsUri=${truncate(job.inputsUri)}`);
105
- }
106
- if (this.idleTimer) {
107
- this.instrumentation.recordIdleTime(this.idleTimer);
108
- }
109
- this.idleTimer = undefined;
110
- this.currentJobController.start();
57
+ };
58
+ this.tracer = client.getTracer('ProvingAgent');
59
+ this.instrumentation = new ProvingAgentInstrumentation(client);
60
+ this.runningPromise = new RunningPromise(this.work.bind(this), this.log, this.pollIntervalMs);
61
+ }
62
+ setCircuitProver(circuitProver) {
63
+ this.circuitProver = circuitProver;
64
+ }
65
+ isRunning() {
66
+ return this.runningPromise?.isRunning() ?? false;
67
+ }
68
+ start() {
69
+ this.idleTimer = new Timer();
70
+ this.runningPromise.start();
71
+ }
72
+ async stop() {
73
+ this.currentJobController?.abort();
74
+ await this.runningPromise.stop();
75
+ }
76
+ async work() {
77
+ // every tick we need to
78
+ // (1) either do a heartbeat, telling the broker that we're working
79
+ // (2) get a new job
80
+ // If during (1) the broker returns a new job that means we can cancel the current job and start the new one
81
+ let maybeJob;
82
+ if (this.currentJobController?.getStatus() === ProvingJobControllerStatus.PROVING) {
83
+ maybeJob = await this.broker.reportProvingJobProgress(this.currentJobController.getJobId(), this.currentJobController.getStartedAt(), {
84
+ allowList: this.proofAllowList
85
+ });
86
+ } else {
87
+ maybeJob = await this.broker.getProvingJob({
88
+ allowList: this.proofAllowList
89
+ });
90
+ }
91
+ if (!maybeJob) {
92
+ return;
93
+ }
94
+ if (this.idleTimer) {
95
+ this.instrumentation.recordIdleTime(this.idleTimer);
96
+ }
97
+ this.idleTimer = undefined;
98
+ const { job, time } = maybeJob;
99
+ await this.startJob(job, time);
100
+ }
101
+ async startJob(job, startedAt) {
102
+ let abortedProofJobId;
103
+ let abortedProofName;
104
+ if (this.currentJobController?.getStatus() === ProvingJobControllerStatus.PROVING) {
105
+ abortedProofJobId = this.currentJobController.getJobId();
106
+ abortedProofName = this.currentJobController.getProofTypeName();
107
+ this.currentJobController?.abort();
108
+ }
109
+ let inputs;
110
+ try {
111
+ inputs = await this.proofStore.getProofInput(job.inputsUri);
112
+ } catch (err) {
113
+ const maybeJob = await this.broker.reportProvingJobError(job.id, 'Failed to load proof inputs', true, {
114
+ allowList: this.proofAllowList
115
+ });
116
+ if (maybeJob) {
117
+ return this.startJob(maybeJob.job, maybeJob.time);
111
118
  }
112
- },
113
- (() => {
114
- const _metadata = typeof Symbol === "function" && Symbol.metadata ? Object.create(null) : void 0;
115
- _work_decorators = [trackSpan('ProvingAgent.safeWork')];
116
- __esDecorate(_a, null, _work_decorators, { kind: "method", name: "work", static: false, private: false, access: { has: obj => "work" in obj, get: obj => obj.work }, metadata: _metadata }, null, _instanceExtraInitializers);
117
- if (_metadata) Object.defineProperty(_a, Symbol.metadata, { enumerable: true, configurable: true, writable: true, value: _metadata });
118
- })(),
119
- _a;
120
- })();
121
- export { ProvingAgent };
122
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19hZ2VudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wcm92aW5nX2Jyb2tlci9wcm92aW5nX2FnZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0wsWUFBWSxFQU1aLGtCQUFrQixHQUVuQixNQUFNLHNCQUFzQixDQUFDO0FBQzlCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNoRCxPQUFPLEVBSUwsa0JBQWtCLEVBQ2xCLFNBQVMsR0FDVixNQUFNLHlCQUF5QixDQUFDO0FBR2pDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRS9GOztHQUVHO0lBQ1UsWUFBWTs7OztzQkFBWixZQUFZO1lBUXZCO1lBQ0UsaUNBQWlDO1lBQ3pCLE1BQTBCO1lBQ2xDLGdEQUFnRDtZQUN4QyxVQUFzQjtZQUM5QixpREFBaUQ7WUFDekMsYUFBa0M7WUFDMUMsb0RBQW9EO1lBQzVDLGlCQUE0QyxFQUFFO1lBQ3RELG9DQUFvQztZQUM1QixpQkFBaUIsSUFBSTtZQUM3Qix1REFBdUQ7WUFDdkQsU0FBMEIsa0JBQWtCLEVBQUUsRUFDdEMsTUFBTSxZQUFZLENBQUMsNkJBQTZCLENBQUM7Z0JBWGpELFdBQU0sSUFWTCxtREFBWSxFQVViLE1BQU0sRUFBb0I7Z0JBRTFCLGVBQVUsR0FBVixVQUFVLENBQVk7Z0JBRXRCLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtnQkFFbEMsbUJBQWMsR0FBZCxjQUFjLENBQWdDO2dCQUU5Qyxt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
119
+ return;
120
+ }
121
+ this.currentJobController = new ProvingJobController(job.id, inputs, job.epochNumber, startedAt, this.circuitProver, this.handleJobResult);
122
+ if (abortedProofJobId) {
123
+ this.log.info(`Aborting job id=${abortedProofJobId} type=${abortedProofName} to start new job id=${this.currentJobController.getJobId()} type=${this.currentJobController.getProofTypeName()} inputsUri=${truncate(job.inputsUri)}`);
124
+ } else {
125
+ this.log.info(`Starting job id=${this.currentJobController.getJobId()} type=${this.currentJobController.getProofTypeName()} inputsUri=${truncate(job.inputsUri)}`);
126
+ }
127
+ this.currentJobController.start();
128
+ }
129
+ handleJobResult;
130
+ }
131
+ _ts_decorate([
132
+ trackSpan('ProvingAgent.safeWork')
133
+ ], ProvingAgent.prototype, "work", null);
@@ -1,11 +1,12 @@
1
1
  import { Metrics, ValueType } from '@aztec/telemetry-client';
2
2
  export class ProvingAgentInstrumentation {
3
- constructor(client, name = 'ProvingAgent') {
3
+ idleTime;
4
+ constructor(client, name = 'ProvingAgent'){
4
5
  const meter = client.getMeter(name);
5
6
  this.idleTime = meter.createHistogram(Metrics.PROVING_AGENT_IDLE, {
6
7
  description: 'Records how long an agent was idle',
7
8
  unit: 'ms',
8
- valueType: ValueType.INT,
9
+ valueType: ValueType.INT
9
10
  });
10
11
  }
11
12
  recordIdleTime(msOrTimer) {
@@ -13,4 +14,3 @@ export class ProvingAgentInstrumentation {
13
14
  this.idleTime.record(duration);
14
15
  }
15
16
  }
16
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmluZ19hZ2VudF9pbnN0cnVtZW50YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJvdmluZ19icm9rZXIvcHJvdmluZ19hZ2VudF9pbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFrQixPQUFPLEVBQXdCLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRW5HLE1BQU0sT0FBTywyQkFBMkI7SUFHdEMsWUFBWSxNQUF1QixFQUFFLElBQUksR0FBRyxjQUFjO1FBQ3hELE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFcEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRTtZQUNoRSxXQUFXLEVBQUUsb0NBQW9DO1lBQ2pELElBQUksRUFBRSxJQUFJO1lBQ1YsU0FBUyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1NBQ3pCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxjQUFjLENBQUMsU0FBeUI7UUFDdEMsTUFBTSxRQUFRLEdBQUcsT0FBTyxTQUFTLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakMsQ0FBQztDQUNGIn0=