@agoric/telemetry 0.6.3-dev-4850944.0 → 0.6.3-dev-9f6644d.0
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.
- package/package.json +5 -4
- package/src/otel-metrics.js +7 -1
- package/src/slog-sender-pipe.js +12 -0
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agoric/telemetry",
|
|
3
|
-
"version": "0.6.3-dev-
|
|
3
|
+
"version": "0.6.3-dev-9f6644d.0+9f6644d",
|
|
4
4
|
"description": "Agoric's telemetry implementation",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"repository": "https://github.com/Agoric/agoric-sdk",
|
|
@@ -22,11 +22,12 @@
|
|
|
22
22
|
"author": "Agoric",
|
|
23
23
|
"license": "Apache-2.0",
|
|
24
24
|
"dependencies": {
|
|
25
|
-
"@agoric/internal": "0.3.3-dev-
|
|
26
|
-
"@agoric/store": "0.9.3-dev-
|
|
25
|
+
"@agoric/internal": "0.3.3-dev-9f6644d.0+9f6644d",
|
|
26
|
+
"@agoric/store": "0.9.3-dev-9f6644d.0+9f6644d",
|
|
27
27
|
"@endo/errors": "^1.2.10",
|
|
28
28
|
"@endo/init": "^1.1.9",
|
|
29
29
|
"@endo/marshal": "^1.6.4",
|
|
30
|
+
"@endo/promise-kit": "^1.1.10",
|
|
30
31
|
"@endo/stream": "^1.2.10",
|
|
31
32
|
"@opentelemetry/api": "~1.9.0",
|
|
32
33
|
"@opentelemetry/api-logs": "0.57.1",
|
|
@@ -68,5 +69,5 @@
|
|
|
68
69
|
"typeCoverage": {
|
|
69
70
|
"atLeast": 88.83
|
|
70
71
|
},
|
|
71
|
-
"gitHead": "
|
|
72
|
+
"gitHead": "9f6644d521c5de751e9744e5bd57f75ac265f3d4"
|
|
72
73
|
}
|
package/src/otel-metrics.js
CHANGED
|
@@ -10,7 +10,8 @@ import {
|
|
|
10
10
|
} from '@agoric/internal/src/metrics.js';
|
|
11
11
|
|
|
12
12
|
/**
|
|
13
|
-
* @import {
|
|
13
|
+
* @import {MetricOptions, ObservableCounter, ObservableUpDownCounter} from '@opentelemetry/api';
|
|
14
|
+
* @import {MeterProvider} from '@opentelemetry/sdk-metrics';
|
|
14
15
|
* @import {TotalMap} from '@agoric/internal';
|
|
15
16
|
*/
|
|
16
17
|
|
|
@@ -22,6 +23,10 @@ export const makeSlogSender = async (opts = /** @type {any} */ ({})) => {
|
|
|
22
23
|
if (!otelMeterName) throw Fail`OTel meter name is required`;
|
|
23
24
|
if (!otelMeterProvider) return;
|
|
24
25
|
|
|
26
|
+
const shutdown = async () => {
|
|
27
|
+
await otelMeterProvider.shutdown();
|
|
28
|
+
};
|
|
29
|
+
|
|
25
30
|
const otelMeter = otelMeterProvider.getMeter(otelMeterName);
|
|
26
31
|
|
|
27
32
|
const processedInboundActionCounter = otelMeter.createCounter(
|
|
@@ -218,6 +223,7 @@ export const makeSlogSender = async (opts = /** @type {any} */ ({})) => {
|
|
|
218
223
|
}
|
|
219
224
|
};
|
|
220
225
|
return Object.assign(slogSender, {
|
|
226
|
+
shutdown,
|
|
221
227
|
usesJsonObject: false,
|
|
222
228
|
});
|
|
223
229
|
};
|
package/src/slog-sender-pipe.js
CHANGED
|
@@ -12,6 +12,7 @@ import { promisify } from 'util';
|
|
|
12
12
|
import anylogger from 'anylogger';
|
|
13
13
|
|
|
14
14
|
import { q, Fail } from '@endo/errors';
|
|
15
|
+
import { makePromiseKit } from '@endo/promise-kit';
|
|
15
16
|
import { makeQueue } from '@endo/stream';
|
|
16
17
|
|
|
17
18
|
import { makeShutdown } from '@agoric/internal/src/node/shutdown.js';
|
|
@@ -72,6 +73,16 @@ export const makeSlogSender = async options => {
|
|
|
72
73
|
env,
|
|
73
74
|
});
|
|
74
75
|
// logger.log('done fork');
|
|
76
|
+
|
|
77
|
+
const exitKit = makePromiseKit();
|
|
78
|
+
cp.on('error', error => {
|
|
79
|
+
// An exit event *might* be coming, so wait a tick.
|
|
80
|
+
setImmediate(() => exitKit.resolve({ error }));
|
|
81
|
+
});
|
|
82
|
+
cp.on('exit', (exitCode, signal) => {
|
|
83
|
+
exitKit.resolve({ exitCode, signal });
|
|
84
|
+
});
|
|
85
|
+
|
|
75
86
|
/** @type {(msg: Record<string, unknown> & {type: string}) => Promise<void>} */
|
|
76
87
|
const rawSend = promisify(cp.send.bind(cp));
|
|
77
88
|
const pipeSend = withMutex(rawSend);
|
|
@@ -132,6 +143,7 @@ export const makeSlogSender = async options => {
|
|
|
132
143
|
|
|
133
144
|
await flush();
|
|
134
145
|
cp.disconnect();
|
|
146
|
+
await exitKit.promise;
|
|
135
147
|
};
|
|
136
148
|
registerShutdown(shutdown);
|
|
137
149
|
|