Skip to content

Commit 8fd83ac

Browse files
tlhunterrochdev
authored andcommitted
telemetry: make count logic faster (#5013)
1 parent 063c13d commit 8fd83ac

File tree

3 files changed

+4
-18
lines changed

3 files changed

+4
-18
lines changed

packages/dd-trace/src/telemetry/logs/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ function onErrorLog (msg) {
4040

4141
const telLog = {
4242
level: 'ERROR',
43+
count: 1,
4344

4445
// existing log.error(err) without message will be reported as 'Generic Error'
4546
message: message ?? 'Generic Error'

packages/dd-trace/src/telemetry/logs/log-collector.js

+1-14
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ const logCollector = {
7979
}
8080
const hash = createHash(logEntry)
8181
if (!logs.has(hash)) {
82-
logs.set(hash, errorCopy(logEntry))
82+
logs.set(hash, logEntry)
8383
return true
8484
} else {
8585
logs.get(hash).count++
@@ -122,19 +122,6 @@ const logCollector = {
122122
}
123123
}
124124

125-
// clone an Error object to later serialize and transmit
126-
// { ...error } doesn't work
127-
// also users can add arbitrary fields to an error
128-
function errorCopy (error) {
129-
const keys = Object.getOwnPropertyNames(error)
130-
const obj = {}
131-
for (const key of keys) {
132-
obj[key] = error[key]
133-
}
134-
obj.count = 1
135-
return obj
136-
}
137-
138125
logCollector.reset()
139126

140127
module.exports = logCollector

packages/dd-trace/test/telemetry/logs/log-collector.spec.js

+2-4
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,9 @@ describe('telemetry log collector', () => {
128128
})
129129

130130
it('duplicated errors should send incremented count values', () => {
131-
const err1 = new Error('oh no')
132-
err1.level = 'ERROR'
131+
const err1 = { message: 'oh no', level: 'ERROR', count: 1 }
133132

134-
const err2 = new Error('foo buzz')
135-
err2.level = 'ERROR'
133+
const err2 = { message: 'foo buzz', level: 'ERROR', count: 1 }
136134

137135
logCollector.add(err1)
138136
logCollector.add(err2)

0 commit comments

Comments
 (0)