Skip to content

Commit d0b0541

Browse files
committed
Send provider data to telemetry only if databaseId present
1 parent a172cf4 commit d0b0541

File tree

9 files changed

+32
-24
lines changed

9 files changed

+32
-24
lines changed
Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,4 @@
1-
import { TelemetryEvent, TelemetryPageView } from 'uiSrc/telemetry'
2-
31
export enum ReleaseNotesSource {
42
helpCenter = 'Help Center',
53
updateNotification = 'Update notification'
64
}
7-
8-
export const eventsWithExcludedProvider: string[] = [
9-
TelemetryPageView.DATABASES_LIST_PAGE,
10-
TelemetryPageView.SETTINGS_PAGE,
11-
TelemetryEvent.NOTIFICATIONS_HISTORY_OPENED,
12-
TelemetryEvent.CONFIG_DATABASES_DATABASE_LIST_SEARCHED,
13-
TelemetryEvent.INSIGHTS_PANEL_OPENED,
14-
TelemetryEvent.INSIGHTS_PANEL_CLOSED,
15-
TelemetryEvent.INSIGHTS_PANEL_TAB_CHANGED,
16-
TelemetryEvent.CONFIG_DATABASES_REDIS_IMPORT_CLICKED,
17-
TelemetryEvent.CONFIG_DATABASES_CLICKED
18-
]

redisinsight/ui/src/pages/rdi/pipeline-management/pages/config/Config.spec.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,9 @@ describe('Config', () => {
6464

6565
expect(sendPageViewTelemetry).toBeCalledWith({
6666
name: TelemetryPageView.RDI_CONFIG,
67+
eventData: {
68+
rdiInstanceId: 'rdiInstanceId',
69+
}
6770
})
6871
})
6972

redisinsight/ui/src/pages/rdi/pipeline-management/pages/config/Config.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ const Config = () => {
3838
useEffect(() => {
3939
sendPageViewTelemetry({
4040
name: TelemetryPageView.RDI_CONFIG,
41+
eventData: {
42+
rdiInstanceId
43+
}
4144
})
4245

4346
return () => {

redisinsight/ui/src/pages/rdi/pipeline-management/pages/job/JobWrapper.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,9 @@ const JobWrapper = () => {
4040
useEffect(() => {
4141
sendPageViewTelemetry({
4242
name: TelemetryPageView.RDI_JOBS,
43+
eventData: {
44+
rdiInstanceId
45+
}
4346
})
4447
}, [])
4548

redisinsight/ui/src/pages/rdi/pipeline-management/pages/job/JobsWrapper.spec.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@ describe('JobWrapper', () => {
5656

5757
expect(sendPageViewTelemetry).toBeCalledWith({
5858
name: TelemetryPageView.RDI_JOBS,
59+
eventData: {
60+
rdiInstanceId: 'rdiInstanceId',
61+
}
5962
})
6063
})
6164

redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.spec.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,10 @@ describe('StatisticsPage', () => {
140140
render(<StatisticsPage />)
141141

142142
expect(sendPageViewTelemetry).toBeCalledWith({
143-
name: TelemetryPageView.RDI_STATUS
143+
name: TelemetryPageView.RDI_STATUS,
144+
eventData: {
145+
rdiInstanceId: 'rdiInstanceId',
146+
}
144147
})
145148
})
146149

redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,10 @@ const StatisticsPage = () => {
7070
dispatch(fetchRdiStatistics(rdiInstanceId))
7171

7272
sendPageViewTelemetry({
73-
name: TelemetryPageView.RDI_STATUS
73+
name: TelemetryPageView.RDI_STATUS,
74+
eventData: {
75+
rdiInstanceId
76+
}
7477
})
7578
}, [])
7679

redisinsight/ui/src/telemetry/interfaces.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ export interface ITelemetryIdentify {
88

99
export type EventData = {
1010
[key: string]: any
11+
databaseId?: string
1112
provider?: string
1213
}
1314

redisinsight/ui/src/telemetry/telemetryUtils.ts

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ import { KeyViewType } from 'uiSrc/slices/interfaces/keys'
1111
import { IModuleSummary, ITelemetrySendEvent, ITelemetrySendPageView, RedisModulesKeyType } from 'uiSrc/telemetry/interfaces'
1212
import { apiService } from 'uiSrc/services'
1313
import { store } from 'uiSrc/slices/store'
14-
import { eventsWithExcludedProvider } from 'uiSrc/constants/telemetry'
1514
import { AdditionalRedisModule } from 'apiSrc/modules/database/models/additional.redis.module'
1615
import {
1716
IRedisModulesSummary,
@@ -21,7 +20,10 @@ import {
2120
import { TelemetryEvent } from './events'
2221
import { checkIsAnalyticsGranted } from './checkAnalytics'
2322

24-
export const getProvider = (): Maybe<string> => get(store.getState(), 'connections.instances.connectedInstance.provider')
23+
export const getProvider = (dbId: string): Maybe<string> => {
24+
const instance = get(store.getState(), 'connections.instances.connectedInstance')
25+
return (instance.id === dbId) ? instance.provider : undefined
26+
}
2527

2628
const TELEMETRY_EMPTY_VALUE = 'none'
2729

@@ -32,8 +34,8 @@ const sendEventTelemetry = async ({ event, eventData = {}, traits = {} }: ITelem
3234
return
3335
}
3436

35-
if (!eventData.provider && !eventsWithExcludedProvider.includes(event)) {
36-
eventData.provider = getProvider()
37+
if (!eventData.provider && eventData.databaseId) {
38+
eventData.provider = getProvider(eventData.databaseId)
3739
}
3840
await apiService.post(`${ApiEndpoints.ANALYTICS_SEND_EVENT}`,
3941
{ event, eventData, traits })
@@ -42,16 +44,17 @@ const sendEventTelemetry = async ({ event, eventData = {}, traits = {} }: ITelem
4244
}
4345
}
4446

45-
const sendPageViewTelemetry = async ({ name, eventData = {} }: ITelemetrySendPageView) => {
47+
const sendPageViewTelemetry = async ({ name, databaseId, eventData = {} }: ITelemetrySendPageView) => {
4648
try {
4749
const isAnalyticsGranted = checkIsAnalyticsGranted()
4850
if (!isAnalyticsGranted) {
4951
return
5052
}
51-
if (!eventData.provider && !eventsWithExcludedProvider.includes(name)) {
52-
eventData.provider = getProvider()
53+
if (!eventData.provider && databaseId) {
54+
eventData.provider = getProvider(databaseId)
5355
}
54-
await apiService.post(`${ApiEndpoints.ANALYTICS_SEND_PAGE}`, { event: name, eventData })
56+
await apiService.post(`${ApiEndpoints.ANALYTICS_SEND_PAGE}`,
57+
{ event: name, eventData: { ...eventData, databaseId } })
5558
} catch (e) {
5659
// continue regardless of error
5760
}

0 commit comments

Comments
 (0)