Skip to content

Commit

Permalink
[logging] add selected tab name into perf logging (apache#10080)
Browse files Browse the repository at this point in the history
  • Loading branch information
Grace Guo authored Jun 22, 2020
1 parent cb1705f commit 221f380
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 3 deletions.
3 changes: 3 additions & 0 deletions superset-frontend/src/dashboard/components/Dashboard.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -91,12 +91,15 @@ class Dashboard extends React.PureComponent {
}

componentDidMount() {
const appContainer = document.getElementById('app');
const bootstrapData = appContainer?.getAttribute('data-bootstrap') || '';
const { dashboardState, layout } = this.props;
const eventData = {
is_edit_mode: dashboardState.editMode,
mount_duration: Logger.getTimestamp(),
is_empty: isDashboardEmpty(layout),
is_published: dashboardState.isPublished,
bootstrap_data_length: bootstrapData.length,
};
const directLinkComponentId = getLocationHash();
if (directLinkComponentId) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,12 +150,13 @@ class Tabs extends React.PureComponent {
},
});
} else if (tabIndex !== this.state.tabIndex) {
const pathToTabIndex = getDirectPathToTabIndex(component, tabIndex);
const targetTabId = pathToTabIndex[pathToTabIndex.length - 1];
this.props.logEvent(LOG_ACTIONS_SELECT_DASHBOARD_TAB, {
tab_id: component.id,
target_id: targetTabId,
index: tabIndex,
});

const pathToTabIndex = getDirectPathToTabIndex(component, tabIndex);
this.props.onChangeTab({ pathToTabIndex });
}
}
Expand Down
13 changes: 12 additions & 1 deletion superset-frontend/src/middleware/loggerMiddleware.js
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,12 @@ const loggerMiddleware = store => next => action => {
return next(action);
}

const { dashboardInfo, explore, impressionId } = store.getState();
const {
dashboardInfo,
explore,
impressionId,
dashboardLayout,
} = store.getState();
let logMetadata = {
impression_id: impressionId,
version: 'v2',
Expand Down Expand Up @@ -111,6 +116,12 @@ const loggerMiddleware = store => next => action => {
};
}

if (eventData.target_id && dashboardLayout.present) {
const meta = dashboardLayout.present[eventData.target_id].meta;
// chart name or tab/header text
eventData.target_name = meta.chartId ? meta.sliceName : meta.text;
}

logMessageQueue.append(eventData);
return eventData;
};
Expand Down

0 comments on commit 221f380

Please sign in to comment.