|
| 1 | +import { datadogRum } from "@datadog/browser-rum"; |
| 2 | + |
| 3 | +import { Organization, Project, User } from "@src/types/models"; |
| 4 | + |
| 5 | +export const DatadogUtils = { |
| 6 | + setUser: (userId: string, userInfo: User) => { |
| 7 | + datadogRum.setUser({ |
| 8 | + id: userId, |
| 9 | + email: userInfo.email, |
| 10 | + name: userInfo.name, |
| 11 | + }); |
| 12 | + datadogRum.setGlobalContextProperty("user.id", userId); |
| 13 | + datadogRum.setGlobalContextProperty("user.email", userInfo.email); |
| 14 | + datadogRum.setGlobalContextProperty("user.name", userInfo.name); |
| 15 | + }, |
| 16 | + |
| 17 | + setOrg: (orgId: string, orgInfo: Organization) => { |
| 18 | + datadogRum.setGlobalContextProperty("organization.id", orgId); |
| 19 | + datadogRum.setGlobalContextProperty("organization.name", orgInfo.displayName); |
| 20 | + datadogRum.setGlobalContextProperty("organization.uniqueName", orgInfo.uniqueName); |
| 21 | + }, |
| 22 | + |
| 23 | + setProject: (projectId: string, projectInfo: Project) => { |
| 24 | + datadogRum.setGlobalContextProperty("project.id", projectId); |
| 25 | + datadogRum.setGlobalContextProperty("project.name", projectInfo.name); |
| 26 | + if (projectInfo.organizationId) { |
| 27 | + datadogRum.setGlobalContextProperty("project.organizationId", projectInfo.organizationId); |
| 28 | + } |
| 29 | + }, |
| 30 | + |
| 31 | + setUserRole: (role: string) => { |
| 32 | + datadogRum.setGlobalContextProperty("user.role", role); |
| 33 | + }, |
| 34 | + |
| 35 | + setPlanType: (planType: string) => { |
| 36 | + datadogRum.setGlobalContextProperty("billing.planType", planType); |
| 37 | + }, |
| 38 | + |
| 39 | + setDeploymentId: (deploymentId: string) => { |
| 40 | + datadogRum.setGlobalContextProperty("deployment.id", deploymentId); |
| 41 | + }, |
| 42 | + |
| 43 | + trackEvent: (eventName: string, properties?: Record<string, any>) => { |
| 44 | + datadogRum.addAction(eventName, properties); |
| 45 | + }, |
| 46 | + |
| 47 | + setSessionId: (sessionId: string) => { |
| 48 | + datadogRum.setGlobalContextProperty("session.id", sessionId); |
| 49 | + }, |
| 50 | + |
| 51 | + setEventId: (eventId: string) => { |
| 52 | + datadogRum.setGlobalContextProperty("event.id", eventId); |
| 53 | + }, |
| 54 | +}; |
0 commit comments