diff --git a/package-lock.json b/package-lock.json index 5a88d35..5b01cfd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1183,6 +1183,54 @@ "resolved": "https://registry.npmjs.org/@csstools/normalize.css/-/normalize.css-10.1.0.tgz", "integrity": "sha512-ij4wRiunFfaJxjB0BdrYHIH8FxBJpOwNPhhAcunlmPdXudL1WQV1qoP9un6JsEBAgQH+7UXyyjh0g7jTxXK6tg==" }, + "@datadog/browser-core": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@datadog/browser-core/-/browser-core-2.6.2.tgz", + "integrity": "sha512-ap7moHk9UuYQWSvmwLFJpyQ9QAUA4n9QHUJhn6H7bSz5QtHFTjgIxnE4ViwwolmaZteHoNtKQSTSM/T8mEHPuA==", + "requires": { + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@datadog/browser-rum": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum/-/browser-rum-2.6.2.tgz", + "integrity": "sha512-r4dzf6xVudJYHPO87wsRp9sCX1YzdruEkHt/ANLywNKFKJusb7v6Qr/NMapQSdCcDSKMlT6hFu57GMzT0wBskQ==", + "requires": { + "@datadog/browser-core": "2.6.2", + "@datadog/browser-rum-core": "2.6.2", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@datadog/browser-rum-core": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@datadog/browser-rum-core/-/browser-rum-core-2.6.2.tgz", + "integrity": "sha512-Ws47kXFUDUGln76qsu+hkTcLr5RLmmYqfRymY5H6We5Ov86fQ2p4oryRokc6WgV50oLAxicUf4Ojt7MhcPFdeg==", + "requires": { + "@datadog/browser-core": "2.6.2", + "tslib": "^1.10.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, "@emotion/hash": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz", diff --git a/package.json b/package.json index 6441d25..c3cfb94 100644 --- a/package.json +++ b/package.json @@ -3,6 +3,7 @@ "version": "0.1.1", "private": true, "dependencies": { + "@datadog/browser-rum": "^2.6.2", "@material-ui/core": "^4.11.2", "@material-ui/icons": "^4.11.2", "@testing-library/jest-dom": "^5.11.8", diff --git a/src/components/App/App.test.js b/src/components/App/App.test.js index e9da1e6..7f32d68 100644 --- a/src/components/App/App.test.js +++ b/src/components/App/App.test.js @@ -1,6 +1,7 @@ jest.mock("../Contexts/UserContext"); jest.mock("../Contexts/FileUploadContext"); jest.mock("../Contexts/VehicleContext"); +jest.mock("../../services/monitoring"); import { render, screen, cleanup, waitForElementToBeRemoved } from "@testing-library/react"; import { setToken } from "../Contexts/UserContext"; diff --git a/src/components/App/index.jsx b/src/components/App/index.jsx index f7a4f12..9997de3 100644 --- a/src/components/App/index.jsx +++ b/src/components/App/index.jsx @@ -5,6 +5,7 @@ import { StatusProvider } from "../Contexts/StatusContext"; import { CssBaseline } from "@material-ui/core"; import MenuDrawer from "../Layouts/MenuDrawer"; import SiteRoutes from "../Routes/SiteRoutes"; +import {} from "../../services/monitoring"; function App() { return ( diff --git a/src/components/ErrorBoundary.jsx b/src/components/ErrorBoundary.jsx index c7931ae..b377051 100644 --- a/src/components/ErrorBoundary.jsx +++ b/src/components/ErrorBoundary.jsx @@ -18,7 +18,7 @@ export default class ErrorBoundary extends Component { if (this.state.hasError) return ( - Oops. An React JS Error Occured. + Client-side Error Occured and Logged ); return this.props.children; diff --git a/src/services/__mocks__/monitoring.js b/src/services/__mocks__/monitoring.js new file mode 100644 index 0000000..4e16c72 --- /dev/null +++ b/src/services/__mocks__/monitoring.js @@ -0,0 +1 @@ +// no actual monitoring with mock \ No newline at end of file diff --git a/src/services/monitoring.js b/src/services/monitoring.js new file mode 100644 index 0000000..ac2338b --- /dev/null +++ b/src/services/monitoring.js @@ -0,0 +1,12 @@ +import { datadogRum } from '@datadog/browser-rum'; + +datadogRum.init({ + applicationId: '8ecd160c-ad5c-4e06-8d88-3a6b89833246', + clientToken: 'pubeb25449bb91773fc993855c7378e375a', + site: 'datadoghq.com', + service:'ota-portal', + // Specify a version number to identify the deployed version of your application in Datadog + // version: '1.0.0', + sampleRate: 100, + trackInteractions: true +}); \ No newline at end of file