Skip to content

Commit ebafece

Browse files
authored
improve error message when sending metrics fails (#582)
* improve error message when sending metrics fails * add changelog
1 parent 6203c20 commit ebafece

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

.changeset/moody-rats-double.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@segment/analytics-next': patch
3+
---
4+
5+
Updates error message when sending metrics fails to indicate that metrics failed to send.

packages/browser/src/core/stats/__tests__/remote-metrics.test.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,10 @@ describe('remote metrics', () => {
118118
remote.increment('analytics_js.banana', ['phone:1'])
119119
await remote.flush()
120120

121-
expect(errorSpy).toHaveBeenCalledWith(error)
121+
expect(errorSpy).toHaveBeenCalledWith(
122+
'Error sending segment performance metrics',
123+
error
124+
)
122125
})
123126

124127
test('disables metrics reporting in case of errors', async () => {

packages/browser/src/core/stats/remote-metrics.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@ export interface MetricsOptions {
1111

1212
type Metric = { type: 'Counter'; metric: string; value: number; tags: object }
1313

14+
function logError(err: unknown): void {
15+
console.error('Error sending segment performance metrics', err)
16+
}
17+
1418
export class RemoteMetrics {
1519
private host: string
1620
private flushTimer: number
@@ -36,9 +40,7 @@ export class RemoteMetrics {
3640
}
3741

3842
flushing = true
39-
this.flush().catch((err) => {
40-
console.error(err)
41-
})
43+
this.flush().catch(logError)
4244

4345
flushing = false
4446

@@ -90,7 +92,7 @@ export class RemoteMetrics {
9092
})
9193

9294
if (metric.includes('error')) {
93-
this.flush().catch((err) => console.error(err))
95+
this.flush().catch(logError)
9496
}
9597
}
9698

@@ -100,7 +102,7 @@ export class RemoteMetrics {
100102
}
101103

102104
await this.send().catch((error) => {
103-
console.error(error)
105+
logError(error)
104106
this.sampleRate = 0
105107
})
106108
}

0 commit comments

Comments
 (0)