Skip to content

Commit a43b7b9

Browse files
author
Edward Marzal
committed
applied feedback
1 parent ae422eb commit a43b7b9

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

ui/package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
"@types/node": "^12.20.37",
88
"@types/react": "^17.0.35",
99
"@types/react-dom": "^17.0.11",
10+
"@datadog/browser-rum": "^4.25.0",
1011
"ajv": "^8.8.2",
1112
"brace": "^0.11.1",
1213
"jsoneditor": "^9.5.8",

ui/src/components/ErrorBoundary/index.tsx

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,35 @@
22
/* eslint-disable react/destructuring-assignment */
33
import React from "react";
44
import TrackJS from "../../trackjs";
5+
import { datadogRum } from '@datadog/browser-rum';
56

6-
interface MyProps {}
7+
interface MyProps {
8+
children: React.ReactElement;
9+
}
710

811
interface MyState {
912
hasError: boolean;
1013
}
1114

15+
//datadog-rum Installation
16+
datadogRum.init({
17+
applicationId: `${process.env.REACT_APP_DATADOG_RUM_APPLICATION_ID}`,
18+
clientToken: `${process.env.REACT_APP_DATADOG_RUM_CLIENT_TOKEN}`,
19+
site: `${process.env.REACT_APP_DATADOG_RUM_SITE}`,
20+
service: `${process.env.REACT_APP_DATADOG_RUM_SERVICE}`,
21+
sampleRate: 100,
22+
sessionReplaySampleRate: 20,
23+
trackInteractions: true,
24+
trackResources: true,
25+
trackLongTasks: true,
26+
defaultPrivacyLevel: 'mask-user-input',
27+
useCrossSiteSessionCookie: true,
28+
});
29+
30+
//sending MetaData to Datadog RUM
31+
datadogRum.setGlobalContextProperty('Application Type', 'Marketplace');
32+
datadogRum.setGlobalContextProperty('Application Name', 'JSON Editor App');
33+
1234
class ErrorBoundary extends React.Component<MyProps, MyState> {
1335
constructor(props: any) {
1436
super(props);

ui/src/containers/ConfigScreen/index.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,13 @@ import "tippy.js/dist/tippy.css";
1919
/* Import our CSS */
2020
import "./styles.scss";
2121

22+
import useJsErrorTracker from "../../hooks/useJsErrorTracker";
23+
2224
const ConfigScreen: React.FC = function () {
25+
26+
// error tracking hooks
27+
const { addMetadata, trackError } = useJsErrorTracker();
28+
2329
const [state, setState] = useState<TypeAppSdkConfigState>({
2430
installationData: {
2531
configuration: {
@@ -60,9 +66,17 @@ const ConfigScreen: React.FC = function () {
6066
setIsStringified(
6167
state?.installationData?.configuration?.isStringified
6268
);
69+
70+
// setting metadata for js error tracker
71+
addMetadata("stack", `${appSdk?.stack._data.name}`);
72+
addMetadata("organization", `${appSdk?.currentUser.defaultOrganization}`);
73+
addMetadata("api_key", `${stackKey}`);
74+
addMetadata("user_uid", `${appSdk?.stack._data.collaborators[0].uid}`);
75+
6376
}
6477
})
6578
.catch((error) => {
79+
trackError(error);
6680
console.error(constants.appSdkError, error);
6781
});
6882
}, []);

0 commit comments

Comments
 (0)