Skip to content

Commit

Permalink
feat: Added analytics for pulse failure
Browse files Browse the repository at this point in the history
  • Loading branch information
albinAppsmith committed Nov 27, 2024
1 parent 1295c6a commit 18929d4
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 1 deletion.
3 changes: 2 additions & 1 deletion app/client/src/ce/utils/analyticsUtilTypes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -351,7 +351,8 @@ export type EventName =
| "EDITOR_MODE_CHANGE"
| BUILDING_BLOCKS_EVENTS
| "VISIT_SELF_HOST_DOCS"
| "CANVAS_HOVER";
| "CANVAS_HOVER"
| "MALFORMED_USAGE_PULSE";

type HOMEPAGE_CREATE_APP_FROM_TEMPLATE_EVENTS =
| "TEMPLATE_DROPDOWN_CLICK"
Expand Down
10 changes: 10 additions & 0 deletions app/client/src/usagePulse/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { getAppMode } from "ee/selectors/entitiesSelector";
import store from "store";
import AnalyticsUtil from "ee/utils/AnalyticsUtil";
import { FALLBACK_KEY } from "ee/constants/UsagePulse";
import { getInstanceId } from "ee/selectors/tenantSelectors";

//TODO (Dipyaman): We should return a promise that will get resolved only on success or rejected after the retries
export const fetchWithRetry = (config: {
Expand All @@ -16,6 +17,9 @@ export const fetchWithRetry = (config: {
retries: number;
retryTimeout: number;
}) => {
const instanceId = getInstanceId(store.getState());
const anonymousUserId = AnalyticsUtil.getAnonymousId();

fetch(config.url, {
method: "POST",
credentials: "same-origin",
Expand All @@ -36,6 +40,12 @@ export const fetchWithRetry = (config: {
retries: config.retries - 1,
retryTimeout: config.retryTimeout,
});
} else {
// add analytics for failed usage pulse
AnalyticsUtil.logEvent("MALFORMED_USAGE_PULSE", {
anonymousUserId,
instanceId,
});
}
});
};
Expand Down

0 comments on commit 18929d4

Please sign in to comment.