@zuplo/cli 6.72.10 → 6.72.12
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/node_modules/@posthog/core/dist/index.d.ts +2 -2
- package/node_modules/@posthog/core/dist/index.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/index.js +9 -0
- package/node_modules/@posthog/core/dist/index.mjs +2 -2
- package/node_modules/@posthog/core/dist/metrics/config.d.ts +9 -0
- package/node_modules/@posthog/core/dist/metrics/config.d.ts.map +1 -0
- package/node_modules/@posthog/core/dist/metrics/config.js +49 -0
- package/node_modules/@posthog/core/dist/metrics/config.mjs +15 -0
- package/node_modules/@posthog/core/dist/metrics/index.d.ts +8 -1
- package/node_modules/@posthog/core/dist/metrics/index.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/metrics/index.js +39 -19
- package/node_modules/@posthog/core/dist/metrics/index.mjs +36 -19
- package/node_modules/@posthog/core/dist/metrics/types.d.ts +1 -1
- package/node_modules/@posthog/core/dist/metrics/types.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts +9 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.js +44 -1
- package/node_modules/@posthog/core/dist/posthog-core-stateless.mjs +44 -1
- package/node_modules/@posthog/core/dist/posthog-core.d.ts.map +1 -1
- package/node_modules/@posthog/core/dist/posthog-core.js +2 -1
- package/node_modules/@posthog/core/dist/posthog-core.mjs +2 -1
- package/node_modules/@posthog/core/dist/types.d.ts +2 -0
- package/node_modules/@posthog/core/dist/types.d.ts.map +1 -1
- package/node_modules/@posthog/core/package.json +2 -2
- package/node_modules/@posthog/core/src/index.ts +3 -0
- package/node_modules/@posthog/core/src/metrics/config.ts +23 -0
- package/node_modules/@posthog/core/src/metrics/index.spec.ts +49 -0
- package/node_modules/@posthog/core/src/metrics/index.ts +66 -24
- package/node_modules/@posthog/core/src/metrics/types.ts +1 -0
- package/node_modules/@posthog/core/src/posthog-core-stateless.ts +52 -2
- package/node_modules/@posthog/core/src/posthog-core.ts +1 -0
- package/node_modules/@posthog/core/src/types.ts +2 -0
- package/node_modules/@posthog/types/dist/feature-flags.d.ts +2 -0
- package/node_modules/@posthog/types/dist/feature-flags.d.ts.map +1 -1
- package/node_modules/@posthog/types/package.json +1 -1
- package/node_modules/@posthog/types/src/feature-flags.ts +2 -0
- package/node_modules/@zuplo/core/package.json +1 -1
- package/node_modules/@zuplo/graphql/package.json +1 -1
- package/node_modules/@zuplo/openapi-tools/package.json +1 -1
- package/node_modules/@zuplo/otel/package.json +1 -1
- package/node_modules/@zuplo/runtime/out/esm/{chunk-NIKKAYJU.js → chunk-UC4YZB5V.js} +3 -3
- package/node_modules/@zuplo/runtime/out/esm/chunk-UC4YZB5V.js.map +1 -0
- package/node_modules/@zuplo/runtime/out/esm/index.js +1 -1
- package/node_modules/@zuplo/runtime/out/esm/mcp-gateway/index.js +1 -1
- package/node_modules/@zuplo/runtime/package.json +1 -1
- package/package.json +6 -6
- package/node_modules/@zuplo/runtime/out/esm/chunk-NIKKAYJU.js.map +0 -1
- /package/node_modules/@zuplo/runtime/out/esm/{chunk-NIKKAYJU.js.LEGAL.txt → chunk-UC4YZB5V.js.LEGAL.txt} +0 -0
|
@@ -7,9 +7,9 @@ export { PostHogLogs } from './logs';
|
|
|
7
7
|
export type { BeforeSendLogFn, BufferedLogEntry, CaptureLogger, LogSdkContext, PostHogLogsConfig, ResolvedPostHogLogsConfig, } from './logs/types';
|
|
8
8
|
export type { CaptureLogOptions, LogAttributeValue, LogAttributes, LogSeverityLevel } from './logs/types';
|
|
9
9
|
export type { ExceptionRateLimiterConfig } from '@posthog/types';
|
|
10
|
-
export { PostHogMetrics, buildOtlpMetricsPayload, buildMetricsResourceAttributes, DEFAULT_HISTOGRAM_BOUNDS, } from './metrics';
|
|
10
|
+
export { PostHogMetrics, buildOtlpMetricsPayload, buildMetricsResourceAttributes, DEFAULT_HISTOGRAM_BOUNDS, resolveMetricsConfig, } from './metrics';
|
|
11
11
|
export type { MetricsHost, PostHogMetricsConfig, ResolvedPostHogMetricsConfig, SendMetricsBatchOutcome, } from './metrics';
|
|
12
|
-
export type { CaptureMetricOptions, MetricAttributes, MetricAttributeValue, MetricSample, MetricType, } from './metrics/types';
|
|
12
|
+
export type { CaptureMetricOptions, MetricAttributes, MetricAttributeValue, MetricSample, MetricType, Metrics, MetricsConfig, } from './metrics/types';
|
|
13
13
|
export { uuidv7 } from './vendor/uuidv7';
|
|
14
14
|
export * from './cookie';
|
|
15
15
|
export * from './posthog-core';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,QAAQ,CAAA;AACf,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AAIrB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,GACrB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,QAAQ,CAAA;AACf,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AAIrB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAChE,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
|
|
@@ -112,6 +112,7 @@ var __webpack_exports__ = {};
|
|
|
112
112
|
isNativeAsyncGzipError: ()=>_gzip__WEBPACK_IMPORTED_MODULE_1__.isNativeAsyncGzipError,
|
|
113
113
|
isNativeAsyncGzipReadError: ()=>_gzip__WEBPACK_IMPORTED_MODULE_1__.isNativeAsyncGzipReadError,
|
|
114
114
|
parsePayload: ()=>_featureFlagUtils__WEBPACK_IMPORTED_MODULE_0__.parsePayload,
|
|
115
|
+
resolveMetricsConfig: ()=>_metrics__WEBPACK_IMPORTED_MODULE_6__.resolveMetricsConfig,
|
|
115
116
|
toOtlpAnyValue: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.toOtlpAnyValue,
|
|
116
117
|
toOtlpKeyValueList: ()=>_logs_logs_utils__WEBPACK_IMPORTED_MODULE_4__.toOtlpKeyValueList,
|
|
117
118
|
uuidv7: ()=>_vendor_uuidv7__WEBPACK_IMPORTED_MODULE_7__.uuidv7
|
|
@@ -143,6 +144,7 @@ var __webpack_exports__ = {};
|
|
|
143
144
|
"getFeatureFlagValue",
|
|
144
145
|
"getValidationError",
|
|
145
146
|
"default",
|
|
147
|
+
"resolveMetricsConfig",
|
|
146
148
|
"getRequirementsHint",
|
|
147
149
|
"isGzipData",
|
|
148
150
|
"getOtlpSeverityNumber",
|
|
@@ -184,6 +186,7 @@ var __webpack_exports__ = {};
|
|
|
184
186
|
"getFeatureFlagValue",
|
|
185
187
|
"getValidationError",
|
|
186
188
|
"default",
|
|
189
|
+
"resolveMetricsConfig",
|
|
187
190
|
"getRequirementsHint",
|
|
188
191
|
"isGzipData",
|
|
189
192
|
"getOtlpSeverityNumber",
|
|
@@ -220,6 +223,7 @@ var __webpack_exports__ = {};
|
|
|
220
223
|
"getFeatureFlagValue",
|
|
221
224
|
"getValidationError",
|
|
222
225
|
"default",
|
|
226
|
+
"resolveMetricsConfig",
|
|
223
227
|
"getRequirementsHint",
|
|
224
228
|
"isGzipData",
|
|
225
229
|
"getOtlpSeverityNumber",
|
|
@@ -256,6 +260,7 @@ var __webpack_exports__ = {};
|
|
|
256
260
|
"getFeatureFlagValue",
|
|
257
261
|
"getValidationError",
|
|
258
262
|
"default",
|
|
263
|
+
"resolveMetricsConfig",
|
|
259
264
|
"getRequirementsHint",
|
|
260
265
|
"isGzipData",
|
|
261
266
|
"getOtlpSeverityNumber",
|
|
@@ -292,6 +297,7 @@ var __webpack_exports__ = {};
|
|
|
292
297
|
"getFeatureFlagValue",
|
|
293
298
|
"getValidationError",
|
|
294
299
|
"default",
|
|
300
|
+
"resolveMetricsConfig",
|
|
295
301
|
"getRequirementsHint",
|
|
296
302
|
"isGzipData",
|
|
297
303
|
"getOtlpSeverityNumber",
|
|
@@ -328,6 +334,7 @@ var __webpack_exports__ = {};
|
|
|
328
334
|
"getFeatureFlagValue",
|
|
329
335
|
"getValidationError",
|
|
330
336
|
"default",
|
|
337
|
+
"resolveMetricsConfig",
|
|
331
338
|
"getRequirementsHint",
|
|
332
339
|
"isGzipData",
|
|
333
340
|
"getOtlpSeverityNumber",
|
|
@@ -366,6 +373,7 @@ exports.isGzipSupported = __webpack_exports__.isGzipSupported;
|
|
|
366
373
|
exports.isNativeAsyncGzipError = __webpack_exports__.isNativeAsyncGzipError;
|
|
367
374
|
exports.isNativeAsyncGzipReadError = __webpack_exports__.isNativeAsyncGzipReadError;
|
|
368
375
|
exports.parsePayload = __webpack_exports__.parsePayload;
|
|
376
|
+
exports.resolveMetricsConfig = __webpack_exports__.resolveMetricsConfig;
|
|
369
377
|
exports.toOtlpAnyValue = __webpack_exports__.toOtlpAnyValue;
|
|
370
378
|
exports.toOtlpKeyValueList = __webpack_exports__.toOtlpKeyValueList;
|
|
371
379
|
exports.uuidv7 = __webpack_exports__.uuidv7;
|
|
@@ -395,6 +403,7 @@ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
|
395
403
|
"isNativeAsyncGzipError",
|
|
396
404
|
"isNativeAsyncGzipReadError",
|
|
397
405
|
"parsePayload",
|
|
406
|
+
"resolveMetricsConfig",
|
|
398
407
|
"toOtlpAnyValue",
|
|
399
408
|
"toOtlpKeyValueList",
|
|
400
409
|
"uuidv7"
|
|
@@ -2,7 +2,7 @@ import { flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getVari
|
|
|
2
2
|
import { gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError } from "./gzip.mjs";
|
|
3
3
|
import { buildOtlpLogRecord, buildOtlpLogsPayload, buildResourceAttributes, getOtlpSeverityNumber, getOtlpSeverityText, toOtlpAnyValue, toOtlpKeyValueList } from "./logs/logs-utils.mjs";
|
|
4
4
|
import { PostHogLogs } from "./logs/index.mjs";
|
|
5
|
-
import { DEFAULT_HISTOGRAM_BOUNDS, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpMetricsPayload } from "./metrics/index.mjs";
|
|
5
|
+
import { DEFAULT_HISTOGRAM_BOUNDS, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpMetricsPayload, resolveMetricsConfig } from "./metrics/index.mjs";
|
|
6
6
|
import { uuidv7 } from "./vendor/uuidv7.mjs";
|
|
7
7
|
import { getLengthFromRules, getRequirementsHint, getValidationError } from "./surveys/validation.mjs";
|
|
8
8
|
export * from "./utils/index.mjs";
|
|
@@ -12,4 +12,4 @@ export * from "./posthog-core-stateless.mjs";
|
|
|
12
12
|
export * from "./tracing-headers.mjs";
|
|
13
13
|
export * from "./types.mjs";
|
|
14
14
|
import * as __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ from "./error-tracking/index.mjs";
|
|
15
|
-
export { DEFAULT_HISTOGRAM_BOUNDS, __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, PostHogLogs, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpLogRecord, buildOtlpLogsPayload, buildOtlpMetricsPayload, buildResourceAttributes, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getLengthFromRules, getOtlpSeverityNumber, getOtlpSeverityText, getRequirementsHint, getValidationError, getVariantFromValue, gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, parsePayload, toOtlpAnyValue, toOtlpKeyValueList, uuidv7 };
|
|
15
|
+
export { DEFAULT_HISTOGRAM_BOUNDS, __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, PostHogLogs, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpLogRecord, buildOtlpLogsPayload, buildOtlpMetricsPayload, buildResourceAttributes, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getLengthFromRules, getOtlpSeverityNumber, getOtlpSeverityText, getRequirementsHint, getValidationError, getVariantFromValue, gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, parsePayload, resolveMetricsConfig, toOtlpAnyValue, toOtlpKeyValueList, uuidv7 };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { MetricsConfig } from '@posthog/types';
|
|
2
|
+
import type { ResolvedPostHogMetricsConfig } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Resolves the public `metrics` config into the shape `PostHogMetrics`
|
|
5
|
+
* consumes. Same precedence rule as logs: OTLP keys in `resourceAttributes`
|
|
6
|
+
* win over the named config fields.
|
|
7
|
+
*/
|
|
8
|
+
export declare function resolveMetricsConfig(config: MetricsConfig | undefined): ResolvedPostHogMetricsConfig;
|
|
9
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/metrics/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AAK3D;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,4BAA4B,CAWpG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, definition)=>{
|
|
5
|
+
for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
6
|
+
enumerable: true,
|
|
7
|
+
get: definition[key]
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
})();
|
|
11
|
+
(()=>{
|
|
12
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
13
|
+
})();
|
|
14
|
+
(()=>{
|
|
15
|
+
__webpack_require__.r = (exports1)=>{
|
|
16
|
+
if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
17
|
+
value: 'Module'
|
|
18
|
+
});
|
|
19
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
20
|
+
value: true
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
var __webpack_exports__ = {};
|
|
25
|
+
__webpack_require__.r(__webpack_exports__);
|
|
26
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
27
|
+
resolveMetricsConfig: ()=>resolveMetricsConfig
|
|
28
|
+
});
|
|
29
|
+
const DEFAULT_FLUSH_INTERVAL_MS = 10000;
|
|
30
|
+
const DEFAULT_MAX_SERIES_PER_FLUSH = 1000;
|
|
31
|
+
function resolveMetricsConfig(config) {
|
|
32
|
+
const resourceAttributes = config?.resourceAttributes;
|
|
33
|
+
return {
|
|
34
|
+
serviceName: resourceAttributes?.['service.name'] ?? config?.serviceName,
|
|
35
|
+
serviceVersion: resourceAttributes?.['service.version'] ?? config?.serviceVersion,
|
|
36
|
+
environment: resourceAttributes?.['deployment.environment'] ?? config?.environment,
|
|
37
|
+
resourceAttributes,
|
|
38
|
+
beforeSend: config?.beforeSend,
|
|
39
|
+
flushIntervalMs: config?.flushIntervalMs ?? DEFAULT_FLUSH_INTERVAL_MS,
|
|
40
|
+
maxSeriesPerFlush: config?.maxSeriesPerFlush ?? DEFAULT_MAX_SERIES_PER_FLUSH
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
exports.resolveMetricsConfig = __webpack_exports__.resolveMetricsConfig;
|
|
44
|
+
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
45
|
+
"resolveMetricsConfig"
|
|
46
|
+
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
47
|
+
Object.defineProperty(exports, '__esModule', {
|
|
48
|
+
value: true
|
|
49
|
+
});
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const DEFAULT_FLUSH_INTERVAL_MS = 10000;
|
|
2
|
+
const DEFAULT_MAX_SERIES_PER_FLUSH = 1000;
|
|
3
|
+
function resolveMetricsConfig(config) {
|
|
4
|
+
const resourceAttributes = config?.resourceAttributes;
|
|
5
|
+
return {
|
|
6
|
+
serviceName: resourceAttributes?.['service.name'] ?? config?.serviceName,
|
|
7
|
+
serviceVersion: resourceAttributes?.['service.version'] ?? config?.serviceVersion,
|
|
8
|
+
environment: resourceAttributes?.['deployment.environment'] ?? config?.environment,
|
|
9
|
+
resourceAttributes,
|
|
10
|
+
beforeSend: config?.beforeSend,
|
|
11
|
+
flushIntervalMs: config?.flushIntervalMs ?? DEFAULT_FLUSH_INTERVAL_MS,
|
|
12
|
+
maxSeriesPerFlush: config?.maxSeriesPerFlush ?? DEFAULT_MAX_SERIES_PER_FLUSH
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export { resolveMetricsConfig };
|
|
@@ -25,6 +25,7 @@ export declare class PostHogMetrics {
|
|
|
25
25
|
private _seriesCapWarned;
|
|
26
26
|
private _typeByName;
|
|
27
27
|
private _typeCollisionWarned;
|
|
28
|
+
private _generation;
|
|
28
29
|
constructor(_instance: MetricsHost, _config: ResolvedPostHogMetricsConfig, _logger: Logger);
|
|
29
30
|
count(name: string, value?: number, options?: CaptureMetricOptions): void;
|
|
30
31
|
gauge(name: string, value: number, options?: CaptureMetricOptions): void;
|
|
@@ -39,9 +40,14 @@ export declare class PostHogMetrics {
|
|
|
39
40
|
* send. The caller owns delivery; there is no retry for a drained window.
|
|
40
41
|
*/
|
|
41
42
|
drainWindow(): OtlpMetricsPayload | null;
|
|
42
|
-
/** Clears the flush timer
|
|
43
|
+
/** Clears the flush timer, drops the current window, and invalidates in-flight flushes. */
|
|
43
44
|
reset(): void;
|
|
44
45
|
private _capture;
|
|
46
|
+
/**
|
|
47
|
+
* Cardinality gate for adding a series to the live window — warns once per
|
|
48
|
+
* window when the cap is hit. Applied on capture and on merge-back alike.
|
|
49
|
+
*/
|
|
50
|
+
private _admitNewSeries;
|
|
45
51
|
private _fold;
|
|
46
52
|
private _runBeforeSend;
|
|
47
53
|
private _armFlushTimer;
|
|
@@ -57,5 +63,6 @@ export declare class PostHogMetrics {
|
|
|
57
63
|
private _mergeWindowBack;
|
|
58
64
|
}
|
|
59
65
|
export { buildOtlpMetricsPayload, buildMetricsResourceAttributes, DEFAULT_HISTOGRAM_BOUNDS } from './metrics-utils';
|
|
66
|
+
export { resolveMetricsConfig } from './config';
|
|
60
67
|
export type { MetricsHost, PostHogMetricsConfig, ResolvedPostHogMetricsConfig, SendMetricsBatchOutcome } from './types';
|
|
61
68
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAMpB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAWtC,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AA2BxE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metrics/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EAMpB,kBAAkB,EAEnB,MAAM,gBAAgB,CAAA;AACvB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAWtC,OAAO,KAAK,EAAE,WAAW,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAA;AA2BxE;;;;;;;;;;;;;GAaG;AACH,qBAAa,cAAc;IAmBvB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAC1B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,OAAO;IApB1B,OAAO,CAAC,OAAO,CAAiC;IAChD,OAAO,CAAC,WAAW,CAAC,CAAmC;IAGvD,OAAO,CAAC,aAAa,CAA6B;IAElD,OAAO,CAAC,gBAAgB,CAAQ;IAIhC,OAAO,CAAC,WAAW,CAAgC;IACnD,OAAO,CAAC,oBAAoB,CAAoB;IAIhD,OAAO,CAAC,WAAW,CAAI;gBAGJ,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,4BAA4B,EACrC,OAAO,EAAE,MAAM;IAGlC,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAU,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAI5E,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAIxE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,IAAI;IAI5E,iFAAiF;IACjF,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtB;;;;;;OAMG;IACH,WAAW,IAAI,kBAAkB,GAAG,IAAI;IAYxC,2FAA2F;IAC3F,KAAK,IAAI,IAAI;IAUb,OAAO,CAAC,QAAQ;IAsEhB;;;OAGG;IACH,OAAO,CAAC,eAAe;IAcvB,OAAO,CAAC,KAAK;IA6Bb,OAAO,CAAC,cAAc;IAuBtB,OAAO,CAAC,cAAc;IAYtB,OAAO,CAAC,gBAAgB;YAOV,QAAQ;IAuCtB,OAAO,CAAC,aAAa;IASrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAwDrB,oFAAoF;IACpF,OAAO,CAAC,gBAAgB;CAqCzB;AAED,OAAO,EAAE,uBAAuB,EAAE,8BAA8B,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAA;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC/C,YAAY,EAAE,WAAW,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAA"}
|
|
@@ -27,11 +27,13 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
27
27
|
buildMetricsResourceAttributes: ()=>external_metrics_utils_js_namespaceObject.buildMetricsResourceAttributes,
|
|
28
28
|
PostHogMetrics: ()=>PostHogMetrics,
|
|
29
29
|
buildOtlpMetricsPayload: ()=>external_metrics_utils_js_namespaceObject.buildOtlpMetricsPayload,
|
|
30
|
+
resolveMetricsConfig: ()=>external_config_js_namespaceObject.resolveMetricsConfig,
|
|
30
31
|
DEFAULT_HISTOGRAM_BOUNDS: ()=>external_metrics_utils_js_namespaceObject.DEFAULT_HISTOGRAM_BOUNDS
|
|
31
32
|
});
|
|
32
33
|
const index_js_namespaceObject = require("../utils/index.js");
|
|
33
34
|
const logs_utils_js_namespaceObject = require("../logs/logs-utils.js");
|
|
34
35
|
const external_metrics_utils_js_namespaceObject = require("./metrics-utils.js");
|
|
36
|
+
const external_config_js_namespaceObject = require("./config.js");
|
|
35
37
|
const OTLP_TEMPORALITY_DELTA = 1;
|
|
36
38
|
class PostHogMetrics {
|
|
37
39
|
constructor(_instance, _config, _logger){
|
|
@@ -43,6 +45,7 @@ class PostHogMetrics {
|
|
|
43
45
|
this._seriesCapWarned = false;
|
|
44
46
|
this._typeByName = new Map();
|
|
45
47
|
this._typeCollisionWarned = new Set();
|
|
48
|
+
this._generation = 0;
|
|
46
49
|
}
|
|
47
50
|
count(name, value = 1, options) {
|
|
48
51
|
this._capture({
|
|
@@ -93,6 +96,7 @@ class PostHogMetrics {
|
|
|
93
96
|
return this._buildPayload(window);
|
|
94
97
|
}
|
|
95
98
|
reset() {
|
|
99
|
+
this._generation++;
|
|
96
100
|
this._clearFlushTimer();
|
|
97
101
|
this._series = new Map();
|
|
98
102
|
this._flushPromise = null;
|
|
@@ -107,36 +111,46 @@ class PostHogMetrics {
|
|
|
107
111
|
if (!filtered.name || 'string' != typeof filtered.name) return void this._logger.warn('Dropping metric with empty name');
|
|
108
112
|
if ('number' != typeof filtered.value || !Number.isFinite(filtered.value)) return void this._logger.warn(`Dropping metric '${filtered.name}': value must be a finite number`);
|
|
109
113
|
if ('count' === filtered.type && filtered.value < 0) return void this._logger.warn(`Dropping count '${filtered.name}': counters are monotonic, value must be >= 0`);
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
114
|
+
let attributes;
|
|
115
|
+
let key;
|
|
116
|
+
try {
|
|
117
|
+
attributes = filtered.attributes ? {
|
|
118
|
+
...filtered.attributes
|
|
119
|
+
} : void 0;
|
|
120
|
+
key = (0, external_metrics_utils_js_namespaceObject.seriesKey)(filtered.type, filtered.name, filtered.unit, attributes);
|
|
121
|
+
} catch (e) {
|
|
122
|
+
this._logger.warn(`Dropping metric '${filtered.name}': attributes could not be serialized`, e);
|
|
123
|
+
return;
|
|
115
124
|
}
|
|
116
|
-
const key = (0, external_metrics_utils_js_namespaceObject.seriesKey)(filtered.type, filtered.name, filtered.unit, filtered.attributes);
|
|
117
125
|
let state = this._series.get(key);
|
|
118
126
|
if (!state) {
|
|
119
|
-
if (this.
|
|
120
|
-
if (!this._seriesCapWarned) {
|
|
121
|
-
this._seriesCapWarned = true;
|
|
122
|
-
this._logger.warn(`Metric series cap reached (${this._config.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`);
|
|
123
|
-
}
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
127
|
+
if (!this._admitNewSeries()) return;
|
|
126
128
|
state = {
|
|
127
129
|
name: filtered.name,
|
|
128
130
|
type: filtered.type,
|
|
129
131
|
unit: filtered.unit,
|
|
130
|
-
attributes
|
|
131
|
-
...filtered.attributes
|
|
132
|
-
} : void 0,
|
|
132
|
+
attributes,
|
|
133
133
|
windowStartMs: Date.now()
|
|
134
134
|
};
|
|
135
135
|
this._series.set(key, state);
|
|
136
136
|
}
|
|
137
|
+
const seenType = this._typeByName.get(filtered.name);
|
|
138
|
+
if (void 0 === seenType) this._typeByName.set(filtered.name, filtered.type);
|
|
139
|
+
else if (seenType !== filtered.type && !this._typeCollisionWarned.has(filtered.name)) {
|
|
140
|
+
this._typeCollisionWarned.add(filtered.name);
|
|
141
|
+
this._logger.warn(`Metric name '${filtered.name}' is already used as a ${seenType}; recording it as a ${filtered.type} too will blend both series in charts. Use a distinct name.`);
|
|
142
|
+
}
|
|
137
143
|
this._fold(state, filtered.value);
|
|
138
144
|
this._armFlushTimer();
|
|
139
145
|
}
|
|
146
|
+
_admitNewSeries() {
|
|
147
|
+
if (this._series.size < this._config.maxSeriesPerFlush) return true;
|
|
148
|
+
if (!this._seriesCapWarned) {
|
|
149
|
+
this._seriesCapWarned = true;
|
|
150
|
+
this._logger.warn(`Metric series cap reached (${this._config.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`);
|
|
151
|
+
}
|
|
152
|
+
return false;
|
|
153
|
+
}
|
|
140
154
|
_fold(state, value) {
|
|
141
155
|
switch(state.type){
|
|
142
156
|
case 'count':
|
|
@@ -188,7 +202,9 @@ class PostHogMetrics {
|
|
|
188
202
|
if (this._flushTimer) return;
|
|
189
203
|
this._flushTimer = (0, index_js_namespaceObject.safeSetTimeout)(()=>{
|
|
190
204
|
this._flushTimer = void 0;
|
|
191
|
-
this.flush().catch(()=>{
|
|
205
|
+
this.flush().catch((e)=>{
|
|
206
|
+
this._logger.error('Metrics flush failed:', e);
|
|
207
|
+
});
|
|
192
208
|
}, this._config.flushIntervalMs);
|
|
193
209
|
}
|
|
194
210
|
_clearFlushTimer() {
|
|
@@ -204,7 +220,9 @@ class PostHogMetrics {
|
|
|
204
220
|
this._seriesCapWarned = false;
|
|
205
221
|
this._typeByName = new Map();
|
|
206
222
|
this._typeCollisionWarned = new Set();
|
|
223
|
+
const generation = this._generation;
|
|
207
224
|
const outcome = await this._instance._sendMetricsBatch(this._buildPayload(window));
|
|
225
|
+
if (generation !== this._generation) return;
|
|
208
226
|
switch(outcome.kind){
|
|
209
227
|
case 'ok':
|
|
210
228
|
return;
|
|
@@ -288,7 +306,7 @@ class PostHogMetrics {
|
|
|
288
306
|
for (const [key, old] of window){
|
|
289
307
|
const current = this._series.get(key);
|
|
290
308
|
if (!current) {
|
|
291
|
-
this._series.set(key, old);
|
|
309
|
+
if (this._admitNewSeries()) this._series.set(key, old);
|
|
292
310
|
continue;
|
|
293
311
|
}
|
|
294
312
|
current.windowStartMs = Math.min(current.windowStartMs, old.windowStartMs);
|
|
@@ -315,11 +333,13 @@ exports.DEFAULT_HISTOGRAM_BOUNDS = __webpack_exports__.DEFAULT_HISTOGRAM_BOUNDS;
|
|
|
315
333
|
exports.PostHogMetrics = __webpack_exports__.PostHogMetrics;
|
|
316
334
|
exports.buildMetricsResourceAttributes = __webpack_exports__.buildMetricsResourceAttributes;
|
|
317
335
|
exports.buildOtlpMetricsPayload = __webpack_exports__.buildOtlpMetricsPayload;
|
|
336
|
+
exports.resolveMetricsConfig = __webpack_exports__.resolveMetricsConfig;
|
|
318
337
|
for(var __webpack_i__ in __webpack_exports__)if (-1 === [
|
|
319
338
|
"DEFAULT_HISTOGRAM_BOUNDS",
|
|
320
339
|
"PostHogMetrics",
|
|
321
340
|
"buildMetricsResourceAttributes",
|
|
322
|
-
"buildOtlpMetricsPayload"
|
|
341
|
+
"buildOtlpMetricsPayload",
|
|
342
|
+
"resolveMetricsConfig"
|
|
323
343
|
].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
|
|
324
344
|
Object.defineProperty(exports, '__esModule', {
|
|
325
345
|
value: true
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { isArray, safeSetTimeout } from "../utils/index.mjs";
|
|
2
2
|
import { toOtlpKeyValueList } from "../logs/logs-utils.mjs";
|
|
3
3
|
import { DEFAULT_HISTOGRAM_BOUNDS, bucketIndexFor, buildMetricsResourceAttributes, buildOtlpMetricsPayload, msToUnixNano, seriesKey } from "./metrics-utils.mjs";
|
|
4
|
+
import { resolveMetricsConfig } from "./config.mjs";
|
|
4
5
|
const OTLP_TEMPORALITY_DELTA = 1;
|
|
5
6
|
class PostHogMetrics {
|
|
6
7
|
constructor(_instance, _config, _logger){
|
|
@@ -12,6 +13,7 @@ class PostHogMetrics {
|
|
|
12
13
|
this._seriesCapWarned = false;
|
|
13
14
|
this._typeByName = new Map();
|
|
14
15
|
this._typeCollisionWarned = new Set();
|
|
16
|
+
this._generation = 0;
|
|
15
17
|
}
|
|
16
18
|
count(name, value = 1, options) {
|
|
17
19
|
this._capture({
|
|
@@ -62,6 +64,7 @@ class PostHogMetrics {
|
|
|
62
64
|
return this._buildPayload(window);
|
|
63
65
|
}
|
|
64
66
|
reset() {
|
|
67
|
+
this._generation++;
|
|
65
68
|
this._clearFlushTimer();
|
|
66
69
|
this._series = new Map();
|
|
67
70
|
this._flushPromise = null;
|
|
@@ -76,36 +79,46 @@ class PostHogMetrics {
|
|
|
76
79
|
if (!filtered.name || 'string' != typeof filtered.name) return void this._logger.warn('Dropping metric with empty name');
|
|
77
80
|
if ('number' != typeof filtered.value || !Number.isFinite(filtered.value)) return void this._logger.warn(`Dropping metric '${filtered.name}': value must be a finite number`);
|
|
78
81
|
if ('count' === filtered.type && filtered.value < 0) return void this._logger.warn(`Dropping count '${filtered.name}': counters are monotonic, value must be >= 0`);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
let attributes;
|
|
83
|
+
let key;
|
|
84
|
+
try {
|
|
85
|
+
attributes = filtered.attributes ? {
|
|
86
|
+
...filtered.attributes
|
|
87
|
+
} : void 0;
|
|
88
|
+
key = seriesKey(filtered.type, filtered.name, filtered.unit, attributes);
|
|
89
|
+
} catch (e) {
|
|
90
|
+
this._logger.warn(`Dropping metric '${filtered.name}': attributes could not be serialized`, e);
|
|
91
|
+
return;
|
|
84
92
|
}
|
|
85
|
-
const key = seriesKey(filtered.type, filtered.name, filtered.unit, filtered.attributes);
|
|
86
93
|
let state = this._series.get(key);
|
|
87
94
|
if (!state) {
|
|
88
|
-
if (this.
|
|
89
|
-
if (!this._seriesCapWarned) {
|
|
90
|
-
this._seriesCapWarned = true;
|
|
91
|
-
this._logger.warn(`Metric series cap reached (${this._config.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`);
|
|
92
|
-
}
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
+
if (!this._admitNewSeries()) return;
|
|
95
96
|
state = {
|
|
96
97
|
name: filtered.name,
|
|
97
98
|
type: filtered.type,
|
|
98
99
|
unit: filtered.unit,
|
|
99
|
-
attributes
|
|
100
|
-
...filtered.attributes
|
|
101
|
-
} : void 0,
|
|
100
|
+
attributes,
|
|
102
101
|
windowStartMs: Date.now()
|
|
103
102
|
};
|
|
104
103
|
this._series.set(key, state);
|
|
105
104
|
}
|
|
105
|
+
const seenType = this._typeByName.get(filtered.name);
|
|
106
|
+
if (void 0 === seenType) this._typeByName.set(filtered.name, filtered.type);
|
|
107
|
+
else if (seenType !== filtered.type && !this._typeCollisionWarned.has(filtered.name)) {
|
|
108
|
+
this._typeCollisionWarned.add(filtered.name);
|
|
109
|
+
this._logger.warn(`Metric name '${filtered.name}' is already used as a ${seenType}; recording it as a ${filtered.type} too will blend both series in charts. Use a distinct name.`);
|
|
110
|
+
}
|
|
106
111
|
this._fold(state, filtered.value);
|
|
107
112
|
this._armFlushTimer();
|
|
108
113
|
}
|
|
114
|
+
_admitNewSeries() {
|
|
115
|
+
if (this._series.size < this._config.maxSeriesPerFlush) return true;
|
|
116
|
+
if (!this._seriesCapWarned) {
|
|
117
|
+
this._seriesCapWarned = true;
|
|
118
|
+
this._logger.warn(`Metric series cap reached (${this._config.maxSeriesPerFlush} per flush window); dropping new series until the next flush. Reduce attribute cardinality.`);
|
|
119
|
+
}
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
109
122
|
_fold(state, value) {
|
|
110
123
|
switch(state.type){
|
|
111
124
|
case 'count':
|
|
@@ -157,7 +170,9 @@ class PostHogMetrics {
|
|
|
157
170
|
if (this._flushTimer) return;
|
|
158
171
|
this._flushTimer = safeSetTimeout(()=>{
|
|
159
172
|
this._flushTimer = void 0;
|
|
160
|
-
this.flush().catch(()=>{
|
|
173
|
+
this.flush().catch((e)=>{
|
|
174
|
+
this._logger.error('Metrics flush failed:', e);
|
|
175
|
+
});
|
|
161
176
|
}, this._config.flushIntervalMs);
|
|
162
177
|
}
|
|
163
178
|
_clearFlushTimer() {
|
|
@@ -173,7 +188,9 @@ class PostHogMetrics {
|
|
|
173
188
|
this._seriesCapWarned = false;
|
|
174
189
|
this._typeByName = new Map();
|
|
175
190
|
this._typeCollisionWarned = new Set();
|
|
191
|
+
const generation = this._generation;
|
|
176
192
|
const outcome = await this._instance._sendMetricsBatch(this._buildPayload(window));
|
|
193
|
+
if (generation !== this._generation) return;
|
|
177
194
|
switch(outcome.kind){
|
|
178
195
|
case 'ok':
|
|
179
196
|
return;
|
|
@@ -257,7 +274,7 @@ class PostHogMetrics {
|
|
|
257
274
|
for (const [key, old] of window){
|
|
258
275
|
const current = this._series.get(key);
|
|
259
276
|
if (!current) {
|
|
260
|
-
this._series.set(key, old);
|
|
277
|
+
if (this._admitNewSeries()) this._series.set(key, old);
|
|
261
278
|
continue;
|
|
262
279
|
}
|
|
263
280
|
current.windowStartMs = Math.min(current.windowStartMs, old.windowStartMs);
|
|
@@ -280,4 +297,4 @@ class PostHogMetrics {
|
|
|
280
297
|
}
|
|
281
298
|
}
|
|
282
299
|
}
|
|
283
|
-
export { DEFAULT_HISTOGRAM_BOUNDS, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpMetricsPayload };
|
|
300
|
+
export { DEFAULT_HISTOGRAM_BOUNDS, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpMetricsPayload, resolveMetricsConfig };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { MetricAttributeValue, MetricAttributes, MetricType, CaptureMetricOptions, MetricSample, BeforeSendMetricFn, Metrics, OtlpNumberDataPoint, OtlpHistogramDataPoint, OtlpMetric, OtlpMetricsPayload, } from '@posthog/types';
|
|
1
|
+
export type { MetricAttributeValue, MetricAttributes, MetricType, MetricsConfig, CaptureMetricOptions, MetricSample, BeforeSendMetricFn, Metrics, OtlpNumberDataPoint, OtlpHistogramDataPoint, OtlpMetric, OtlpMetricsPayload, } from '@posthog/types';
|
|
2
2
|
import type { BeforeSendMetricFn, MetricAttributeValue, OtlpMetricsPayload } from '@posthog/types';
|
|
3
3
|
/** Same tagged outcome shape as `SendLogsBatchOutcome` — one policy for both signals. */
|
|
4
4
|
export type SendMetricsBatchOutcome = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAElG,yFAAyF;AACzF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAChF,YAAY,IAAI,MAAM,CAAA;IACtB,iBAAiB,IAAI,MAAM,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAEzD;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAA;CACvD;AAID,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC1B"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/metrics/types.ts"],"names":[],"mappings":"AAEA,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,kBAAkB,GACnB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,KAAK,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAElG,yFAAyF;AACzF,MAAM,MAAM,uBAAuB,GAC/B;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAErC;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAAA;IAChF,YAAY,IAAI,MAAM,CAAA;IACtB,iBAAiB,IAAI,MAAM,CAAA;CAC5B;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAA;IAEvB,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAA;IAEpB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAA;IAEzD;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;IAExB;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAE1B;;;OAGG;IACH,UAAU,CAAC,EAAE,kBAAkB,GAAG,kBAAkB,EAAE,CAAA;CACvD;AAID,MAAM,WAAW,4BAA6B,SAAQ,oBAAoB;IACxE,eAAe,EAAE,MAAM,CAAA;IACvB,iBAAiB,EAAE,MAAM,CAAA;CAC1B"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { OtlpLogsPayload } from '@posthog/types';
|
|
1
|
+
import type { OtlpLogsPayload, OtlpMetricsPayload } from '@posthog/types';
|
|
2
|
+
import type { SendMetricsBatchOutcome } from './metrics/types';
|
|
2
3
|
import { SimpleEventEmitter } from './eventemitter';
|
|
3
4
|
import { PostHogFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, PostHogFeatureFlagDetails, FeatureFlagDetail, SurveyResponse, PostHogFetchResponse, PostHogFetchOptions, PostHogPersistedProperty, Logger, GetFlagsResult } from './types';
|
|
4
5
|
import { RetriableOptions } from './utils';
|
|
@@ -306,6 +307,13 @@ export declare abstract class PostHogCoreStateless {
|
|
|
306
307
|
* shrink `maxBatchRecordsPerPost` and retry the same records.
|
|
307
308
|
*/
|
|
308
309
|
_sendLogsBatch(payload: OtlpLogsPayload): Promise<SendLogsBatchOutcome>;
|
|
310
|
+
/**
|
|
311
|
+
* Sends a pre-built OTLP metrics payload to `/i/v1/metrics`. Same tagged
|
|
312
|
+
* outcome contract and error classification as `_sendLogsBatch` — this is
|
|
313
|
+
* the `MetricsHost._sendMetricsBatch` implementation, so `PostHogMetrics`
|
|
314
|
+
* can use any core-based SDK as its host.
|
|
315
|
+
*/
|
|
316
|
+
_sendMetricsBatch(payload: OtlpMetricsPayload): Promise<SendMetricsBatchOutcome>;
|
|
309
317
|
private fetchWithRetry;
|
|
310
318
|
_shutdown(shutdownTimeoutMs?: number): Promise<void>;
|
|
311
319
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACzE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EAExB,MAAM,EACN,cAAc,EAEf,MAAM,SAAS,CAAA;AAChB,OAAO,EAML,gBAAgB,EAMjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,sBAAsB,EAMvB,MAAM,kBAAkB,CAAA;AAyBzB,cAAM,wBAAyB,SAAQ,KAAK;IAGvB,KAAK,EAAE,OAAO;IAFjC,IAAI,SAA6B;gBAEd,KAAK,EAAE,OAAO;CAKlC;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,OAAO,QAAQ,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAC9C,CAAA;AAG7C,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,sBAAsB,EAC9B,kBAAkB,sBAAsB,KACvC,IAMF,CAAA;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3D;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB,CAExF;AAiCD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAErC,oBAAY,mBAAmB;IAC7B,YAAY,kBAAkB;IAC9B,UAAU,eAAe;CAC1B;AASD,8BAAsB,oBAAoB;IAExC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACrC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,aAAa,CAAQ;IAC7B,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,aAAa,CAA+B;IACpD,OAAO,CAAC,sBAAsB,CAAY;IAC1C,OAAO,CAAC,eAAe,CAA6B;IACpD,SAAS,CAAC,cAAc,EAAE,MAAM,CAAA;IAChC,OAAO,CAAC,4BAA4B,CAAQ;IAC5C,OAAO,CAAC,6BAA6B,CAAQ;IAC7C,OAAO,CAAC,4BAA4B,CAAQ;IAC5C,OAAO,CAAC,mBAAmB,CAAC,CAAY;IACxC,OAAO,CAAC,YAAY,CAAS;IAC7B,SAAS,CAAC,mBAAmB,EAAE,OAAO,CAAA;IACtC,OAAO,CAAC,kBAAkB,CAAC,CAAmB;IAC9C,SAAS,CAAC,QAAQ,UAAA;IAClB,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAA;IAErC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,YAAY,CAAmC;IAGvD,SAAS,CAAC,OAAO,qBAA2B;IAC5C,SAAS,CAAC,WAAW,CAAC,EAAE,GAAG,CAAA;IAC3B,SAAS,CAAC,aAAa,EAAE,gBAAgB,CAAA;IACzC,SAAS,CAAC,YAAY,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;IACrC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAQ;IACzC,SAAS,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC,CAAA;IACjF,SAAS,CAAC,OAAO,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,uBAAuB,CAAC,CAAwB;IAExD;;;;;OAKG;IACH,yBAAyB,IAAI,sBAAsB;IAOnD;;;;;;;OAOG;IACH,SAAS,CAAC,4BAA4B,IAAI,sBAAsB;IAQhE,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IACxF,QAAQ,CAAC,YAAY,IAAI,MAAM;IAC/B,QAAQ,CAAC,iBAAiB,IAAI,MAAM;IACpC,QAAQ,CAAC,kBAAkB,IAAI,MAAM,GAAG,IAAI;IAG5C,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,wBAAwB,GAAG,CAAC,GAAG,SAAS;IAC9E,QAAQ,CAAC,oBAAoB,CAAC,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI;gBAE1E,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,kBAAuB;IA8C5D,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7C,SAAS,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAcpC,SAAS,CAAC,wBAAwB,IAAI,sBAAsB;IAO5D,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAMtB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAM7B,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAI3D;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,KAAK,CAAC,OAAO,GAAE,OAAc,GAAG,IAAI;IAYpC,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,YAAY;IAkBpB;;OAEG;IACI,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAI5D;;SAEK;IACL,SAAS,CAAC,iBAAiB,CACzB,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;cAiBS,0BAA0B,CACxC,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAYhB,SAAS,CAAC,gBAAgB,CACxB,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;cAOS,yBAAyB,CACvC,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAKhB,SAAS,CAAC,cAAc,CACtB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;cAgBS,uBAAuB,CACrC,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,MAAM,EAClB,UAAU,CAAC,EAAE,sBAAsB,EACnC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,OAAO,CAAC,IAAI,CAAC;IAchB;;SAEK;IACL,SAAS,CAAC,sBAAsB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,qBAAqB,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,sBAAsB,GACvC,IAAI;cAiBS,+BAA+B,CAC7C,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,qBAAqB,EAC/B,UAAU,CAAC,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,sBAAsB,GACvC,OAAO,CAAC,IAAI,CAAC;cAeA,eAAe,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IA0B3E;;SAEK;cAEW,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,EAC5C,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,GAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,EACtC,WAAW,GAAE,OAAe,GAC3B,OAAO,CAAC,cAAc,CAAC;IAgD1B,OAAO,CAAC,sBAAsB;cAiBd,uBAAuB,CACrC,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACnC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC;QACT,QAAQ,EAAE,gBAAgB,GAAG,SAAS,CAAA;QACtC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;KAC9B,CAAC;cAkCc,6BAA6B,CAC3C,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACnC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CACN;QACE,QAAQ,EAAE,iBAAiB,GAAG,SAAS,CAAA;QACvC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAA;QAC7B,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;KAChC,GACD,SAAS,CACZ;cA2Be,8BAA8B,CAC5C,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACnC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,GACrB,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;cA0BhB,+BAA+B,CAC7C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EACnC,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,EACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAC;cAiBnD,wBAAwB,CACtC,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,EAC5C,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,EACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC;QACT,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;QACvD,QAAQ,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;QACjE,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;KACzD,CAAC;cAac,mCAAmC,CACjD,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,EAC5C,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,EACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC;QACT,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;QACvD,QAAQ,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;QACjE,SAAS,EAAE,oBAAoB,CAAC,WAAW,CAAC,GAAG,SAAS,CAAA;KACzD,CAAC;cA2Bc,8BAA8B,CAC5C,UAAU,EAAE,MAAM,EAClB,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAM,EAC5C,gBAAgB,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,EAC7C,eAAe,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAM,EAC5D,YAAY,CAAC,EAAE,OAAO,EACtB,kBAAkB,CAAC,EAAE,MAAM,EAAE,GAC5B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IA0CjD;;SAEK;IAEQ,mBAAmB,IAAI,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IA+CtE;;SAEK;IACL,OAAO,CAAC,MAAM,CAAoC;IAElD,SAAS,KAAK,KAAK,IAAI,sBAAsB,CAK5C;IAED,SAAS,KAAK,KAAK,CAAC,GAAG,EAAE,sBAAsB,GAAG,SAAS,EAE1D;IAEK,QAAQ,CAAC,UAAU,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IAU3D,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD;;SAEK;IAEL;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,IAAI;IAI9F;;;;;;;OAOG;cACa,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAI7C;;;;;OAKG;IACH,SAAS,CAAC,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,MAAM;IAIpE;;;;OAIG;IACH,SAAS,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,wBAAwB;IAI7E;;;OAGG;IACH,SAAS,CAAC,oBAAoB,IAAI,MAAM,EAAE;IAI1C,OAAO,CAAC,aAAa;IAIrB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;cAwCrE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1G,OAAO,CAAC,gBAAgB;IAyBxB,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,sBAAsB;IAuBhG,OAAO,CAAC,eAAe;IAOvB;;;OAGG;IACH,OAAO,CAAC,eAAe;YAST,sBAAsB;IAsBpC;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,SAAS,CAAC,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC;IAInD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,OAAO,CAAC,aAAa;IAmDrB,SAAS,CAAC,gBAAgB,IAAI;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;IAavD;;;;;;;;;;;OAWG;cACa,SAAS,CACvB,aAAa,EAAE,CAAC,sBAAsB,GAAG,SAAS,CAAC,EAAE,EACrD,YAAY,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,EACxC,MAAM,GAAE,MAA4B,GACnC,OAAO,CAAC,IAAI,CAAC;YAiCF,MAAM;YAmCN,WAAW;IAoEzB;;;;;;;;;OASG;IACG,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAwC7E;;;;;OAKG;IACG,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,uBAAuB,CAAC;YA2CxE,cAAc;IAsDtB,SAAS,CAAC,iBAAiB,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAmEjE;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACG,QAAQ,CAAC,iBAAiB,GAAE,MAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAYjE"}
|
|
@@ -555,7 +555,7 @@ class PostHogCoreStateless {
|
|
|
555
555
|
const queue = this.getPersistedProperty(queueKey) || [];
|
|
556
556
|
if (queue.length >= this.maxQueueSize) {
|
|
557
557
|
queue.shift();
|
|
558
|
-
this._logger.
|
|
558
|
+
this._logger.warn('Queue is full, the oldest event is dropped.');
|
|
559
559
|
}
|
|
560
560
|
queue.push({
|
|
561
561
|
message
|
|
@@ -803,6 +803,49 @@ class PostHogCoreStateless {
|
|
|
803
803
|
};
|
|
804
804
|
}
|
|
805
805
|
}
|
|
806
|
+
async _sendMetricsBatch(payload) {
|
|
807
|
+
if (this.disabled) return {
|
|
808
|
+
kind: 'fatal',
|
|
809
|
+
error: new Error('The client is disabled')
|
|
810
|
+
};
|
|
811
|
+
const serialized = JSON.stringify(payload);
|
|
812
|
+
const url = `${this.host}/i/v1/metrics?token=${encodeURIComponent(this.apiKey)}`;
|
|
813
|
+
const gzippedPayload = this.disableCompression ? null : await (0, external_gzip_js_namespaceObject.gzipCompress)(serialized, this.isDebug);
|
|
814
|
+
const fetchOptions = {
|
|
815
|
+
method: 'POST',
|
|
816
|
+
headers: {
|
|
817
|
+
...this.getCustomHeaders(),
|
|
818
|
+
'Content-Type': 'application/json',
|
|
819
|
+
...null !== gzippedPayload && {
|
|
820
|
+
'Content-Encoding': 'gzip'
|
|
821
|
+
}
|
|
822
|
+
},
|
|
823
|
+
body: gzippedPayload || serialized
|
|
824
|
+
};
|
|
825
|
+
try {
|
|
826
|
+
await this.fetchWithRetry(url, fetchOptions, {
|
|
827
|
+
retryCheck: (err)=>{
|
|
828
|
+
if (isPostHogFetchContentTooLargeError(err)) return false;
|
|
829
|
+
return isPostHogFetchRetryableError(err);
|
|
830
|
+
}
|
|
831
|
+
});
|
|
832
|
+
return {
|
|
833
|
+
kind: 'ok'
|
|
834
|
+
};
|
|
835
|
+
} catch (err) {
|
|
836
|
+
if (isPostHogFetchContentTooLargeError(err)) return {
|
|
837
|
+
kind: 'too-large'
|
|
838
|
+
};
|
|
839
|
+
if (isPostHogFetchRetryableError(err)) return {
|
|
840
|
+
kind: 'retry-later',
|
|
841
|
+
error: err
|
|
842
|
+
};
|
|
843
|
+
return {
|
|
844
|
+
kind: 'fatal',
|
|
845
|
+
error: err
|
|
846
|
+
};
|
|
847
|
+
}
|
|
848
|
+
}
|
|
806
849
|
async fetchWithRetry(url, options, retryOptions, requestTimeout) {
|
|
807
850
|
const body = options.body ? options.body : '';
|
|
808
851
|
let reqByteLength = -1;
|