diff --git a/x-pack/plugins/apm/e2e/cypress/support/step_definitions/apm.ts b/x-pack/plugins/apm/e2e/cypress/support/step_definitions/apm.ts index ab2bf20b36ed4b..50c620dca9ddfa 100644 --- a/x-pack/plugins/apm/e2e/cypress/support/step_definitions/apm.ts +++ b/x-pack/plugins/apm/e2e/cypress/support/step_definitions/apm.ts @@ -11,7 +11,7 @@ import { loginAndWaitForPage } from '../../integration/helpers'; export const DEFAULT_TIMEOUT = 60 * 1000; Given(`a user browses the APM UI application`, () => { - // open service overview page + // Open service inventory page loginAndWaitForPage(`/app/apm/services`, { from: '2020-06-01T14:59:32.686Z', to: '2020-06-16T16:59:36.219Z', diff --git a/x-pack/plugins/apm/e2e/cypress/support/step_definitions/csm/csm_dashboard.ts b/x-pack/plugins/apm/e2e/cypress/support/step_definitions/csm/csm_dashboard.ts index d8540c3f3efd77..452d8b719b3cb5 100644 --- a/x-pack/plugins/apm/e2e/cypress/support/step_definitions/csm/csm_dashboard.ts +++ b/x-pack/plugins/apm/e2e/cypress/support/step_definitions/csm/csm_dashboard.ts @@ -12,7 +12,7 @@ import { verifyClientMetrics } from './client_metrics_helper'; export const DEFAULT_TIMEOUT = { timeout: 60 * 1000 }; Given(`a user browses the APM UI application for RUM Data`, () => { - // open service overview page + // Open UX landing page const RANGE_FROM = 'now-24h'; const RANGE_TO = 'now'; loginAndWaitForPage( diff --git a/x-pack/plugins/apm/public/components/app/Home/index.tsx b/x-pack/plugins/apm/public/components/app/Home/index.tsx index 446f7b978a434e..c4224bf676abb4 100644 --- a/x-pack/plugins/apm/public/components/app/Home/index.tsx +++ b/x-pack/plugins/apm/public/components/app/Home/index.tsx @@ -20,12 +20,12 @@ import { ApmHeader } from '../../shared/ApmHeader'; import { EuiTabLink } from '../../shared/EuiTabLink'; import { AnomalyDetectionSetupLink } from '../../shared/Links/apm/AnomalyDetectionSetupLink'; import { ServiceMapLink } from '../../shared/Links/apm/ServiceMapLink'; -import { ServiceOverviewLink } from '../../shared/Links/apm/ServiceOverviewLink'; +import { ServiceInventoryLink } from '../../shared/Links/apm/service_inventory_link'; import { SettingsLink } from '../../shared/Links/apm/SettingsLink'; import { TraceOverviewLink } from '../../shared/Links/apm/TraceOverviewLink'; import { SetupInstructionsLink } from '../../shared/Links/SetupInstructionsLink'; import { ServiceMap } from '../ServiceMap'; -import { ServiceOverview } from '../ServiceOverview'; +import { ServiceInventory } from '../service_inventory'; import { TraceOverview } from '../TraceOverview'; import { AlertingPopoverAndFlyout } from './alerting_popover_flyout'; @@ -37,13 +37,13 @@ function getHomeTabs({ const homeTabs = [ { link: ( - + {i18n.translate('xpack.apm.home.servicesTabLabel', { defaultMessage: 'Services', })} - + ), - render: () => , + render: () => , name: 'services', }, { diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/NoServicesMessage.test.tsx b/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/NoServicesMessage.test.tsx deleted file mode 100644 index 21681f42d4b52f..00000000000000 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/NoServicesMessage.test.tsx +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License; - * you may not use this file except in compliance with the Elastic License. - */ - -import { shallow } from 'enzyme'; -import React from 'react'; -import { NoServicesMessage } from '../NoServicesMessage'; -import { FETCH_STATUS } from '../../../../hooks/useFetcher'; - -describe('NoServicesMessage', () => { - Object.values(FETCH_STATUS).forEach((status) => { - [true, false].forEach((historicalDataFound) => { - it(`status: ${status} and historicalDataFound: ${historicalDataFound}`, () => { - const wrapper = shallow( - - ); - expect(wrapper).toMatchSnapshot(); - }); - }); - }); -}); diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/NoServicesMessage.test.tsx.snap b/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/NoServicesMessage.test.tsx.snap deleted file mode 100644 index d027422961c99d..00000000000000 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/NoServicesMessage.test.tsx.snap +++ /dev/null @@ -1,99 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`NoServicesMessage status: failure and historicalDataFound: false 1`] = ``; - -exports[`NoServicesMessage status: failure and historicalDataFound: true 1`] = ``; - -exports[`NoServicesMessage status: loading and historicalDataFound: false 1`] = ``; - -exports[`NoServicesMessage status: loading and historicalDataFound: true 1`] = ``; - -exports[`NoServicesMessage status: pending and historicalDataFound: false 1`] = ` - - } - body={ - -

- Upgrading from a pre-7.x version? Make sure you've also upgraded - your APM Server instance(s) to at least 7.0. -

-

- You may also have old data that needs to be migrated. - - - Learn more by visiting the Kibana Upgrade Assistant - - . -

-
- } - title={ -
- Looks like you don't have any APM services installed. Let's add some! -
- } - titleSize="s" -/> -`; - -exports[`NoServicesMessage status: pending and historicalDataFound: true 1`] = ` - - No services found - - } - titleSize="s" -/> -`; - -exports[`NoServicesMessage status: success and historicalDataFound: false 1`] = ` - - } - body={ - -

- Upgrading from a pre-7.x version? Make sure you've also upgraded - your APM Server instance(s) to at least 7.0. -

-

- You may also have old data that needs to be migrated. - - - Learn more by visiting the Kibana Upgrade Assistant - - . -

-
- } - title={ -
- Looks like you don't have any APM services installed. Let's add some! -
- } - titleSize="s" -/> -`; - -exports[`NoServicesMessage status: success and historicalDataFound: true 1`] = ` - - No services found - - } - titleSize="s" -/> -`; diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/service_overview.test.tsx.snap b/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/service_overview.test.tsx.snap deleted file mode 100644 index 49f30910ee0f10..00000000000000 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/__snapshots__/service_overview.test.tsx.snap +++ /dev/null @@ -1,690 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[`Service Overview -> View should render empty message, when list is empty and historical data is found 1`] = ` -NodeList [ - - -
- -
- -
- No services found -
-
- -
-
-
- - , -] -`; - -exports[`Service Overview -> View should render getting started message, when list is empty and no historical data is found 1`] = ` -NodeList [ - - -
- -
- -
- Looks like you don't have any APM services installed. Let's add some! -
-
-
-

- Upgrading from a pre-7.x version? Make sure you've also upgraded - your APM Server instance(s) to at least 7.0. -

-

- You may also have old data that needs to be migrated. - - - Learn more by visiting the Kibana Upgrade Assistant - - . -

-
- - - - , -] -`; - -exports[`Service Overview -> View should render services, when list is not empty 1`] = ` -NodeList [ - .c1 { - font-size: 16px; - max-width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.c0 { - width: 100%; -} - -.c0 .apmServiceList__serviceNameTooltip { - width: 100%; -} - -.c0 .apmServiceList__serviceNameTooltip .apmServiceList__serviceNameContainer { - width: calc(100% - 24px); -} - - - -
- Health -
-
- - - - Warning - - - -
- - -
- Name -
-
- - - - - -
- - -
- Environment -
-
- - - - - 2 environments - - - - -
- - -
- Avg. response time -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
- 0 ms -
-
-
- - -
- Trans. per minute -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
- 0 tpm -
-
-
- - -
- Error rate % -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
-
-
- - , - .c1 { - font-size: 16px; - max-width: 100%; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; -} - -.c0 { - width: 100%; -} - -.c0 .apmServiceList__serviceNameTooltip { - width: 100%; -} - -.c0 .apmServiceList__serviceNameTooltip .apmServiceList__serviceNameContainer { - width: calc(100% - 24px); -} - - - -
- Health -
-
- - - - Unknown - - - -
- - -
- Name -
-
- - -
-
- go -
- -
-
-
-
- - -
- Environment -
-
- - -
- Avg. response time -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
- 0 ms -
-
-
- - -
- Trans. per minute -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
- 0 tpm -
-
-
- - -
- Error rate % -
-
-
-
-
-
- -
-
-
-
- N/A -
-
-
-
-
-
-
-
- - , -] -`; diff --git a/x-pack/plugins/apm/public/components/app/Settings/index.tsx b/x-pack/plugins/apm/public/components/app/Settings/index.tsx index aa710508022156..e770116ac27593 100644 --- a/x-pack/plugins/apm/public/components/app/Settings/index.tsx +++ b/x-pack/plugins/apm/public/components/app/Settings/index.tsx @@ -36,8 +36,8 @@ export function Settings({ children, location }: SettingsProps) { <> - {i18n.translate('xpack.apm.settings.returnToOverviewLinkLabel', { - defaultMessage: 'Return to overview', + {i18n.translate('xpack.apm.settings.returnLinkLabel', { + defaultMessage: 'Return to inventory', })} diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/HealthBadge.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/ServiceList/HealthBadge.tsx similarity index 100% rename from x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/HealthBadge.tsx rename to x-pack/plugins/apm/public/components/app/service_inventory/ServiceList/HealthBadge.tsx diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/MLCallout.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/ServiceList/MLCallout.tsx similarity index 96% rename from x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/MLCallout.tsx rename to x-pack/plugins/apm/public/components/app/service_inventory/ServiceList/MLCallout.tsx index dd632db0f15fec..67eb22d48aae61 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/ServiceList/MLCallout.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/ServiceList/MLCallout.tsx @@ -15,7 +15,7 @@ import { APMLink } from '../../../shared/Links/apm/APMLink'; export function MLCallout({ onDismiss }: { onDismiss: () => void }) { return ( - {i18n.translate('xpack.apm.serviceOverview.toastText', { + {i18n.translate('xpack.apm.serviceInventory.toastText', { defaultMessage: "You're running Elastic Stack 7.0+ and we've detected incompatible data from a previous 6.x version. If you want to view this data in APM, you should migrate it. See more in ", })} @@ -74,7 +74,7 @@ export function ServiceOverview() { })} > {i18n.translate( - 'xpack.apm.serviceOverview.upgradeAssistantLink', + 'xpack.apm.serviceInventory.upgradeAssistantLinkText', { defaultMessage: 'the upgrade assistant', } @@ -86,6 +86,10 @@ export function ServiceOverview() { } }, [data.hasLegacyData, core.http.basePath, core.notifications.toasts]); + // The page is called "service inventory" to avoid confusion with the + // "service overview", but this is tracked in some dashboards because it's the + // initial landing page for APM, so it stays as "services_overview" (plural.) + // for backward compatibility. useTrackPageview({ app: 'apm', path: 'services_overview' }); useTrackPageview({ app: 'apm', path: 'services_overview', delay: 15000 }); diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx new file mode 100644 index 00000000000000..0fc2a2b4cdcef0 --- /dev/null +++ b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.test.tsx @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { render } from '@testing-library/react'; +import React, { ReactNode } from 'react'; +import { MockApmPluginContextWrapper } from '../../../context/ApmPluginContext/MockApmPluginContext'; +import { FETCH_STATUS } from '../../../hooks/useFetcher'; +import { NoServicesMessage } from './no_services_message'; + +function Wrapper({ children }: { children?: ReactNode }) { + return {children}; +} + +describe('NoServicesMessage', () => { + Object.values(FETCH_STATUS).forEach((status) => { + [true, false].forEach((historicalDataFound) => { + describe(`when status is ${status}`, () => { + describe(`when historicalDataFound is ${historicalDataFound}`, () => { + it('renders', () => { + expect(() => + render( + , + { wrapper: Wrapper } + ) + ).not.toThrowError(); + }); + }); + }); + }); + }); +}); diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/NoServicesMessage.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx similarity index 100% rename from x-pack/plugins/apm/public/components/app/ServiceOverview/NoServicesMessage.tsx rename to x-pack/plugins/apm/public/components/app/service_inventory/no_services_message.tsx diff --git a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/service_overview.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx similarity index 79% rename from x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/service_overview.test.tsx rename to x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx index 06e9008d5aebed..d394c7db625545 100644 --- a/x-pack/plugins/apm/public/components/app/ServiceOverview/__test__/service_overview.test.tsx +++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx @@ -7,22 +7,22 @@ import { render, waitFor } from '@testing-library/react'; import { CoreStart } from 'kibana/public'; import { merge } from 'lodash'; -import React, { FunctionComponent, ReactChild } from 'react'; +import React, { ReactNode } from 'react'; import { MemoryRouter } from 'react-router-dom'; import { createKibanaReactContext } from 'src/plugins/kibana_react/public'; -import { ServiceHealthStatus } from '../../../../../common/service_health_status'; -import { ServiceOverview } from '..'; -import { EuiThemeProvider } from '../../../../../../observability/public'; -import { ApmPluginContextValue } from '../../../../context/ApmPluginContext'; +import { ServiceHealthStatus } from '../../../../common/service_health_status'; +import { ServiceInventory } from '.'; +import { EuiThemeProvider } from '../../../../../observability/public'; +import { ApmPluginContextValue } from '../../../context/ApmPluginContext'; import { mockApmPluginContextValue, MockApmPluginContextWrapper, -} from '../../../../context/ApmPluginContext/MockApmPluginContext'; -import * as useAnomalyDetectionJobs from '../../../../hooks/useAnomalyDetectionJobs'; -import { FETCH_STATUS } from '../../../../hooks/useFetcher'; -import * as useLocalUIFilters from '../../../../hooks/useLocalUIFilters'; -import * as urlParamsHooks from '../../../../hooks/useUrlParams'; -import { SessionStorageMock } from '../../../../services/__test__/SessionStorageMock'; +} from '../../../context/ApmPluginContext/MockApmPluginContext'; +import * as useAnomalyDetectionJobs from '../../../hooks/useAnomalyDetectionJobs'; +import { FETCH_STATUS } from '../../../hooks/useFetcher'; +import * as useLocalUIFilters from '../../../hooks/useLocalUIFilters'; +import * as urlParamsHooks from '../../../hooks/useUrlParams'; +import { SessionStorageMock } from '../../../services/__test__/SessionStorageMock'; const KibanaReactContext = createKibanaReactContext({ usageCollection: { reportUiStats: () => {} }, @@ -31,7 +31,7 @@ const KibanaReactContext = createKibanaReactContext({ const addWarning = jest.fn(); const httpGet = jest.fn(); -function wrapper({ children }: { children: ReactChild }) { +function wrapper({ children }: { children?: ReactNode }) { const mockPluginContext = (merge({}, mockApmPluginContextValue, { core: { http: { @@ -58,13 +58,7 @@ function wrapper({ children }: { children: ReactChild }) { ); } -function renderServiceOverview() { - return render(, { wrapper } as { - wrapper: FunctionComponent<{}>; - }); -} - -describe('Service Overview -> View', () => { +describe('ServiceInventory', () => { beforeEach(() => { // @ts-expect-error global.sessionStorage = new SessionStorageMock(); @@ -129,13 +123,13 @@ describe('Service Overview -> View', () => { ], }); - const { container, findByText } = renderServiceOverview(); + const { container, findByText } = render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); await findByText('My Python Service'); - expect(container.querySelectorAll('.euiTableRow')).toMatchSnapshot(); + expect(container.querySelectorAll('.euiTableRow')).toHaveLength(2); }); it('should render getting started message, when list is empty and no historical data is found', async () => { @@ -145,17 +139,17 @@ describe('Service Overview -> View', () => { items: [], }); - const { container, findByText } = renderServiceOverview(); + const { findByText } = render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); // wait for elements to be rendered - await findByText( + const gettingStartedMessage = await findByText( "Looks like you don't have any APM services installed. Let's add some!" ); - expect(container.querySelectorAll('.euiTableRow')).toMatchSnapshot(); + expect(gettingStartedMessage).not.toBeEmpty(); }); it('should render empty message, when list is empty and historical data is found', async () => { @@ -165,13 +159,13 @@ describe('Service Overview -> View', () => { items: [], }); - const { container, findByText } = renderServiceOverview(); + const { findByText } = render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); - await findByText('No services found'); + const noServicesText = await findByText('No services found'); - expect(container.querySelectorAll('.euiTableRow')).toMatchSnapshot(); + expect(noServicesText).not.toBeEmpty(); }); describe('when legacy data is found', () => { @@ -182,7 +176,7 @@ describe('Service Overview -> View', () => { items: [], }); - renderServiceOverview(); + render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); @@ -203,7 +197,7 @@ describe('Service Overview -> View', () => { items: [], }); - renderServiceOverview(); + render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); @@ -229,7 +223,7 @@ describe('Service Overview -> View', () => { ], }); - const { queryByText } = renderServiceOverview(); + const { queryByText } = render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); @@ -256,7 +250,7 @@ describe('Service Overview -> View', () => { ], }); - const { queryAllByText } = renderServiceOverview(); + const { queryAllByText } = render(, { wrapper }); // wait for requests to be made await waitFor(() => expect(httpGet).toHaveBeenCalledTimes(1)); diff --git a/x-pack/plugins/apm/public/components/shared/Links/apm/ServiceOverviewLink.tsx b/x-pack/plugins/apm/public/components/shared/Links/apm/service_inventory_link.tsx similarity index 90% rename from x-pack/plugins/apm/public/components/shared/Links/apm/ServiceOverviewLink.tsx rename to x-pack/plugins/apm/public/components/shared/Links/apm/service_inventory_link.tsx index 2081fc47679037..e3fa03a4d4f86a 100644 --- a/x-pack/plugins/apm/public/components/shared/Links/apm/ServiceOverviewLink.tsx +++ b/x-pack/plugins/apm/public/components/shared/Links/apm/service_inventory_link.tsx @@ -14,7 +14,7 @@ import { APMLink, APMLinkExtendProps } from './APMLink'; import { useUrlParams } from '../../../../hooks/useUrlParams'; import { pickKeys } from '../../../../../common/utils/pick_keys'; -function ServiceOverviewLink(props: APMLinkExtendProps) { +function ServiceInventoryLink(props: APMLinkExtendProps) { const { urlParams } = useUrlParams(); const persistedFilters = pickKeys(urlParams, 'host', 'agentName'); @@ -22,4 +22,4 @@ function ServiceOverviewLink(props: APMLinkExtendProps) { return ; } -export { ServiceOverviewLink }; +export { ServiceInventoryLink }; diff --git a/x-pack/plugins/apm/public/plugin.ts b/x-pack/plugins/apm/public/plugin.ts index 560a1a077931bc..cc0151afba63c8 100644 --- a/x-pack/plugins/apm/public/plugin.ts +++ b/x-pack/plugins/apm/public/plugin.ts @@ -81,14 +81,14 @@ export class ApmPlugin implements Plugin { if (plugins.observability) { const getApmDataHelper = async () => { const { - fetchOverviewPageData, + fetchObservabilityOverviewPageData, hasData, createCallApmApi, - } = await import('./services/rest/apm_overview_fetchers'); + } = await import('./services/rest/apm_observability_overview_fetchers'); // have to do this here as well in case app isn't mounted yet createCallApmApi(core.http); - return { fetchOverviewPageData, hasData }; + return { fetchObservabilityOverviewPageData, hasData }; }; plugins.observability.dashboard.register({ appName: 'apm', @@ -98,7 +98,7 @@ export class ApmPlugin implements Plugin { }, fetchData: async (params: FetchDataParams) => { const dataHelper = await getApmDataHelper(); - return await dataHelper.fetchOverviewPageData(params); + return await dataHelper.fetchObservabilityOverviewPageData(params); }, }); diff --git a/x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.test.ts b/x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.test.ts similarity index 89% rename from x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.test.ts rename to x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.test.ts index 4e306c93805d05..22ec317fca64bc 100644 --- a/x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.test.ts +++ b/x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.test.ts @@ -5,7 +5,10 @@ */ import moment from 'moment'; -import { fetchOverviewPageData, hasData } from './apm_overview_fetchers'; +import { + fetchObservabilityOverviewPageData, + hasData, +} from './apm_observability_overview_fetchers'; import * as createCallApmApi from './createCallApmApi'; describe('Observability dashboard data', () => { @@ -37,7 +40,7 @@ describe('Observability dashboard data', () => { }); }); - describe('fetchOverviewPageData', () => { + describe('fetchObservabilityOverviewPageData', () => { it('returns APM data with series and stats', async () => { callApmApiMock.mockImplementation(() => Promise.resolve({ @@ -49,7 +52,7 @@ describe('Observability dashboard data', () => { ], }) ); - const response = await fetchOverviewPageData(params); + const response = await fetchObservabilityOverviewPageData(params); expect(response).toEqual({ appLink: '/app/apm/services?rangeFrom=now-15m&rangeTo=now', stats: { @@ -80,7 +83,7 @@ describe('Observability dashboard data', () => { transactionCoordinates: [], }) ); - const response = await fetchOverviewPageData(params); + const response = await fetchObservabilityOverviewPageData(params); expect(response).toEqual({ appLink: '/app/apm/services?rangeFrom=now-15m&rangeTo=now', stats: { @@ -107,7 +110,7 @@ describe('Observability dashboard data', () => { transactionCoordinates: [{ x: 1 }, { x: 2 }, { x: 3 }], }) ); - const response = await fetchOverviewPageData(params); + const response = await fetchObservabilityOverviewPageData(params); expect(response).toEqual({ appLink: '/app/apm/services?rangeFrom=now-15m&rangeTo=now', stats: { diff --git a/x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.ts b/x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.ts similarity index 96% rename from x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.ts rename to x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.ts index 422c7b882e5dc4..bc1db4eed1d9e6 100644 --- a/x-pack/plugins/apm/public/services/rest/apm_overview_fetchers.ts +++ b/x-pack/plugins/apm/public/services/rest/apm_observability_overview_fetchers.ts @@ -13,7 +13,7 @@ import { callApmApi } from './createCallApmApi'; export { createCallApmApi } from './createCallApmApi'; -export const fetchOverviewPageData = async ({ +export const fetchObservabilityOverviewPageData = async ({ absoluteTime, relativeTime, bucketSize, diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index cd090b0c264ef2..19e8e057db0ea6 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -5105,10 +5105,10 @@ "xpack.apm.serviceOverview.mlNudgeMessage.content": "ML異常検知との統合により、サービスの正常性ステータスを確認できます", "xpack.apm.serviceOverview.mlNudgeMessage.dismissButton": "メッセージを消去", "xpack.apm.serviceOverview.mlNudgeMessage.learnMoreButton": "詳細", - "xpack.apm.serviceOverview.mlNudgeMessage.title": "異常検知を有効にしてサービスのヘルスを確認", - "xpack.apm.serviceOverview.toastText": "現在 Elastic Stack 7.0+ を実行中で、以前のバージョン 6.x からの互換性のないデータを検知しました。このデータを APM で表示するには、移行が必要です。詳細: ", - "xpack.apm.serviceOverview.toastTitle": "選択された時間範囲内にレガシーデータが検知されました。", - "xpack.apm.serviceOverview.upgradeAssistantLink": "アップグレードアシスタント", + "xpack.apm.serviceInventory.mlNudgeMessageTitle": "異常検知を有効にしてサービスのヘルスを確認", + "xpack.apm.serviceInventory.toastText": "現在 Elastic Stack 7.0+ を実行中で、以前のバージョン 6.x からの互換性のないデータを検知しました。このデータを APM で表示するには、移行が必要です。詳細: ", + "xpack.apm.serviceInventory.toastTitle": "選択された時間範囲内にレガシーデータが検知されました。", + "xpack.apm.serviceInventory.upgradeAssistantLinkText": "アップグレードアシスタント", "xpack.apm.servicesTable.7xOldDataMessage": "また、移行が必要な古いデータがある可能性もあります。", "xpack.apm.servicesTable.7xUpgradeServerMessage": "バージョン7.xより前からのアップグレードですか?また、\n APMサーバーインスタンスを7.0以降にアップグレードしていることも確認してください。", "xpack.apm.servicesTable.avgResponseTimeColumnLabel": "平均応答時間", @@ -5208,7 +5208,7 @@ "xpack.apm.settings.customizeUI.customLink.table.url": "URL", "xpack.apm.settings.indices": "インデックス", "xpack.apm.settings.pageTitle": "設定", - "xpack.apm.settings.returnToOverviewLinkLabel": "概要に戻る", + "xpack.apm.settings.returnLinkLabel": "概要に戻る", "xpack.apm.settingsLinkLabel": "設定", "xpack.apm.setupInstructionsButtonLabel": "セットアップの手順", "xpack.apm.stacktraceTab.causedByFramesToogleButtonLabel": "作成元", diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 18403d85d5ff73..c448efdd9d7b55 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -5109,10 +5109,10 @@ "xpack.apm.serviceOverview.mlNudgeMessage.content": "我们集成了 ML 异常检测,让您可以查看服务的运行状况", "xpack.apm.serviceOverview.mlNudgeMessage.dismissButton": "关闭消息", "xpack.apm.serviceOverview.mlNudgeMessage.learnMoreButton": "了解详情", - "xpack.apm.serviceOverview.mlNudgeMessage.title": "启用异常检测可查看服务的运行状况", - "xpack.apm.serviceOverview.toastText": "您正在运行 Elastic Stack 7.0+,我们检测到来自以前 6.x 版本的不兼容数据。如果想在 APM 中查看,您应迁移这些数据。在以下位置查看更多: ", - "xpack.apm.serviceOverview.toastTitle": "在选定时间范围中检测到旧数据", - "xpack.apm.serviceOverview.upgradeAssistantLink": "升级助手", + "xpack.apm.serviceInventory.mlNudgeMessageTitle": "启用异常检测可查看服务的运行状况", + "xpack.apm.serviceInventory.toastText": "您正在运行 Elastic Stack 7.0+,我们检测到来自以前 6.x 版本的不兼容数据。如果想在 APM 中查看,您应迁移这些数据。在以下位置查看更多: ", + "xpack.apm.serviceInventory.toastTitle": "在选定时间范围中检测到旧数据", + "xpack.apm.serviceInventory.upgradeAssistantLinkText": "升级助手", "xpack.apm.servicesTable.7xOldDataMessage": "可能还有需要迁移的旧数据。", "xpack.apm.servicesTable.7xUpgradeServerMessage": "从 7.x 之前的版本升级?另外,确保您已将\n APM Server 实例升级到至少 7.0。", "xpack.apm.servicesTable.avgResponseTimeColumnLabel": "平均响应时间", @@ -5212,7 +5212,7 @@ "xpack.apm.settings.customizeUI.customLink.table.url": "URL", "xpack.apm.settings.indices": "索引", "xpack.apm.settings.pageTitle": "设置", - "xpack.apm.settings.returnToOverviewLinkLabel": "返回到概览", + "xpack.apm.settings.returnLinkLabel": "返回到概览", "xpack.apm.settingsLinkLabel": "璁剧疆", "xpack.apm.setupInstructionsButtonLabel": "设置说明", "xpack.apm.stacktraceTab.causedByFramesToogleButtonLabel": "原因",