diff --git a/src/app/core/provider/application.initialization.provider.ts b/src/app/core/provider/application.initialization.provider.ts index 15adb0f2e..137ab79e7 100644 --- a/src/app/core/provider/application.initialization.provider.ts +++ b/src/app/core/provider/application.initialization.provider.ts @@ -44,8 +44,31 @@ export function initializeApplication() { }); } - if (environment.newRelic?.enabled) { - new BrowserAgent(environment.newRelic); + if (environment.newRelicEnabled) { + const newRelicConfig = { + enabled: environment.newRelicEnabled, + init: { + distributed_tracing: { enabled: environment.newRelicInitDistributedTracingEnabled }, + performance: { capture_measures: environment.newRelicInitPerformanceCaptureMeasures }, + privacy: { cookies_enabled: environment.newRelicInitPrivacyCookiesEnabled }, + ajax: { deny_list: environment.newRelicInitAjaxDenyList }, + }, + info: { + beacon: environment.newRelicInfoBeacon, + errorBeacon: environment.newRelicInfoErrorBeacon, + licenseKey: environment.newRelicInfoLicenseKey, + applicationID: environment.newRelicInfoApplicationID, + sa: environment.newRelicInfoSa, + }, + loader_config: { + accountID: environment.newRelicLoaderConfigAccountID, + trustKey: environment.newRelicLoaderConfigTrustKey, + agentID: environment.newRelicLoaderConfigAgengID, + licenseKey: environment.newRelicLoaderConfigLicenseKey, + applicationID: environment.newRelicLoaderConfigApplicationID, + }, + }; + new BrowserAgent(newRelicConfig); } }; } diff --git a/src/app/shared/models/environment.model.ts b/src/app/shared/models/environment.model.ts index a50e468b1..03ee09262 100644 --- a/src/app/shared/models/environment.model.ts +++ b/src/app/shared/models/environment.model.ts @@ -13,7 +13,21 @@ export interface EnvironmentModel { defaultProvider: string; dataciteTrackerRepoId: string | null; dataciteTrackerAddress: string; - newRelic: NewRelicConfig; + newRelicEnabled: boolean; + newRelicInitDistributedTracingEnabled: boolean; + newRelicInitPerformanceCaptureMeasures: boolean; + newRelicInitPrivacyCookiesEnabled: boolean; + newRelicInitAjaxDenyList: string[]; + newRelicInfoBeacon: string; + newRelicInfoErrorBeacon: string; + newRelicInfoLicenseKey: string; + newRelicInfoApplicationID: string; + newRelicInfoSa: number; + newRelicLoaderConfigAccountID: string; + newRelicLoaderConfigTrustKey: string; + newRelicLoaderConfigAgengID: string; + newRelicLoaderConfigLicenseKey: string; + newRelicLoaderConfigApplicationID: string; activityLogs?: { pageSize?: number; }; @@ -50,27 +64,3 @@ export interface EnvironmentModel { */ googleFilePickerAppId: number; } - -interface NewRelicConfig { - enabled: boolean; - init: { - distributed_tracing: { enabled: boolean }; - performance: { capture_measures: boolean }; - privacy: { cookies_enabled: boolean }; - ajax: { deny_list: string[] }; - }; - info: { - beacon: string; - errorBeacon: string; - licenseKey: string; - applicationID: string; - sa: number; - }; - loader_config: { - accountID: string; - trustKey: string; - agentID: string; - licenseKey: string; - applicationID: string; - }; -} diff --git a/src/assets/config/template.json b/src/assets/config/template.json index 594d61caa..9849e4300 100644 --- a/src/assets/config/template.json +++ b/src/assets/config/template.json @@ -34,5 +34,20 @@ "licenseKey": "", "applicationID": "" } - } + }, + "newRelicEnabled": true, + "newRelicInitDistributedTracingEnabled": false, + "newRelicInitPerformanceCaptureMeasures": false, + "newRelicInitPrivacyCookiesEnabled": true, + "newRelicInitAjaxDenyList": [""], + "newRelicInfoBeacon": "", + "newRelicInfoErrorBeacon": "", + "newRelicInfoLicenseKey": "", + "newRelicInfoApplicationID": "", + "newRelicInfoSa": 1, + "newRelicLoaderConfigAccountID": "", + "newRelicLoaderConfigTrustKey": "", + "newRelicLoaderConfigAgengID": "", + "newRelicLoaderConfigLicenseKey": "", + "newRelicLoaderConfigApplicationID": "" } diff --git a/src/environments/environment.development.ts b/src/environments/environment.development.ts index cf309511b..9d7ee2eed 100644 --- a/src/environments/environment.development.ts +++ b/src/environments/environment.development.ts @@ -56,4 +56,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', }; diff --git a/src/environments/environment.docker.ts b/src/environments/environment.docker.ts index 58d9fe680..9fd75b469 100644 --- a/src/environments/environment.docker.ts +++ b/src/environments/environment.docker.ts @@ -13,4 +13,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', }; diff --git a/src/environments/environment.staging.ts b/src/environments/environment.staging.ts index 8473fe0a9..ff0f83afa 100644 --- a/src/environments/environment.staging.ts +++ b/src/environments/environment.staging.ts @@ -56,4 +56,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', }; diff --git a/src/environments/environment.test-osf.ts b/src/environments/environment.test-osf.ts index 9d9b1aca7..7f50d1a6b 100644 --- a/src/environments/environment.test-osf.ts +++ b/src/environments/environment.test-osf.ts @@ -16,4 +16,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', }; diff --git a/src/environments/environment.test.ts b/src/environments/environment.test.ts index eaa045a52..3d042aff7 100644 --- a/src/environments/environment.test.ts +++ b/src/environments/environment.test.ts @@ -16,4 +16,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 8473fe0a9..ff0f83afa 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -56,4 +56,19 @@ export const environment = { defaultProvider: 'osf', dataciteTrackerRepoId: null, dataciteTrackerAddress: 'https://analytics.datacite.org/api/metric', + newRelicEnabled: true, + newRelicInitDistributedTracingEnabled: false, + newRelicInitPerformanceCaptureMeasures: false, + newRelicInitPrivacyCookiesEnabled: true, + newRelicInitAjaxDenyList: [''], + newRelicInfoBeacon: '', + newRelicInfoErrorBeacon: '', + newRelicInfoLicenseKey: '', + newRelicInfoApplicationID: '', + newRelicInfoSa: 1, + newRelicLoaderConfigAccountID: '', + newRelicLoaderConfigTrustKey: '', + newRelicLoaderConfigAgengID: '', + newRelicLoaderConfigLicenseKey: '', + newRelicLoaderConfigApplicationID: '', };