From 50c71b7b32ced63cc1e89220a57fa8223260e611 Mon Sep 17 00:00:00 2001 From: alisman Date: Sun, 13 Oct 2024 11:08:42 -0400 Subject: [PATCH] Add datadog logging for genie (#5020) --- src/appBootstrapper.tsx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/appBootstrapper.tsx b/src/appBootstrapper.tsx index 59021cc3b85..33dc126fd0a 100755 --- a/src/appBootstrapper.tsx +++ b/src/appBootstrapper.tsx @@ -213,7 +213,7 @@ superagent.Request.prototype.end = function(callback) { }); }; -function enableDataDogTracking() { +function enableDataDogTracking(store: AppStore) { datadogLogs.init({ clientToken: 'pub9a94ebb002f105ff44d8e427b6549775', site: 'datadoghq.com', @@ -246,17 +246,25 @@ function enableDataDogTracking() { const oldRequest = (internalClient as any).request; (internalClient as any).request = function(...args: any) { try { - const url = args[1]; + let url = args[1]; + + if (Object.keys(args[4]).length) { + url = url + '?' + $.param(args[4]); + } + const data = args[2]; const studyIds = data.studyIds || data.studyViewFilter.studyIds; + const appName = store.serverConfig.app_name; + if (studyIds.length < 4 && _.some(match, re => re.test(url))) { const hash = hashString(url + JSON.stringify(toJS(data))); datadogLogs.logger.info('study view request', { url, data, hash, + appName, }); } } catch (ex) { @@ -363,10 +371,12 @@ $(document).ready(async () => { initializeAppStore(stores.appStore); if ( - stores.appStore.serverConfig.app_name === 'public-portal' && + ['genie-public-portal', 'public-portal'].includes( + stores.appStore.serverConfig.app_name! + ) && !isWebdriver() ) { - enableDataDogTracking(); + enableDataDogTracking(stores.appStore); } await loadCustomJs();