Skip to content

Commit 1a4e02a

Browse files
committed
Ensure metric that triggers flush on MAX_METRIC_BUFFER_SIZE is not swallowed
1 parent f0737fa commit 1a4e02a

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

packages/core/src/metrics/internal.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,14 +88,16 @@ function setMetricAttribute(
8888
*/
8989
export function _INTERNAL_captureSerializedMetric(client: Client, serializedMetric: SerializedMetric): void {
9090
const bufferMap = _getBufferMap();
91-
9291
const metricBuffer = _INTERNAL_getMetricBuffer(client);
92+
9393
if (metricBuffer === undefined) {
9494
bufferMap.set(client, [serializedMetric]);
9595
} else {
96-
bufferMap.set(client, [...metricBuffer, serializedMetric]);
9796
if (metricBuffer.length >= MAX_METRIC_BUFFER_SIZE) {
9897
_INTERNAL_flushMetricsBuffer(client, metricBuffer);
98+
bufferMap.set(client, [serializedMetric]);
99+
} else {
100+
bufferMap.set(client, [...metricBuffer, serializedMetric]);
99101
}
100102
}
101103
}

0 commit comments

Comments
 (0)