@posthog/types 1.420.0 → 1.421.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.
@@ -24,9 +24,29 @@ export interface CaptureMetricOptions {
24
24
  */
25
25
  attributes?: MetricAttributes;
26
26
  }
27
+ /** Options accepted by `posthog.metrics.histogram`. */
28
+ export interface HistogramOptions extends CaptureMetricOptions {
29
+ /**
30
+ * Upper bucket boundaries, finite and strictly increasing. A value lands in
31
+ * the first bucket whose boundary is greater than or equal to it, and values
32
+ * above the last boundary land in an overflow bucket. Defaults to the
33
+ * OpenTelemetry defaults `[0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000]`.
34
+ *
35
+ * The first sample of a histogram (name and unit) fixes its bounds until the
36
+ * client resets. A later sample that passes different bounds is recorded in
37
+ * the fixed buckets and logs a warning, once per flush window. A sample with
38
+ * invalid bounds is dropped with a warning. The client fixes the bounds of at
39
+ * most `maxSeriesPerFlush` histograms. Past that limit, the client drops samples
40
+ * of a new histogram that pass bounds other than the defaults, and logs one
41
+ * warning. Each client fixes bounds on its own. PostHog stores one set of
42
+ * bounds per histogram series and reads every client's counts against it.
43
+ * Every client must therefore pass the same bounds for the same histogram.
44
+ */
45
+ bounds?: number[];
46
+ }
27
47
  /**
28
48
  * A captured metric as seen by `beforeSend`, before aggregation. Mutating
29
- * `name`, `value`, `unit`, or `attributes` changes what gets aggregated;
49
+ * `name`, `value`, `unit`, `attributes`, or `bounds` changes what gets aggregated;
30
50
  * returning `null` drops the sample.
31
51
  */
32
52
  export interface MetricSample {
@@ -35,6 +55,8 @@ export interface MetricSample {
35
55
  value: number;
36
56
  unit?: string;
37
57
  attributes?: MetricAttributes;
58
+ /** Histogram bucket boundaries. See {@link HistogramOptions.bounds}. Only histograms use them. */
59
+ bounds?: number[];
38
60
  }
39
61
  /**
40
62
  * Pre-aggregation filter. Return the (possibly transformed) sample to keep
@@ -64,7 +86,7 @@ export interface Metrics {
64
86
  /** Record the current value of something that goes up and down (queue depth, connections). */
65
87
  gauge(name: string, value: number, options?: CaptureMetricOptions): void;
66
88
  /** Record one observation of a distribution (latency, payload size). */
67
- histogram(name: string, value: number, options?: CaptureMetricOptions): void;
89
+ histogram(name: string, value: number, options?: HistogramOptions): void;
68
90
  /** Send everything aggregated so far without waiting for the flush interval. */
69
91
  flush(): Promise<void>;
70
92
  }
