Skip to content

Commit

Permalink
[Security Solutions] Add telemetry to the side navigation tracking fo…
Browse files Browse the repository at this point in the history
…r serverless pages (elastic#164309)

issue: elastic#164306

## Summary
Add <TrackApplicationView> telemetry to serverless-specific Security
pages
Pages: Investigations, Assets, ML, Project Settings.

## How to test it
* Visit Investigations, Assets, ML, and Project Settings.
When you navigate between pages the app should log "Reporting
application usage for securitySolutionUI, {PAGE}" like it does for the
other pages

---------

Co-authored-by: kibanamachine <42973632+kibanamachine@users.noreply.github.com>
  • Loading branch information
machadoum and kibanamachine authored Aug 22, 2023
1 parent 03e2ba9 commit 813eebe
Show file tree
Hide file tree
Showing 6 changed files with 50 additions and 34 deletions.
5 changes: 4 additions & 1 deletion x-pack/plugins/security_solution_serverless/kibana.jsonc
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
"optionalPlugins": [
"securitySolutionEss"
],
"requiredBundles": ["kibanaUtils"]
"requiredBundles": [
"kibanaUtils",
"usageCollection"
]
}
}
37 changes: 20 additions & 17 deletions x-pack/plugins/security_solution_serverless/public/pages/assets.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import { SecurityPageName } from '@kbn/security-solution-navigation';
import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template';
import { EuiCallOut, EuiPageHeader, EuiSpacer, useEuiTheme } from '@elastic/eui';
import { LinkButton } from '@kbn/security-solution-navigation/links';
import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
import { useNavLink } from '../common/hooks/use_nav_links';
import { ExternalPageName } from '../navigation/links/constants';

Expand Down Expand Up @@ -42,23 +43,25 @@ export const AssetsRoute: React.FC = () => {
return (
<KibanaPageTemplate restrictWidth={false} contentBorder={false} grow={true}>
<KibanaPageTemplate.Section>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIconsGroups items={links} />
<EuiSpacer size="l" />
<EuiSpacer size="l" />
<EuiCallOut
title={INTEGRATIONS_CALLOUT_TITLE}
color="primary"
iconType="cluster"
style={{ borderRadius: euiTheme.border.radius.medium }}
>
<p>{INTEGRATIONS_CALLOUT_DESCRIPTION}</p>
<LinkButton id={ExternalPageName.integrationsSecurity} fill>
{INTEGRATIONS_CALLOUT_BUTTON_TEXT}
</LinkButton>
</EuiCallOut>
<TrackApplicationView viewId={SecurityPageName.assets}>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIconsGroups items={links} />
<EuiSpacer size="l" />
<EuiSpacer size="l" />
<EuiCallOut
title={INTEGRATIONS_CALLOUT_TITLE}
color="primary"
iconType="cluster"
style={{ borderRadius: euiTheme.border.radius.medium }}
>
<p>{INTEGRATIONS_CALLOUT_DESCRIPTION}</p>
<LinkButton id={ExternalPageName.integrationsSecurity} fill>
{INTEGRATIONS_CALLOUT_BUTTON_TEXT}
</LinkButton>
</EuiCallOut>
</TrackApplicationView>
</KibanaPageTemplate.Section>
</KibanaPageTemplate>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { LandingLinksIcons } from '@kbn/security-solution-navigation/landing_lin
import { SecurityPageName } from '@kbn/security-solution-navigation';
import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template';
import { EuiPageHeader, EuiSpacer } from '@elastic/eui';
import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
import { useNavLink } from '../common/hooks/use_nav_links';

export const InvestigationsRoute: React.FC = () => {
Expand All @@ -19,10 +20,12 @@ export const InvestigationsRoute: React.FC = () => {
return (
<KibanaPageTemplate restrictWidth={false} contentBorder={false} grow={true}>
<KibanaPageTemplate.Section>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIcons items={links} />
<TrackApplicationView viewId={SecurityPageName.investigations}>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIcons items={links} />
</TrackApplicationView>
</KibanaPageTemplate.Section>
</KibanaPageTemplate>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import { LandingLinksIconsCategories } from '@kbn/security-solution-navigation/l
import { SecurityPageName } from '@kbn/security-solution-navigation';
import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template';
import { EuiPageHeader, EuiSpacer } from '@elastic/eui';
import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
import { useNavLink } from '../common/hooks/use_nav_links';

export const MachineLearningRoute: React.FC = () => {
Expand All @@ -19,10 +20,12 @@ export const MachineLearningRoute: React.FC = () => {
return (
<KibanaPageTemplate restrictWidth={false} contentBorder={false} grow={true}>
<KibanaPageTemplate.Section>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIconsCategories links={links} categories={categories} />
<TrackApplicationView viewId={SecurityPageName.mlLanding}>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIconsCategories links={links} categories={categories} />
</TrackApplicationView>
</KibanaPageTemplate.Section>
</KibanaPageTemplate>
);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import {
SecurityPageName,
} from '@kbn/security-solution-navigation';
import { KibanaPageTemplate } from '@kbn/shared-ux-page-kibana-template';
import { TrackApplicationView } from '@kbn/usage-collection-plugin/public';
import { useNavLink } from '../common/hooks/use_nav_links';

export const ProjectSettingsRoute: React.FC = () => {
Expand All @@ -34,13 +35,15 @@ export const ProjectSettingsRoute: React.FC = () => {
return (
<KibanaPageTemplate restrictWidth={false} contentBorder={false} grow={true}>
<KibanaPageTemplate.Section>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIcons items={iconLinks} />
<EuiSpacer size="l" />
<EuiHorizontalRule />
<LandingLinksIconsCategoriesGroups links={links} categories={accordionCategories} />
<TrackApplicationView viewId={SecurityPageName.projectSettings}>
<EuiPageHeader pageTitle={title} />
<EuiSpacer size="l" />
<EuiSpacer size="xl" />
<LandingLinksIcons items={iconLinks} />
<EuiSpacer size="l" />
<EuiHorizontalRule />
<LandingLinksIconsCategoriesGroups links={links} categories={accordionCategories} />
</TrackApplicationView>
</KibanaPageTemplate.Section>
</KibanaPageTemplate>
);
Expand Down
3 changes: 2 additions & 1 deletion x-pack/plugins/security_solution_serverless/tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
"@kbn/cloud-plugin",
"@kbn/cloud-security-posture-plugin",
"@kbn/fleet-plugin",
"@kbn/core-elasticsearch-server"
"@kbn/core-elasticsearch-server",
"@kbn/usage-collection-plugin"
]
}

0 comments on commit 813eebe

Please sign in to comment.