Skip to content

Commit

Permalink
Merge pull request #135 from abbvie-external/add-datadog
Browse files Browse the repository at this point in the history
Add Datadog
  • Loading branch information
paulnordlund committed Jun 21, 2024
2 parents 1335c6a + e6ee1a9 commit b783a93
Show file tree
Hide file tree
Showing 4 changed files with 135 additions and 3 deletions.
79 changes: 79 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 3 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@
"version": "1.9.4",
"private": true,
"dependencies": {
"@datadog/browser-rum": "^5.21.0",
"@observablehq/stdlib": "^5.6.1",
"array-move": "^2.2.2",
"axios": "^0.21.4",
"can-ndjson-stream": "^1.0.2",
"crypto": "^1.0.1",
"d3": "^5.16.0",
"d3-array": "^2.12.1",
"d3-hexbin": "^0.2.2",
Expand All @@ -17,6 +19,7 @@
"jquery": "^3.6.4",
"json-to-txt": "^2.1.1",
"jspdf": "^2.5.1",
"jwt-decode": "^4.0.0",
"lodash-es": "^4.17.15",
"npm-check-updates": "^16.10.9",
"npm-run-all": "^4.1.5",
Expand Down
38 changes: 35 additions & 3 deletions src/components/Tabs.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,14 @@ import {
Header,
} from 'semantic-ui-react';
import { omicNavigatorService } from '../services/omicNavigator.service';
import { authService } from '../services/auth.service';
import Differential from './Differential/Differential';
import omicNavigatorIcon from '../resources/icon.png';
import Enrichment from './Enrichment/Enrichment';
import { updateUrl } from './Shared/UrlControl';

import { datadogRum } from '@datadog/browser-rum';
import { jwtDecode } from 'jwt-decode';
import { createHash } from 'crypto';
class Tabs extends Component {
constructor(props) {
super(props);
Expand Down Expand Up @@ -74,6 +77,9 @@ class Tabs extends Component {
}

componentDidMount() {
if (process.env.NODE_ENV === 'development') {
this.initDatadog();
}
updateUrl(
this.props,
this.state,
Expand All @@ -84,12 +90,38 @@ class Tabs extends Component {
null,
);
this.getStudies();
window.addEventListener('resize', this.handleResize);
window.addEventListener('resizeDifferential', this.handleResize);
}

componentWillUnmount() {
// Remove the event listener when the component is unmounted
window.removeEventListener('resize', this.handleResize);
window.removeEventListener('resizeDifferential', this.handleResize);
}

async initDatadog() {
try {
let authToken = await authService.getAuthToken();
let decodedToken = jwtDecode(authToken.token);
let userUpi = decodedToken?.upi || null;
let hashedUpi = createHash('md5').update(userUpi).digest('hex');
datadogRum.setUser({ id: hashedUpi });
datadogRum.init({
applicationId: '3f3af9b9-aeee-4b6c-98bd-0903257b2d8b',
clientToken: 'pub2a6525f23ad2b41896b5e10578fdf044',
proxy: 'https://api-ds.ir-gateway.abbvienet.com/datadog-intake-proxy',
site: 'datadoghq.com',
service: 'omicnavigator-ui',
env: 'dev',
sessionSampleRate: 100,
sessionReplaySampleRate: 20,
trackUserInteractions: true,
trackResources: true,
trackLongTasks: true,
defaultPrivacyLevel: 'allow',
});
} catch (error) {
console.log(error);
}
}

handleResize() {
Expand Down
18 changes: 18 additions & 0 deletions src/services/auth.service.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import axios from 'axios';

class AuthService {
async getAuthToken() {
try {
const { data } = await axios({
method: 'get',
url: `https://gprd-auth.abbvienet.com:8110/auth.service/auth/token`,
timeout: 10000,
withCredentials: true,
});
return data;
} catch (error) {
return error;
}
}
}
export const authService = new AuthService();

0 comments on commit b783a93

Please sign in to comment.