@prairielearn/opentelemetry 1.8.0 → 1.8.2
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/CHANGELOG.md +12 -0
- package/README.md +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/init.d.ts +5 -0
- package/dist/init.js +12 -6
- package/dist/init.js.map +1 -1
- package/dist/metrics.js +1 -1
- package/dist/metrics.js.map +1 -1
- package/dist/tracing.test.js +1 -1
- package/dist/tracing.test.js.map +1 -1
- package/package.json +31 -26
- package/src/index.ts +1 -1
- package/src/init.ts +12 -6
- package/src/metrics.test.ts +1 -1
- package/src/metrics.ts +8 -8
- package/src/tracing.test.ts +1 -1
- package/src/tracing.ts +1 -1
- package/tsconfig.json +1 -1
package/CHANGELOG.md
CHANGED
package/README.md
CHANGED
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { trace, metrics, context, SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
2
2
|
export { suppressTracing } from '@opentelemetry/core';
|
|
3
|
-
export { init, shutdown } from './init';
|
|
3
|
+
export { init, shutdown, disableInstrumentations } from './init';
|
|
4
4
|
export { instrumented } from './tracing';
|
|
5
5
|
export { instrumentedWithMetrics, getCounter, getUpDownCounter, getHistogram, getObservableCounter, getObservableUpDownCounter, getObservableGauge, createObservableValueGauges, createObservableValueGaugesOptions, } from './metrics';
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createObservableValueGauges = exports.getObservableGauge = exports.getObservableUpDownCounter = exports.getObservableCounter = exports.getHistogram = exports.getUpDownCounter = exports.getCounter = exports.instrumentedWithMetrics = exports.instrumented = exports.shutdown = exports.init = exports.suppressTracing = exports.ValueType = exports.SpanStatusCode = exports.context = exports.metrics = exports.trace = void 0;
|
|
3
|
+
exports.createObservableValueGauges = exports.getObservableGauge = exports.getObservableUpDownCounter = exports.getObservableCounter = exports.getHistogram = exports.getUpDownCounter = exports.getCounter = exports.instrumentedWithMetrics = exports.instrumented = exports.disableInstrumentations = exports.shutdown = exports.init = exports.suppressTracing = exports.ValueType = exports.SpanStatusCode = exports.context = exports.metrics = exports.trace = void 0;
|
|
4
4
|
var api_1 = require("@opentelemetry/api");
|
|
5
5
|
Object.defineProperty(exports, "trace", { enumerable: true, get: function () { return api_1.trace; } });
|
|
6
6
|
Object.defineProperty(exports, "metrics", { enumerable: true, get: function () { return api_1.metrics; } });
|
|
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "suppressTracing", { enumerable: true, get: funct
|
|
|
12
12
|
var init_1 = require("./init");
|
|
13
13
|
Object.defineProperty(exports, "init", { enumerable: true, get: function () { return init_1.init; } });
|
|
14
14
|
Object.defineProperty(exports, "shutdown", { enumerable: true, get: function () { return init_1.shutdown; } });
|
|
15
|
+
Object.defineProperty(exports, "disableInstrumentations", { enumerable: true, get: function () { return init_1.disableInstrumentations; } });
|
|
15
16
|
var tracing_1 = require("./tracing");
|
|
16
17
|
Object.defineProperty(exports, "instrumented", { enumerable: true, get: function () { return tracing_1.instrumented; } });
|
|
17
18
|
var metrics_1 = require("./metrics");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAwF;AAA/E,4FAAA,KAAK,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,gGAAA,SAAS,OAAA;AAC3D,4CAAsD;AAA7C,uGAAA,eAAe,OAAA;AAExB,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,0CAAwF;AAA/E,4FAAA,KAAK,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,8FAAA,OAAO,OAAA;AAAE,qGAAA,cAAc,OAAA;AAAE,gGAAA,SAAS,OAAA;AAC3D,4CAAsD;AAA7C,uGAAA,eAAe,OAAA;AAExB,+BAAiE;AAAxD,4FAAA,IAAI,OAAA;AAAE,gGAAA,QAAQ,OAAA;AAAE,+GAAA,uBAAuB,OAAA;AAChD,qCAAyC;AAAhC,uGAAA,YAAY,OAAA;AACrB,qCAUmB;AATjB,kHAAA,uBAAuB,OAAA;AACvB,qGAAA,UAAU,OAAA;AACV,2GAAA,gBAAgB,OAAA;AAChB,uGAAA,YAAY,OAAA;AACZ,+GAAA,oBAAoB,OAAA;AACpB,qHAAA,0BAA0B,OAAA;AAC1B,6GAAA,kBAAkB,OAAA;AAClB,sHAAA,2BAA2B,OAAA"}
|
package/dist/init.d.ts
CHANGED
|
@@ -23,3 +23,8 @@ export declare function init(config: OpenTelemetryConfig): Promise<void>;
|
|
|
23
23
|
* when a `SIGTERM` signal is handled.
|
|
24
24
|
*/
|
|
25
25
|
export declare function shutdown(): Promise<void>;
|
|
26
|
+
/**
|
|
27
|
+
* Disables all OpenTelemetry instrumentations. This is useful for tests that
|
|
28
|
+
* need to access the unwrapped modules.
|
|
29
|
+
*/
|
|
30
|
+
export declare function disableInstrumentations(): void;
|
package/dist/init.js
CHANGED
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.shutdown = exports.init = void 0;
|
|
3
|
+
exports.disableInstrumentations = exports.shutdown = exports.init = void 0;
|
|
4
4
|
const grpc_js_1 = require("@grpc/grpc-js");
|
|
5
5
|
const sdk_trace_node_1 = require("@opentelemetry/sdk-trace-node");
|
|
6
6
|
const sdk_metrics_1 = require("@opentelemetry/sdk-metrics");
|
|
7
7
|
const sdk_trace_base_1 = require("@opentelemetry/sdk-trace-base");
|
|
8
8
|
const resources_1 = require("@opentelemetry/resources");
|
|
9
9
|
const semantic_conventions_1 = require("@opentelemetry/semantic-conventions");
|
|
10
|
-
const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
|
|
11
10
|
const api_1 = require("@opentelemetry/api");
|
|
12
11
|
const core_1 = require("@opentelemetry/core");
|
|
13
12
|
// Exporters go here.
|
|
@@ -18,13 +17,12 @@ const exporter_metrics_otlp_grpc_1 = require("@opentelemetry/exporter-metrics-ot
|
|
|
18
17
|
const instrumentation_aws_sdk_1 = require("@opentelemetry/instrumentation-aws-sdk");
|
|
19
18
|
const instrumentation_connect_1 = require("@opentelemetry/instrumentation-connect");
|
|
20
19
|
const instrumentation_dns_1 = require("@opentelemetry/instrumentation-dns");
|
|
21
|
-
const
|
|
20
|
+
const instrumentation_express_1 = require("@opentelemetry/instrumentation-express");
|
|
22
21
|
const instrumentation_http_1 = require("@opentelemetry/instrumentation-http");
|
|
23
22
|
const instrumentation_pg_1 = require("@opentelemetry/instrumentation-pg");
|
|
24
23
|
const instrumentation_redis_1 = require("@opentelemetry/instrumentation-redis");
|
|
25
24
|
// Resource detectors go here.
|
|
26
25
|
const resource_detector_aws_1 = require("@opentelemetry/resource-detector-aws");
|
|
27
|
-
const resources_2 = require("@opentelemetry/resources");
|
|
28
26
|
/**
|
|
29
27
|
* Extends `BatchSpanProcessor` to give it the ability to filter out spans
|
|
30
28
|
* before they're queued up to send. This enhances our sampling process so
|
|
@@ -68,7 +66,7 @@ const instrumentations = [
|
|
|
68
66
|
new instrumentation_aws_sdk_1.AwsInstrumentation(),
|
|
69
67
|
new instrumentation_connect_1.ConnectInstrumentation(),
|
|
70
68
|
new instrumentation_dns_1.DnsInstrumentation(),
|
|
71
|
-
new
|
|
69
|
+
new instrumentation_express_1.ExpressInstrumentation({
|
|
72
70
|
// We use a lot of middleware; it makes the traces way too noisy. If we
|
|
73
71
|
// want telemetry on a particular middleware, we should instrument it
|
|
74
72
|
// manually.
|
|
@@ -217,7 +215,7 @@ async function init(config) {
|
|
|
217
215
|
// then can we actually start requiring all of our code that loads our config
|
|
218
216
|
// and ultimately tells us how to configure OpenTelemetry.
|
|
219
217
|
let resource = await (0, resources_1.detectResources)({
|
|
220
|
-
detectors: [resource_detector_aws_1.awsEc2Detector,
|
|
218
|
+
detectors: [resource_detector_aws_1.awsEc2Detector, resources_1.processDetector, resources_1.envDetector],
|
|
221
219
|
});
|
|
222
220
|
if (config.serviceName) {
|
|
223
221
|
resource = resource.merge(new resources_1.Resource({ [semantic_conventions_1.SemanticResourceAttributes.SERVICE_NAME]: config.serviceName }));
|
|
@@ -255,4 +253,12 @@ async function shutdown() {
|
|
|
255
253
|
}
|
|
256
254
|
}
|
|
257
255
|
exports.shutdown = shutdown;
|
|
256
|
+
/**
|
|
257
|
+
* Disables all OpenTelemetry instrumentations. This is useful for tests that
|
|
258
|
+
* need to access the unwrapped modules.
|
|
259
|
+
*/
|
|
260
|
+
function disableInstrumentations() {
|
|
261
|
+
instrumentations.forEach((i) => i.disable());
|
|
262
|
+
}
|
|
263
|
+
exports.disableInstrumentations = disableInstrumentations;
|
|
258
264
|
//# sourceMappingURL=init.js.map
|
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":";;;AAAA,2CAAsD;AAEtD,kEAAmE;AACnE,4DAMoC;AACpC,kEAYuC;AACvC,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/metrics.js
CHANGED
|
@@ -85,7 +85,7 @@ async function createObservableValueGauges(meter, name, options, observe) {
|
|
|
85
85
|
const intervalId = setInterval(() => {
|
|
86
86
|
Promise.resolve(observe())
|
|
87
87
|
.then((value) => {
|
|
88
|
-
min = count
|
|
88
|
+
min = count === 0 ? value : Math.min(min, value);
|
|
89
89
|
max = Math.max(max, value);
|
|
90
90
|
sum += value;
|
|
91
91
|
count += 1;
|
package/dist/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../src/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/tracing.test.js
CHANGED
|
@@ -6,7 +6,7 @@ const index_1 = require("./index");
|
|
|
6
6
|
const context_async_hooks_1 = require("@opentelemetry/context-async-hooks");
|
|
7
7
|
describe('instrumented', () => {
|
|
8
8
|
let contextManager;
|
|
9
|
-
|
|
9
|
+
const exporter = new sdk_node_1.tracing.InMemorySpanExporter();
|
|
10
10
|
before(async () => {
|
|
11
11
|
await (0, index_1.init)({
|
|
12
12
|
openTelemetryEnabled: true,
|
package/dist/tracing.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracing.test.js","sourceRoot":"","sources":["../src/tracing.test.ts"],"names":[],"mappings":";;AAAA,sDAAkD;AAClD,+BAA8B;AAE9B,mCAA6E;AAC7E,4EAA8E;AAE9E,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,IAAI,cAAwC,CAAC;IAC7C,
|
|
1
|
+
{"version":3,"file":"tracing.test.js","sourceRoot":"","sources":["../src/tracing.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,43 +1,48 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prairielearn/opentelemetry",
|
|
3
|
-
"version": "1.8.
|
|
3
|
+
"version": "1.8.2",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/PrairieLearn/PrairieLearn.git",
|
|
8
|
+
"directory": "packages/opentelemetry"
|
|
9
|
+
},
|
|
5
10
|
"scripts": {
|
|
6
11
|
"build": "tsc",
|
|
7
12
|
"dev": "tsc --watch --preserveWatchOutput",
|
|
8
13
|
"test": "mocha --no-config --require ts-node/register src/**/*.test.ts"
|
|
9
14
|
},
|
|
10
15
|
"dependencies": {
|
|
11
|
-
"@grpc/grpc-js": "^1.8.
|
|
12
|
-
"@opentelemetry/api": "^1.4.
|
|
13
|
-
"@opentelemetry/core": "^1.
|
|
14
|
-
"@opentelemetry/exporter-jaeger": "^1.
|
|
15
|
-
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.
|
|
16
|
-
"@opentelemetry/exporter-trace-otlp-grpc": "^0.
|
|
17
|
-
"@opentelemetry/instrumentation": "^0.
|
|
18
|
-
"@opentelemetry/instrumentation-aws-sdk": "^0.34.
|
|
19
|
-
"@opentelemetry/instrumentation-connect": "^0.31.
|
|
20
|
-
"@opentelemetry/instrumentation-dns": "^0.31.
|
|
21
|
-
"@opentelemetry/instrumentation-express": "^0.32.
|
|
22
|
-
"@opentelemetry/instrumentation-http": "^0.
|
|
23
|
-
"@opentelemetry/instrumentation-pg": "^0.
|
|
24
|
-
"@opentelemetry/instrumentation-redis": "^0.34.
|
|
25
|
-
"@opentelemetry/resource-detector-aws": "^1.2.
|
|
26
|
-
"@opentelemetry/resources": "^1.
|
|
27
|
-
"@opentelemetry/sdk-metrics": "^1.
|
|
28
|
-
"@opentelemetry/sdk-node": "^0.
|
|
29
|
-
"@opentelemetry/sdk-trace-base": "^1.
|
|
30
|
-
"@opentelemetry/sdk-trace-node": "^1.
|
|
31
|
-
"@opentelemetry/semantic-conventions": "^1.
|
|
16
|
+
"@grpc/grpc-js": "^1.8.17",
|
|
17
|
+
"@opentelemetry/api": "^1.4.1",
|
|
18
|
+
"@opentelemetry/core": "^1.15.0",
|
|
19
|
+
"@opentelemetry/exporter-jaeger": "^1.15.0",
|
|
20
|
+
"@opentelemetry/exporter-metrics-otlp-grpc": "^0.41.0",
|
|
21
|
+
"@opentelemetry/exporter-trace-otlp-grpc": "^0.41.0",
|
|
22
|
+
"@opentelemetry/instrumentation": "^0.41.0",
|
|
23
|
+
"@opentelemetry/instrumentation-aws-sdk": "^0.34.3",
|
|
24
|
+
"@opentelemetry/instrumentation-connect": "^0.31.4",
|
|
25
|
+
"@opentelemetry/instrumentation-dns": "^0.31.5",
|
|
26
|
+
"@opentelemetry/instrumentation-express": "^0.32.4",
|
|
27
|
+
"@opentelemetry/instrumentation-http": "^0.41.0",
|
|
28
|
+
"@opentelemetry/instrumentation-pg": "^0.35.3",
|
|
29
|
+
"@opentelemetry/instrumentation-redis": "^0.34.7",
|
|
30
|
+
"@opentelemetry/resource-detector-aws": "^1.2.5",
|
|
31
|
+
"@opentelemetry/resources": "^1.15.0",
|
|
32
|
+
"@opentelemetry/sdk-metrics": "^1.15.0",
|
|
33
|
+
"@opentelemetry/sdk-node": "^0.41.0",
|
|
34
|
+
"@opentelemetry/sdk-trace-base": "^1.15.0",
|
|
35
|
+
"@opentelemetry/sdk-trace-node": "^1.15.0",
|
|
36
|
+
"@opentelemetry/semantic-conventions": "^1.15.0"
|
|
32
37
|
},
|
|
33
38
|
"devDependencies": {
|
|
34
|
-
"@prairielearn/tsconfig": "
|
|
35
|
-
"@types/chai": "^4.3.
|
|
39
|
+
"@prairielearn/tsconfig": "^0.0.0",
|
|
40
|
+
"@types/chai": "^4.3.5",
|
|
36
41
|
"@types/mocha": "^10.0.1",
|
|
37
|
-
"@types/node": "^18.
|
|
42
|
+
"@types/node": "^18.16.19",
|
|
38
43
|
"chai": "^4.3.7",
|
|
39
44
|
"mocha": "^10.2.0",
|
|
40
45
|
"ts-node": "^10.9.1",
|
|
41
|
-
"typescript": "^
|
|
46
|
+
"typescript": "^5.1.6"
|
|
42
47
|
}
|
|
43
48
|
}
|
package/src/index.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { trace, metrics, context, SpanStatusCode, ValueType } from '@opentelemetry/api';
|
|
2
2
|
export { suppressTracing } from '@opentelemetry/core';
|
|
3
3
|
|
|
4
|
-
export { init, shutdown } from './init';
|
|
4
|
+
export { init, shutdown, disableInstrumentations } from './init';
|
|
5
5
|
export { instrumented } from './tracing';
|
|
6
6
|
export {
|
|
7
7
|
instrumentedWithMetrics,
|
package/src/init.ts
CHANGED
|
@@ -21,9 +21,8 @@ import {
|
|
|
21
21
|
Sampler,
|
|
22
22
|
ConsoleSpanExporter,
|
|
23
23
|
} from '@opentelemetry/sdk-trace-base';
|
|
24
|
-
import { detectResources, Resource } from '@opentelemetry/resources';
|
|
24
|
+
import { detectResources, processDetector, envDetector, Resource } from '@opentelemetry/resources';
|
|
25
25
|
import { SemanticResourceAttributes } from '@opentelemetry/semantic-conventions';
|
|
26
|
-
import { ExpressLayerType } from '@opentelemetry/instrumentation-express';
|
|
27
26
|
import { metrics } from '@opentelemetry/api';
|
|
28
27
|
import { hrTimeToMilliseconds } from '@opentelemetry/core';
|
|
29
28
|
|
|
@@ -36,14 +35,13 @@ import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc';
|
|
|
36
35
|
import { AwsInstrumentation } from '@opentelemetry/instrumentation-aws-sdk';
|
|
37
36
|
import { ConnectInstrumentation } from '@opentelemetry/instrumentation-connect';
|
|
38
37
|
import { DnsInstrumentation } from '@opentelemetry/instrumentation-dns';
|
|
39
|
-
import { ExpressInstrumentation } from '@opentelemetry/instrumentation-express';
|
|
38
|
+
import { ExpressLayerType, ExpressInstrumentation } from '@opentelemetry/instrumentation-express';
|
|
40
39
|
import { HttpInstrumentation } from '@opentelemetry/instrumentation-http';
|
|
41
40
|
import { PgInstrumentation } from '@opentelemetry/instrumentation-pg';
|
|
42
41
|
import { RedisInstrumentation } from '@opentelemetry/instrumentation-redis';
|
|
43
42
|
|
|
44
43
|
// Resource detectors go here.
|
|
45
44
|
import { awsEc2Detector } from '@opentelemetry/resource-detector-aws';
|
|
46
|
-
import { processDetector, envDetector } from '@opentelemetry/resources';
|
|
47
45
|
|
|
48
46
|
/**
|
|
49
47
|
* Extends `BatchSpanProcessor` to give it the ability to filter out spans
|
|
@@ -205,7 +203,7 @@ function getMetricExporter(config: OpenTelemetryConfig): PushMetricExporter | nu
|
|
|
205
203
|
});
|
|
206
204
|
default:
|
|
207
205
|
throw new Error(
|
|
208
|
-
`Unknown OpenTelemetry metric exporter: ${config.openTelemetryMetricExporter}
|
|
206
|
+
`Unknown OpenTelemetry metric exporter: ${config.openTelemetryMetricExporter}`,
|
|
209
207
|
);
|
|
210
208
|
}
|
|
211
209
|
}
|
|
@@ -277,7 +275,7 @@ export async function init(config: OpenTelemetryConfig) {
|
|
|
277
275
|
|
|
278
276
|
if (config.serviceName) {
|
|
279
277
|
resource = resource.merge(
|
|
280
|
-
new Resource({ [SemanticResourceAttributes.SERVICE_NAME]: config.serviceName })
|
|
278
|
+
new Resource({ [SemanticResourceAttributes.SERVICE_NAME]: config.serviceName }),
|
|
281
279
|
);
|
|
282
280
|
}
|
|
283
281
|
|
|
@@ -315,3 +313,11 @@ export async function shutdown(): Promise<void> {
|
|
|
315
313
|
tracerProvider = null;
|
|
316
314
|
}
|
|
317
315
|
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Disables all OpenTelemetry instrumentations. This is useful for tests that
|
|
319
|
+
* need to access the unwrapped modules.
|
|
320
|
+
*/
|
|
321
|
+
export function disableInstrumentations() {
|
|
322
|
+
instrumentations.forEach((i) => i.disable());
|
|
323
|
+
}
|
package/src/metrics.test.ts
CHANGED
package/src/metrics.ts
CHANGED
|
@@ -21,7 +21,7 @@ function getCachedMetric<T>(
|
|
|
21
21
|
cache: WeakMap<Meter, Map<string, T>>,
|
|
22
22
|
meter: Meter,
|
|
23
23
|
name: string,
|
|
24
|
-
create: () => T
|
|
24
|
+
create: () => T,
|
|
25
25
|
): T {
|
|
26
26
|
let meterCache = cache.get(meter);
|
|
27
27
|
if (!meterCache) {
|
|
@@ -48,32 +48,32 @@ export function getCounter(meter: Meter, name: string, options?: MetricOptions)
|
|
|
48
48
|
|
|
49
49
|
export function getUpDownCounter(meter: Meter, name: string, options?: MetricOptions) {
|
|
50
50
|
return getCachedMetric(upDownCounterCache, meter, name, () =>
|
|
51
|
-
meter.createUpDownCounter(name, options)
|
|
51
|
+
meter.createUpDownCounter(name, options),
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
export function getObservableCounter(meter: Meter, name: string, options?: MetricOptions) {
|
|
56
56
|
return getCachedMetric(observableCounterCache, meter, name, () =>
|
|
57
|
-
meter.createObservableCounter(name, options)
|
|
57
|
+
meter.createObservableCounter(name, options),
|
|
58
58
|
);
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
export function getObservableUpDownCounter(meter: Meter, name: string, options?: MetricOptions) {
|
|
62
62
|
return getCachedMetric(observableUpDownCounterCache, meter, name, () =>
|
|
63
|
-
meter.createObservableUpDownCounter(name, options)
|
|
63
|
+
meter.createObservableUpDownCounter(name, options),
|
|
64
64
|
);
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
export function getObservableGauge(meter: Meter, name: string, options?: MetricOptions) {
|
|
68
68
|
return getCachedMetric(observableGaugeCache, meter, name, () =>
|
|
69
|
-
meter.createObservableGauge(name, options)
|
|
69
|
+
meter.createObservableGauge(name, options),
|
|
70
70
|
);
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
export async function instrumentedWithMetrics<T>(
|
|
74
74
|
meter: Meter,
|
|
75
75
|
name: string,
|
|
76
|
-
fn: () => Promise<T> | T
|
|
76
|
+
fn: () => Promise<T> | T,
|
|
77
77
|
): Promise<T> {
|
|
78
78
|
const error = getCounter(meter, `${name}.error`, { valueType: ValueType.INT });
|
|
79
79
|
const histogram = getHistogram(meter, `${name}.duration`, {
|
|
@@ -111,7 +111,7 @@ export async function createObservableValueGauges(
|
|
|
111
111
|
meter: Meter,
|
|
112
112
|
name: string,
|
|
113
113
|
options: createObservableValueGaugesOptions,
|
|
114
|
-
observe: () => number
|
|
114
|
+
observe: () => number,
|
|
115
115
|
) {
|
|
116
116
|
const { interval, ...metricOptions } = options;
|
|
117
117
|
|
|
@@ -124,7 +124,7 @@ export async function createObservableValueGauges(
|
|
|
124
124
|
const intervalId = setInterval(() => {
|
|
125
125
|
Promise.resolve(observe())
|
|
126
126
|
.then((value) => {
|
|
127
|
-
min = count
|
|
127
|
+
min = count === 0 ? value : Math.min(min, value);
|
|
128
128
|
max = Math.max(max, value);
|
|
129
129
|
sum += value;
|
|
130
130
|
count += 1;
|
package/src/tracing.test.ts
CHANGED
|
@@ -6,7 +6,7 @@ import { AsyncHooksContextManager } from '@opentelemetry/context-async-hooks';
|
|
|
6
6
|
|
|
7
7
|
describe('instrumented', () => {
|
|
8
8
|
let contextManager: AsyncHooksContextManager;
|
|
9
|
-
|
|
9
|
+
const exporter = new tracing.InMemorySpanExporter();
|
|
10
10
|
|
|
11
11
|
before(async () => {
|
|
12
12
|
await init({
|
package/src/tracing.ts
CHANGED
package/tsconfig.json
CHANGED