@@ -1 +1 @@
1
- {"version":3,"file":"capture-metric.d.ts","sourceRoot":"","sources":["../src/capture-metric.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capture-metric.d.ts","sourceRoot":"","sources":["../src/capture-metric.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -17,7 +17,7 @@ export type { SurveyRenderReason } from './survey';
17
17
  export type { ToolbarParams, ToolbarUserIntent, ToolbarSource, ToolbarVersion } from './toolbar';
18
18
  export type { TreeShakeableConfig, TreeShakeable } from './tree-shakeable';
19
19
  export type { LogSeverityLevel, OtlpSeverityText, OtlpSeverityEntry, LogAttributeValue, LogAttributes, CaptureLogOptions, Logger, OtlpAnyValue, OtlpKeyValue, OtlpLogRecord, OtlpLogsPayload, BeforeSendLogFn, } from './capture-log';
20
- export type { MetricAttributeValue, MetricAttributes, MetricType, CaptureMetricOptions, MetricSample, BeforeSendMetricFn, Metrics, OtlpNumberDataPoint, OtlpExemplar, OtlpHistogramDataPoint, OtlpMetric, OtlpMetricsPayload, } from './capture-metric';
20
+ export type { MetricAttributeValue, MetricAttributes, MetricType, CaptureMetricOptions, HistogramOptions, MetricSample, BeforeSendMetricFn, Metrics, OtlpNumberDataPoint, OtlpExemplar, OtlpHistogramDataPoint, OtlpMetric, OtlpMetricsPayload, } from './capture-metric';
21
21
  export { OTLP_AGGREGATION_TEMPORALITY_DELTA } from './capture-metric';
22
22
  export type { SpanKind, SpanStatusCode, SpanAttributeValue, SpanAttributes, SpanTimeInput, StartSpanOptions, Span, SpanRecord, BeforeSpanSendFn, TracesConfig, OtlpSpanKeyValue, OtlpSpanEvent, OtlpSpanStatus, OtlpSpan, OtlpTracesPayload, } from './traces';
23
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAGxC,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAG1E,YAAY,EACR,cAAc,EACd,wBAAwB,EACxB,SAAS,EACT,aAAa,EACb,cAAc,EACd,YAAY,GACf,MAAM,WAAW,CAAA;AAGlB,YAAY,EACR,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,+BAA+B,EAC/B,kBAAkB,EAClB,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,GAC9B,MAAM,iBAAiB,CAAA;AAGxB,YAAY,EAAE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AAG1E,YAAY,EACR,6BAA6B,EAC7B,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,sBAAsB,EACtB,wBAAwB,EACxB,aAAa,GAChB,MAAM,qBAAqB,CAAA;AAG5B,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AACxD,YAAY,EACR,4BAA4B,EAC5B,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,YAAY,EACZ,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,aAAa,EACb,cAAc,EACd,uBAAuB,EACvB,oBAAoB,EACpB,0BAA0B,EAC1B,gBAAgB,EAChB,cAAc,EACd,8BAA8B,EAC9B,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,EACxB,aAAa,GAChB,MAAM,kBAAkB,CAAA;AAGzB,YAAY,EACR,WAAW,EACX,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,yBAAyB,EACzB,wBAAwB,GAC3B,MAAM,WAAW,CAAA;AAGlB,YAAY,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAGlD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAGhG,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAG1E,YAAY,EACR,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,MAAM,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,eAAe,EACf,eAAe,GAClB,MAAM,eAAe,CAAA;AAGtB,YAAY,EACR,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EAClB,OAAO,EACP,mBAAmB,EACnB,YAAY,EACZ,sBAAsB,EACtB,UAAU,EACV,kBAAkB,GACrB,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,kCAAkC,EAAE,MAAM,kBAAkB,CAAA;AAGrE,YAAY,EACR,QAAQ,EACR,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,QAAQ,EACR,iBAAiB,GACpB,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/types",
3
- "version": "1.420.0",
3
+ "version": "1.421.0",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
@@ -30,9 +30,30 @@ export interface CaptureMetricOptions {
30
30
  attributes?: MetricAttributes
31
31
  }
32
32
 
33
+ /** Options accepted by `posthog.metrics.histogram`. */
34
+ export interface HistogramOptions extends CaptureMetricOptions {
35
+ /**
36
+ * Upper bucket boundaries, finite and strictly increasing. A value lands in
37
+ * the first bucket whose boundary is greater than or equal to it, and values
38
+ * above the last boundary land in an overflow bucket. Defaults to the
39
+ * OpenTelemetry defaults `[0, 5, 10, 25, 50, 75, 100, 250, 500, 750, 1000, 2500, 5000, 7500, 10000]`.
40
+ *
41
+ * The first sample of a histogram (name and unit) fixes its bounds until the
42
+ * client resets. A later sample that passes different bounds is recorded in
43
+ * the fixed buckets and logs a warning, once per flush window. A sample with
44
+ * invalid bounds is dropped with a warning. The client fixes the bounds of at
45
+ * most `maxSeriesPerFlush` histograms. Past that limit, the client drops samples
46
+ * of a new histogram that pass bounds other than the defaults, and logs one
47
+ * warning. Each client fixes bounds on its own. PostHog stores one set of
48
+ * bounds per histogram series and reads every client's counts against it.
49
+ * Every client must therefore pass the same bounds for the same histogram.
50
+ */
51
+ bounds?: number[]
52
+ }
53
+
33
54
  /**
34
55
  * A captured metric as seen by `beforeSend`, before aggregation. Mutating
35
- * `name`, `value`, `unit`, or `attributes` changes what gets aggregated;
56
+ * `name`, `value`, `unit`, `attributes`, or `bounds` changes what gets aggregated;
36
57
  * returning `null` drops the sample.
37
58
  */
38
59
  export interface MetricSample {
@@ -41,6 +62,8 @@ export interface MetricSample {
41
62
  value: number
42
63
  unit?: string
43
64
  attributes?: MetricAttributes
65
+ /** Histogram bucket boundaries. See {@link HistogramOptions.bounds}. Only histograms use them. */
66
+ bounds?: number[]
44
67
  }
45
68
 
46
69
  /**
@@ -72,7 +95,7 @@ export interface Metrics {
72
95
  /** Record the current value of something that goes up and down (queue depth, connections). */
73
96
  gauge(name: string, value: number, options?: CaptureMetricOptions): void
74
97
  /** Record one observation of a distribution (latency, payload size). */
75
- histogram(name: string, value: number, options?: CaptureMetricOptions): void
98
+ histogram(name: string, value: number, options?: HistogramOptions): void
76
99
  /** Send everything aggregated so far without waiting for the flush interval. */
77
100
  flush(): Promise<void>
78
101
  }
package/src/index.ts CHANGED
@@ -136,6 +136,7 @@ export type {
136
136
  MetricAttributes,
137
137
  MetricType,
138
138
  CaptureMetricOptions,
139
+ HistogramOptions,
139
140
  MetricSample,
140
141
  BeforeSendMetricFn,
141
142
  Metrics,