From a8283e9edf73f89a919a6c58fcb05eb8af3986a5 Mon Sep 17 00:00:00 2001 From: Andres Pinto <143480783+apsantiso@users.noreply.github.com> Date: Tue, 7 Apr 2026 17:12:23 +0200 Subject: [PATCH] chore: add some configs to prevent excesive data ingestion --- newrelic.js | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++++ package.json | 2 +- 2 files changed, 62 insertions(+), 1 deletion(-) create mode 100644 newrelic.js diff --git a/newrelic.js b/newrelic.js new file mode 100644 index 000000000..915b2226c --- /dev/null +++ b/newrelic.js @@ -0,0 +1,61 @@ +'use strict'; + +/** + * New Relic agent configuration. + * See https://docs.newrelic.com/docs/apm/agents/nodejs-agent/installation-configuration/nodejs-agent-configuration/ + */ +exports.config = { + app_name: [process.env.NEW_RELIC_APP_NAME || 'drive-server-wip'], + license_key: process.env.NEW_RELIC_LICENSE_KEY, + + logging: { + enabled: false, + }, + + // Enable if we require multi-service tracing in the future. + distributed_tracing: { + enabled: false, + }, + transaction_tracer: { + enabled: false, + /* transaction_threshold: 500, + record_sql: 'obfuscated', + explain_threshold: 1000, */ + }, + span_events: { + enabled: true, + max_samples_stored: 1000, + }, + transaction_events: { + max_samples_stored: 1000, + }, + custom_insights_events: { + enabled: false, + }, + + slow_sql: { + enabled: true, + }, + error_collector: { + enabled: true, + }, + application_logging: { + enabled: false, + }, + + // Attribute filtering + // Rules must be camelCase per NR docs. + // Applies globally to transactions, spans, and error events. + attributes: { + exclude: [ + 'request.headers.accept', + 'request.headers.contentLength', + 'request.headers.contentType', + 'request.headers.host', + 'request.headers.referer', + 'request.headers.userAgent', + 'response.headers.contentLength', + 'response.headers.contentType', + ], + }, +}; diff --git a/package.json b/package.json index 9d4e00345..b727865f2 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "license": "MIT", "scripts": { "prebuild": "rimraf dist", - "build": "nest build", + "build": "nest build && cp newrelic.js dist/newrelic.js", "format": "prettier --write \"src/**/*.ts\" \"test/**/*.ts\"", "start": "cross-env NODE_ENV=production nest start -e 'node -r newrelic'", "cleanup:retroactive": "ts-node -r tsconfig-paths/register src/modules/jobs/commands/retroactive-deleted-items-cleanup.command.ts",