Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[APM] Service map - add page load and interaction telemetry #61009

Merged
merged 2 commits into from Mar 24, 2020

Conversation

@ogupte
Copy link
Contributor

ogupte commented Mar 23, 2020

Closes #60527 by adding called to shared observability usage tracking function when service map page is loaded, and if the user interacts with it.

function when service map page is loaded, and if the user interacts with
it
@ogupte ogupte requested a review from elastic/apm-ui as a code owner Mar 23, 2020
@@ -63,6 +71,9 @@ export function ServiceMap({ serviceName }: ServiceMapProps) {
<div
style={{ height: height - parseInt(theme.gutterTypes.gutterLarge, 10) }}
ref={ref}
onMouseDown={() => {
trackApmEvent({ metric: 'service_map_click_interaction' });

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

Is this when opening the popover? in that case, should we be explicit about that?

Suggested change
trackApmEvent({ metric: 'service_map_click_interaction' });
trackApmEvent({ metric: 'service_map_open_popover' });

or perhaps (in case we'll allow clicking edges in the future):

Suggested change
trackApmEvent({ metric: 'service_map_click_interaction' });
trackApmEvent({ metric: 'service_map_node_click' });
@@ -63,6 +71,9 @@ export function ServiceMap({ serviceName }: ServiceMapProps) {
<div
style={{ height: height - parseInt(theme.gutterTypes.gutterLarge, 10) }}
ref={ref}
onMouseDown={() => {

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

Instead of tracking upon onMouseDown should we do it when selecting a node?

const selectHandler: cytoscape.EventHandler = event => {
setSelectedNode(event.target);
};

This comment has been minimized.

Copy link
@ogupte

ogupte Mar 24, 2020

Author Contributor

In discussion, it was decided to only track simple clicks inside the service map area, and increase granularity after beta. Do we want to revisit that, @nehaduggal?

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

I'm not asking to track more, just trying to understand what we are currently tracking. If this is a service node click we are tracking, shouldn't we do it on the existing handler?

This comment has been minimized.

Copy link
@ogupte

ogupte Mar 24, 2020

Author Contributor

We discussed this today, and are OK with higher granularity in the tracking. I'll make the updates. When we discussed earlier, there was only interest in clicks inside the area, regardless of which object was or wasn't clicked. The existing handlers will provide a better idea of how the user interacts with it, rather than just a binary interaction type event.

@smith
smith approved these changes Mar 24, 2020
@kibanamachine

This comment has been minimized.

Copy link

kibanamachine commented Mar 24, 2020

💚 Build Succeeded

History

To update your PR or re-run it, just comment with:
@elasticmachine merge upstream

@ogupte ogupte merged commit 693e74b into elastic:master Mar 24, 2020
55 checks passed
55 checks passed
API integration tests node scripts/functional_tests --config test/api_integration/config.js --bail --debug
Details
Browser tests yarn run grunt test:karma-ci
Details
Build kbn_tp_sample_panel_action yarn build
Details
CLA All commits passed the check
Details
Check core API changes node scripts/check_published_api_changes
Details
Check file casing node scripts/check_file_casing --quiet
Details
Check licenses node scripts/check_licenses --dev
Details
Check lockfile symlinks node scripts/check_lockfile_symlinks --quiet
Details
Example functional tests node scripts/functional_tests --config test/examples/config.js --bail --debug
Details
Functional tests / Group 1 yarn run grunt run:functionalTests_ciGroup1
Details
Functional tests / Group 10 yarn run grunt run:functionalTests_ciGroup10
Details
Functional tests / Group 11 yarn run grunt run:functionalTests_ciGroup11
Details
Functional tests / Group 12 yarn run grunt run:functionalTests_ciGroup12
Details
Functional tests / Group 2 yarn run grunt run:functionalTests_ciGroup2
Details
Functional tests / Group 3 yarn run grunt run:functionalTests_ciGroup3
Details
Functional tests / Group 4 yarn run grunt run:functionalTests_ciGroup4
Details
Functional tests / Group 5 yarn run grunt run:functionalTests_ciGroup5
Details
Functional tests / Group 6 yarn run grunt run:functionalTests_ciGroup6
Details
Functional tests / Group 7 yarn run grunt run:functionalTests_ciGroup7
Details
Functional tests / Group 8 yarn run grunt run:functionalTests_ciGroup8
Details
Functional tests / Group 9 yarn run grunt run:functionalTests_ciGroup9
Details
Internationalization check node scripts/i18n_check --ignore-missing
Details
Interpreter functional tests node scripts/functional_tests --config test/interpreter_functional/config.ts --bail --debug --kibana-install-dir /dev/shm/workspace/kibana/build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64-1
Details
Jest integration tests yarn run grunt test:jest_integration
Details
Jest tests yarn run grunt test:jest
Details
Kibana accessibility tests node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/kibana/build/oss/kibana-8.0.0-SNAPSHOT-linux-x86_64 --config test/accessibility/config.ts
Details
Mocha tests node scripts/mocha
Details
Node.js hardening tests node scripts/test_hardening.js
Details
Plugin functional tests node scripts/functional_tests --config test/plugin_functional/config.js --bail --debug
Details
Project tests yarn run grunt test:projects
Details
Type check node scripts/type_check
Details
TypeScript - all files belong to a TypeScript project node scripts/check_ts_projects
Details
Verify NOTICE.txt node scripts/notice --validate
Details
Verify dependency versions yarn run grunt verifyDependencyVersions
Details
X-Pack Chrome Functional tests / Group 1 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-1 --include-tag ciGroup1
Details
X-Pack Chrome Functional tests / Group 10 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-10 --include-tag ciGroup10
Details
X-Pack Chrome Functional tests / Group 2 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-2 --include-tag ciGroup2
Details
X-Pack Chrome Functional tests / Group 3 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-3 --include-tag ciGroup3
Details
X-Pack Chrome Functional tests / Group 4 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-4 --include-tag ciGroup4
Details
X-Pack Chrome Functional tests / Group 5 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-5 --include-tag ciGroup5
Details
X-Pack Chrome Functional tests / Group 6 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-6 --include-tag ciGroup6
Details
X-Pack Chrome Functional tests / Group 7 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-7 --include-tag ciGroup7
Details
X-Pack Chrome Functional tests / Group 8 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-8 --include-tag ciGroup8
Details
X-Pack Chrome Functional tests / Group 9 node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana-9 --include-tag ciGroup9
Details
X-Pack Jest node --max-old-space-size=6144 scripts/jest --ci --verbose --detectOpenHandles
Details
X-Pack Karma Tests yarn test:karma
Details
X-Pack SIEM cyclic dependency test node legacy/plugins/siem/scripts/check_circular_deps
Details
X-Pack accessibility tests node scripts/functional_tests --debug --bail --kibana-install-dir /dev/shm/workspace/install/kibana --config test/accessibility/config.ts
Details
elasticsearch-ci/docs Build finished.
Details
eslint node scripts/eslint --no-cache
Details
kibana-ci Build finished.
Details
prbot:outdated
prbot:release note labels
prbot:release version labels
sasslint node scripts/sasslint
Details
@@ -169,6 +172,7 @@ export function Cytoscape({
});
};
const mouseoverHandler: cytoscape.EventHandler = event => {
trackApmEvent({ metric: 'service_map_object_hover' });

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

What's the "object" being hovered?

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

Asking because I honestly don't know, and it'll be even harder to figure out when looking at this metric on the telemetry cluster.

This comment has been minimized.

Copy link
@ogupte

ogupte Mar 24, 2020

Author Contributor

right now the only objects in cytoscape are nodes and edges, so we could rename this service_map_node_or_edge_hover to make it more clear.

This comment has been minimized.

Copy link
@sqren

sqren Mar 24, 2020

Member

Ah okay! So it's whenever either of them are hovered this will trigger? Personally I'd definitely prefer the explicit version (service_map_node_or_edge_hover)

This comment has been minimized.

Copy link
@ogupte

ogupte Mar 24, 2020

Author Contributor
ogupte added a commit to ogupte/kibana that referenced this pull request Mar 24, 2020
…61009)

* Closes elastic#60527 by adding called to shared observability usage tracking
function when service map page is loaded, and if the user interacts with
it

* trigger usage tracking on specific cytoscape events: node select, object hover
ogupte added a commit that referenced this pull request Mar 24, 2020
…61169)

* Closes #60527 by adding called to shared observability usage tracking
function when service map page is loaded, and if the user interacts with
it

* trigger usage tracking on specific cytoscape events: node select, object hover
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

4 participants
You can’t perform that action at this time.