Skip to content

Commit a5e913f

Browse files
committed
misc: optimize APM storage
1 parent 5b1f5a7 commit a5e913f

File tree

6 files changed

+14
-8
lines changed

6 files changed

+14
-8
lines changed

elastic-apm-node.cjs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,6 @@ module.exports = {
1919
captureErrorLogStackTraces: 'always',
2020
ignoreUrls: [ '/favicon.ico', '/health', '/amp_preconnect_polyfill_404_or_other_error_expected._Do_not_worry_about_it' ],
2121
transactionSampleRate: 1,
22+
exitSpanMinDuration: '2ms',
23+
spanCompressionSameKindMaxDuration: '10ms',
2224
};

package-lock.json

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"crypto-random-string": "^5.0.0",
2121
"csv-parser": "^3.0.0",
2222
"elastic-apm-node": "^4.8.1",
23-
"elastic-apm-utils": "^4.1.0",
23+
"elastic-apm-utils": "^4.1.1",
2424
"got": "^14.2.1",
2525
"gunzip-maybe": "^1.4.2",
2626
"h-logger2": "^1.2.6",

src/lib/http/server.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { createServer } from 'node:http';
22
import * as zlib from 'node:zlib';
33
import * as url from 'node:url';
44
import apmAgent from 'elastic-apm-node';
5-
import { koa as koaElasticUtils } from 'elastic-apm-utils';
5+
import { apm as apmUtils, koa as koaElasticUtils } from 'elastic-apm-utils';
66
import json from 'koa-json';
77
import Router from '@koa/router';
88
import conditionalGet from 'koa-conditional-get';
@@ -31,6 +31,10 @@ import type { CustomContext } from '../../types.js';
3131
import { registerAlternativeIpRoute } from '../../alternative-ip/route/alternative-ip.js';
3232
import { registerLimitsRoute } from '../../limits/route/get-limits.js';
3333

34+
apmAgent.addTransactionFilter(apmUtils.transactionFilter({
35+
keepResponse: [ 'location' ],
36+
}));
37+
3438
const app = new Koa();
3539
const publicPath = url.fileURLToPath(new URL('.', import.meta.url)) + '/../../../public';
3640
const docsHost = config.get<string>('server.docsHost');

src/lib/ws/middleware/probe-metadata.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ export const probeMetadata = errorHandler(async (socket: ServerSocket, next: (er
1818
let message = 'failed to collect probe metadata';
1919

2020
if (error instanceof ProbeError) {
21-
message = error.message;
2221
logger.warn(message, error);
22+
message = error.message;
2323
} else {
2424
logger.error(message, error);
2525
}

src/measurement/store.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,8 +77,8 @@ export class MeasurementStore {
7777
this.redis.hSet('gp:in-progress', id, startTime.getTime()),
7878
this.redis.set(getMeasurementKey(id, 'probes_awaiting'), onlineProbesMap.size, { EX: probesAwaitingTtl }),
7979
this.redis.json.set(key, '$', measurementWithoutDefaults),
80-
this.redis.expire(key, config.get<number>('measurement.resultTTL')),
8180
this.redis.json.set(getMeasurementKey(id, 'ips'), '$', allProbes.map(probe => probe.ipAddress)),
81+
this.redis.expire(key, config.get<number>('measurement.resultTTL')),
8282
this.redis.expire(getMeasurementKey(id, 'ips'), config.get<number>('measurement.resultTTL')),
8383
]);
8484

0 commit comments

Comments
 (0)