Skip to content

Commit e339cc8

Browse files
authored
ref(ourlogs): Add analytic events for refresh (#95705)
### Summary Also adds one for the timeout being hit
1 parent f1c1f15 commit e339cc8

File tree

2 files changed

+38
-5
lines changed

2 files changed

+38
-5
lines changed

static/app/utils/analytics/logsAnalyticsEvent.tsx

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@ export enum LogsAnalyticsPageSource {
77
}
88

99
export type LogsAnalyticsEventParameters = {
10+
'logs.auto_refresh.timeout': {
11+
organization: Organization;
12+
page_source: LogsAnalyticsPageSource;
13+
};
14+
'logs.auto_refresh.toggled': {
15+
enabled: boolean;
16+
organization: Organization;
17+
page_source: LogsAnalyticsPageSource;
18+
};
1019
'logs.doc_link.clicked': {
1120
organization: Organization;
1221
};
@@ -34,8 +43,10 @@ export type LogsAnalyticsEventParameters = {
3443
type LogsAnalyticsEventKey = keyof LogsAnalyticsEventParameters;
3544

3645
export const logsAnalyticsEventMap: Record<LogsAnalyticsEventKey, string | null> = {
46+
'logs.auto_refresh.timeout': 'Log Auto-refresh Timeout',
47+
'logs.auto_refresh.toggled': 'Log Auto-refresh Toggled',
48+
'logs.doc_link.clicked': 'Logs documentation link clicked',
3749
'logs.explorer.metadata': 'Log Explorer Pageload Metadata',
38-
'logs.table.row_expanded': 'Expanded Log Row Details',
3950
'logs.issue_details.drawer_opened': 'Issues Page Logs Drawer Opened',
40-
'logs.doc_link.clicked': 'Logs documentation link clicked',
51+
'logs.table.row_expanded': 'Expanded Log Row Details',
4152
};

static/app/views/explore/logs/logsAutoRefresh.tsx

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,13 @@ import {Switch} from 'sentry/components/core/switch';
55
import {Tooltip} from 'sentry/components/core/tooltip';
66
import {t} from 'sentry/locale';
77
import {defined} from 'sentry/utils';
8+
import {trackAnalytics} from 'sentry/utils/analytics';
9+
import useOrganization from 'sentry/utils/useOrganization';
810
import usePageFilters from 'sentry/utils/usePageFilters';
911
import usePrevious from 'sentry/utils/usePrevious';
1012
import {useLogsPageData} from 'sentry/views/explore/contexts/logs/logsPageData';
1113
import {
14+
useLogsAnalyticsPageSource,
1215
useLogsAutoRefresh,
1316
useLogsGroupBy,
1417
useLogsRefreshInterval,
@@ -35,6 +38,8 @@ interface AutorefreshToggleProps {
3538
export function AutorefreshToggle({
3639
disabled: externallyDisabled,
3740
}: AutorefreshToggleProps) {
41+
const organization = useOrganization();
42+
const analyticsPageSource = useLogsAnalyticsPageSource();
3843
const checked = useLogsAutoRefresh();
3944
const setChecked = useSetLogsAutoRefresh();
4045
const sortBys = useLogsSortBys();
@@ -113,8 +118,17 @@ export function AutorefreshToggle({
113118
const timeSinceStart = Date.now() - intervalStartTime.current;
114119

115120
// Check if we've exceeded the absolute max timeout
116-
return timeSinceStart > ABSOLUTE_MAX_AUTO_REFRESH_TIME_MS;
117-
}, []);
121+
const hasTimedOut = timeSinceStart > ABSOLUTE_MAX_AUTO_REFRESH_TIME_MS;
122+
123+
if (hasTimedOut) {
124+
trackAnalytics('logs.auto_refresh.timeout', {
125+
organization,
126+
page_source: analyticsPageSource,
127+
});
128+
}
129+
130+
return hasTimedOut;
131+
}, [organization, analyticsPageSource]);
118132

119133
// Our querying is currently at 5000 max logs per page, and our default refresh interval is 5 seconds.
120134
// This means each page if at it's max logs, we're getting 1000 logs per second.
@@ -273,11 +287,19 @@ export function AutorefreshToggle({
273287
}
274288
checked={checked}
275289
onChange={() => {
290+
const newChecked = !checked;
291+
292+
trackAnalytics('logs.auto_refresh.toggled', {
293+
enabled: newChecked,
294+
organization,
295+
page_source: analyticsPageSource,
296+
});
297+
276298
if (!checked) {
277299
// When enabling auto-refresh, reset the disable reason
278300
setDisableReason(undefined);
279301
}
280-
setChecked(!checked);
302+
setChecked(newChecked);
281303
}}
282304
/>
283305
</Tooltip>

0 commit comments

Comments
 (0)