diff --git a/x-pack/plugins/apm/common/projections.ts b/x-pack/plugins/apm/common/projections.ts
deleted file mode 100644
index dab9dfce5e58a..0000000000000
--- a/x-pack/plugins/apm/common/projections.ts
+++ /dev/null
@@ -1,17 +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
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-export enum Projection {
- services = 'services',
- transactionGroups = 'transactionGroups',
- traces = 'traces',
- transactions = 'transactions',
- metrics = 'metrics',
- errorGroups = 'errorGroups',
- serviceNodes = 'serviceNodes',
- rumOverview = 'rumOverview',
-}
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 bb3903727f509..834c2d5c40bce 100644
--- a/x-pack/plugins/apm/public/components/app/Home/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/Home/index.tsx
@@ -16,7 +16,7 @@ import { useTraceOverviewHref } from '../../shared/Links/apm/TraceOverviewLink';
import { MainTabs } from '../../shared/main_tabs';
import { ServiceMap } from '../ServiceMap';
import { ServiceInventory } from '../service_inventory';
-import { TraceOverview } from '../TraceOverview';
+import { TraceOverview } from '../trace_overview';
interface Tab {
key: string;
diff --git a/x-pack/plugins/apm/public/components/app/Main/route_config/index.tsx b/x-pack/plugins/apm/public/components/app/Main/route_config/index.tsx
index 0fd85df37bb78..08d95aca24714 100644
--- a/x-pack/plugins/apm/public/components/app/Main/route_config/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/Main/route_config/index.tsx
@@ -23,7 +23,7 @@ import { AnomalyDetection } from '../../Settings/anomaly_detection';
import { ApmIndices } from '../../Settings/ApmIndices';
import { CustomizeUI } from '../../Settings/CustomizeUI';
import { TraceLink } from '../../TraceLink';
-import { TransactionDetails } from '../../TransactionDetails';
+import { TransactionDetails } from '../../transaction_details';
import {
CreateAgentConfigurationRouteHandler,
EditAgentConfigurationRouteHandler,
diff --git a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/FilterBadgeList.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/FilterBadgeList.tsx
similarity index 95%
rename from x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/FilterBadgeList.tsx
rename to x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/FilterBadgeList.tsx
index 6423d295da469..6bc345ea5bd87 100644
--- a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/FilterBadgeList.tsx
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/FilterBadgeList.tsx
@@ -9,7 +9,7 @@ import React from 'react';
import { EuiFlexGrid, EuiFlexItem, EuiBadge } from '@elastic/eui';
import styled from 'styled-components';
import { i18n } from '@kbn/i18n';
-import { unit, px, truncate } from '../../../../style/variables';
+import { unit, px, truncate } from '../../../../../style/variables';
const BadgeText = styled.div`
display: inline-block;
diff --git a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/FilterTitleButton.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/FilterTitleButton.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/FilterTitleButton.tsx
rename to x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/FilterTitleButton.tsx
diff --git a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/index.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/index.tsx
similarity index 98%
rename from x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/index.tsx
rename to x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/index.tsx
index 59ec3b683b4d3..e1debde1117f9 100644
--- a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/Filter/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/Filter/index.tsx
@@ -21,7 +21,7 @@ import {
import { i18n } from '@kbn/i18n';
import styled from 'styled-components';
import { FilterBadgeList } from './FilterBadgeList';
-import { unit, px } from '../../../../style/variables';
+import { unit, px } from '../../../../../style/variables';
import { FilterTitleButton } from './FilterTitleButton';
const Popover = styled((EuiPopover as unknown) as FunctionComponent).attrs(
diff --git a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/index.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx
similarity index 89%
rename from x-pack/plugins/apm/public/components/shared/LocalUIFilters/index.tsx
rename to x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx
index 0cab58bc5f448..a07997fb74921 100644
--- a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/LocalUIFilters/index.tsx
@@ -15,12 +15,10 @@ import {
import { i18n } from '@kbn/i18n';
import styled from 'styled-components';
import { Filter } from './Filter';
-import { useLocalUIFilters } from '../../../hooks/useLocalUIFilters';
-import { Projection } from '../../../../common/projections';
-import { LocalUIFilterName } from '../../../../common/ui_filter';
+import { useLocalUIFilters } from '../hooks/useLocalUIFilters';
+import { LocalUIFilterName } from '../../../../../common/ui_filter';
interface Props {
- projection: Projection;
filterNames: LocalUIFilterName[];
params?: Record;
showCount?: boolean;
@@ -33,7 +31,6 @@ const ButtonWrapper = styled.div`
`;
function LocalUIFilters({
- projection,
params,
filterNames,
children,
@@ -42,7 +39,6 @@ function LocalUIFilters({
}: Props) {
const { filters, setFilterValue, clearValues } = useLocalUIFilters({
filterNames,
- projection,
params,
shouldFetch,
});
diff --git a/x-pack/plugins/apm/public/hooks/useLocalUIFilters.ts b/x-pack/plugins/apm/public/components/app/RumDashboard/hooks/useLocalUIFilters.ts
similarity index 76%
rename from x-pack/plugins/apm/public/hooks/useLocalUIFilters.ts
rename to x-pack/plugins/apm/public/components/app/RumDashboard/hooks/useLocalUIFilters.ts
index 1e0aa4fd96171..3f366300792ac 100644
--- a/x-pack/plugins/apm/public/hooks/useLocalUIFilters.ts
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/hooks/useLocalUIFilters.ts
@@ -7,19 +7,21 @@
import { omit } from 'lodash';
import { useHistory } from 'react-router-dom';
-import { Projection } from '../../common/projections';
-import { pickKeys } from '../../common/utils/pick_keys';
+import { LocalUIFilterName } from '../../../../../common/ui_filter';
+import { pickKeys } from '../../../../../common/utils/pick_keys';
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
-import { LocalUIFiltersAPIResponse } from '../../server/lib/ui_filters/local_ui_filters';
+import { LocalUIFiltersAPIResponse } from '../../../../../server/lib/ui_filters/local_ui_filters';
import {
localUIFilters,
// eslint-disable-next-line @kbn/eslint/no-restricted-paths
-} from '../../server/lib/ui_filters/local_ui_filters/config';
-import { fromQuery, toQuery } from '../components/shared/Links/url_helpers';
-import { removeUndefinedProps } from '../context/url_params_context/helpers';
-import { useFetcher } from './use_fetcher';
-import { useUrlParams } from '../context/url_params_context/use_url_params';
-import { LocalUIFilterName } from '../../common/ui_filter';
+} from '../../../../../server/lib/ui_filters/local_ui_filters/config';
+import {
+ fromQuery,
+ toQuery,
+} from '../../../../components/shared/Links/url_helpers';
+import { removeUndefinedProps } from '../../../../context/url_params_context/helpers';
+import { useUrlParams } from '../../../../context/url_params_context/use_url_params';
+import { useFetcher } from '../../../../hooks/use_fetcher';
const getInitialData = (
filterNames: LocalUIFilterName[]
@@ -31,12 +33,10 @@ const getInitialData = (
};
export function useLocalUIFilters({
- projection,
filterNames,
params,
shouldFetch,
}: {
- projection: Projection;
filterNames: LocalUIFilterName[];
params?: Record;
shouldFetch: boolean;
@@ -72,7 +72,7 @@ export function useLocalUIFilters({
(callApmApi) => {
if (shouldFetch && urlParams.start && urlParams.end) {
return callApmApi({
- endpoint: `GET /api/apm/ui_filters/local_filters/${projection}` as const,
+ endpoint: `GET /api/apm/ui_filters/local_filters/rumOverview`,
params: {
query: {
uiFilters: JSON.stringify(uiFilters),
@@ -87,7 +87,6 @@ export function useLocalUIFilters({
}
},
[
- projection,
uiFilters,
urlParams.start,
urlParams.end,
diff --git a/x-pack/plugins/apm/public/hooks/useCallApi.ts b/x-pack/plugins/apm/public/components/app/RumDashboard/hooks/use_call_api.ts
similarity index 68%
rename from x-pack/plugins/apm/public/hooks/useCallApi.ts
rename to x-pack/plugins/apm/public/components/app/RumDashboard/hooks/use_call_api.ts
index a2bb77c6ad6fc..5b448871804eb 100644
--- a/x-pack/plugins/apm/public/hooks/useCallApi.ts
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/hooks/use_call_api.ts
@@ -6,9 +6,9 @@
*/
import { useMemo } from 'react';
-import { callApi } from '../services/rest/callApi';
-import { useApmPluginContext } from '../context/apm_plugin/use_apm_plugin_context';
-import { FetchOptions } from '../../common/fetch_options';
+import { callApi } from '../../../../services/rest/callApi';
+import { useApmPluginContext } from '../../../../context/apm_plugin/use_apm_plugin_context';
+import { FetchOptions } from '../../../../../common/fetch_options';
export function useCallApi() {
const { http } = useApmPluginContext().core;
diff --git a/x-pack/plugins/apm/public/components/app/RumDashboard/index.tsx b/x-pack/plugins/apm/public/components/app/RumDashboard/index.tsx
index 7b0b1d204ac4d..9bdad14eb8a18 100644
--- a/x-pack/plugins/apm/public/components/app/RumDashboard/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/RumDashboard/index.tsx
@@ -5,13 +5,11 @@
* 2.0.
*/
-import React, { useMemo } from 'react';
import { EuiFlexGroup, EuiFlexItem, EuiSpacer } from '@elastic/eui';
+import React, { useMemo } from 'react';
import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
+import { LocalUIFilters } from './LocalUIFilters';
import { RumDashboard } from './RumDashboard';
-
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
import { URLFilter } from './URLFilter';
export function RumOverview() {
@@ -21,7 +19,6 @@ export function RumOverview() {
const localUIFiltersConfig = useMemo(() => {
const config: React.ComponentProps = {
filterNames: ['location', 'device', 'os', 'browser'],
- projection: Projection.rumOverview,
};
return config;
diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/List.test.tsx b/x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/List.test.tsx
rename to x-pack/plugins/apm/public/components/app/error_group_overview/List/List.test.tsx
diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/__fixtures__/props.json b/x-pack/plugins/apm/public/components/app/error_group_overview/List/__fixtures__/props.json
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/__fixtures__/props.json
rename to x-pack/plugins/apm/public/components/app/error_group_overview/List/__fixtures__/props.json
diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/__snapshots__/List.test.tsx.snap b/x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/__snapshots__/List.test.tsx.snap
rename to x-pack/plugins/apm/public/components/app/error_group_overview/List/__snapshots__/List.test.tsx.snap
diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_overview/List/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/ErrorGroupOverview/List/index.tsx
rename to x-pack/plugins/apm/public/components/app/error_group_overview/List/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/index.tsx b/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx
similarity index 59%
rename from x-pack/plugins/apm/public/components/app/ErrorGroupOverview/index.tsx
rename to x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx
index 58fea5e985fae..29bdf6467e544 100644
--- a/x-pack/plugins/apm/public/components/app/ErrorGroupOverview/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/error_group_overview/index.tsx
@@ -7,29 +7,26 @@
import {
EuiFlexGroup,
- EuiFlexItem,
EuiPage,
EuiPanel,
EuiSpacer,
EuiTitle,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import React, { useMemo } from 'react';
+import React from 'react';
import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
-import { useFetcher } from '../../../hooks/use_fetcher';
import { useUrlParams } from '../../../context/url_params_context/use_url_params';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
+import { useErrorGroupDistributionFetcher } from '../../../hooks/use_error_group_distribution_fetcher';
+import { useFetcher } from '../../../hooks/use_fetcher';
import { SearchBar } from '../../shared/search_bar';
import { ErrorDistribution } from '../ErrorGroupDetails/Distribution';
import { ErrorGroupList } from './List';
-import { useErrorGroupDistributionFetcher } from '../../../hooks/use_error_group_distribution_fetcher';
interface ErrorGroupOverviewProps {
serviceName: string;
}
-function ErrorGroupOverview({ serviceName }: ErrorGroupOverviewProps) {
+export function ErrorGroupOverview({ serviceName }: ErrorGroupOverviewProps) {
const { urlParams, uiFilters } = useUrlParams();
const { start, end, sortField, sortDirection } = urlParams;
const { errorDistributionData } = useErrorGroupDistributionFetcher({
@@ -68,18 +65,6 @@ function ErrorGroupOverview({ serviceName }: ErrorGroupOverviewProps) {
});
useTrackPageview({ app: 'apm', path: 'error_group_overview', delay: 15000 });
- const localUIFiltersConfig = useMemo(() => {
- const config: React.ComponentProps = {
- filterNames: ['host', 'containerId', 'podName', 'serviceVersion'],
- params: {
- serviceName,
- },
- projection: Projection.errorGroups,
- };
-
- return config;
- }, [serviceName]);
-
if (!errorDistributionData || !errorGroupListData) {
return null;
}
@@ -88,41 +73,34 @@ function ErrorGroupOverview({ serviceName }: ErrorGroupOverviewProps) {
<>
-
-
-
-
-
-
-
-
+
+
+
+
-
+
-
-
- Errors
-
-
+
+
+ Errors
+
+
-
-
-
+
+
>
);
}
-
-export { ErrorGroupOverview };
diff --git a/x-pack/plugins/apm/public/components/app/service_details/service_detail_tabs.tsx b/x-pack/plugins/apm/public/components/app/service_details/service_detail_tabs.tsx
index 1c8a33d1968b1..23f699b63d207 100644
--- a/x-pack/plugins/apm/public/components/app/service_details/service_detail_tabs.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_details/service_detail_tabs.tsx
@@ -20,9 +20,9 @@ import { useServiceNodeOverviewHref } from '../../shared/Links/apm/ServiceNodeOv
import { useServiceOverviewHref } from '../../shared/Links/apm/service_overview_link';
import { useTransactionsOverviewHref } from '../../shared/Links/apm/transaction_overview_link';
import { MainTabs } from '../../shared/main_tabs';
-import { ErrorGroupOverview } from '../ErrorGroupOverview';
+import { ErrorGroupOverview } from '../error_group_overview';
import { ServiceMap } from '../ServiceMap';
-import { ServiceNodeOverview } from '../ServiceNodeOverview';
+import { ServiceNodeOverview } from '../service_node_overview';
import { ServiceMetrics } from '../service_metrics';
import { ServiceOverview } from '../service_overview';
import { TransactionOverview } from '../transaction_overview';
diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx
index 4ba96b63c91f4..1cb420a8ac194 100644
--- a/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_inventory/index.tsx
@@ -13,21 +13,19 @@ import {
EuiPanel,
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import React, { useEffect, useMemo } from 'react';
+import React, { useEffect } from 'react';
import { toMountPoint } from '../../../../../../../src/plugins/kibana_react/public';
import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
import { useApmPluginContext } from '../../../context/apm_plugin/use_apm_plugin_context';
-import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher';
-import { useLocalStorage } from '../../../hooks/useLocalStorage';
import { useUrlParams } from '../../../context/url_params_context/use_url_params';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
+import { useLocalStorage } from '../../../hooks/useLocalStorage';
+import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher';
+import { useUpgradeAssistantHref } from '../../shared/Links/kibana';
import { SearchBar } from '../../shared/search_bar';
import { NoServicesMessage } from './no_services_message';
import { ServiceList } from './ServiceList';
import { MLCallout } from './ServiceList/MLCallout';
import { useAnomalyDetectionJobsFetcher } from './use_anomaly_detection_jobs_fetcher';
-import { useUpgradeAssistantHref } from '../../shared/Links/kibana';
const initialData = {
items: [],
@@ -100,16 +98,6 @@ export function ServiceInventory() {
useTrackPageview({ app: 'apm', path: 'services_overview' });
useTrackPageview({ app: 'apm', path: 'services_overview', delay: 15000 });
- const localFiltersConfig: React.ComponentProps<
- typeof LocalUIFilters
- > = useMemo(
- () => ({
- filterNames: ['host', 'agentName'],
- projection: Projection.services,
- }),
- []
- );
-
const {
anomalyDetectionJobsData,
anomalyDetectionJobsStatus,
@@ -132,33 +120,24 @@ export function ServiceInventory() {
<>
-
-
-
-
-
-
- {displayMlCallout ? (
-
- setUserHasDismissedCallout(true)}
+
+ {displayMlCallout ? (
+
+ setUserHasDismissedCallout(true)} />
+
+ ) : null}
+
+
+
-
- ) : null}
-
-
-
- }
- />
-
-
-
+ }
+ />
+
diff --git a/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx
index 647792bb13046..69b4149625824 100644
--- a/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_inventory/service_inventory.test.tsx
@@ -20,7 +20,6 @@ import {
MockApmPluginContextWrapper,
} from '../../../context/apm_plugin/mock_apm_plugin_context';
import { FETCH_STATUS } from '../../../hooks/use_fetcher';
-import * as useLocalUIFilters from '../../../hooks/useLocalUIFilters';
import * as useDynamicIndexPatternHooks from '../../../hooks/use_dynamic_index_pattern';
import { SessionStorageMock } from '../../../services/__mocks__/SessionStorageMock';
import { MockUrlParamsContextProvider } from '../../../context/url_params_context/mock_url_params_context_provider';
@@ -76,13 +75,6 @@ describe('ServiceInventory', () => {
// @ts-expect-error
global.sessionStorage = new SessionStorageMock();
- jest.spyOn(useLocalUIFilters, 'useLocalUIFilters').mockReturnValue({
- filters: [],
- setFilterValue: () => null,
- clearValues: () => null,
- status: FETCH_STATUS.SUCCESS,
- });
-
jest.spyOn(hook, 'useAnomalyDetectionJobsFetcher').mockReturnValue({
anomalyDetectionJobsStatus: FETCH_STATUS.SUCCESS,
anomalyDetectionJobsData: { jobs: [], hasLegacyJobs: false },
diff --git a/x-pack/plugins/apm/public/components/app/service_metrics/index.tsx b/x-pack/plugins/apm/public/components/app/service_metrics/index.tsx
index d1e6cc0d84ac4..44a5adf31d0b6 100644
--- a/x-pack/plugins/apm/public/components/app/service_metrics/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_metrics/index.tsx
@@ -7,19 +7,17 @@
import {
EuiFlexGrid,
+ EuiFlexGroup,
EuiFlexItem,
EuiPage,
EuiPanel,
EuiSpacer,
- EuiFlexGroup,
} from '@elastic/eui';
-import React, { useMemo } from 'react';
+import React from 'react';
+import { ChartPointerEventContextProvider } from '../../../context/chart_pointer_event/chart_pointer_event_context';
+import { useUrlParams } from '../../../context/url_params_context/use_url_params';
import { useServiceMetricChartsFetcher } from '../../../hooks/use_service_metric_charts_fetcher';
import { MetricsChart } from '../../shared/charts/metrics_chart';
-import { useUrlParams } from '../../../context/url_params_context/use_url_params';
-import { ChartPointerEventContextProvider } from '../../../context/chart_pointer_event/chart_pointer_event_context';
-import { Projection } from '../../../../common/projections';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
import { SearchBar } from '../../shared/search_bar';
interface ServiceMetricsProps {
@@ -37,47 +35,28 @@ export function ServiceMetrics({
});
const { start, end } = urlParams;
- const localFiltersConfig: React.ComponentProps<
- typeof LocalUIFilters
- > = useMemo(
- () => ({
- filterNames: ['host', 'containerId', 'podName', 'serviceVersion'],
- params: {
- serviceName,
- },
- projection: Projection.metrics,
- showCount: false,
- }),
- [serviceName]
- );
-
return (
<>
-
-
-
-
-
-
-
- {data.charts.map((chart) => (
-
-
-
-
-
- ))}
-
-
-
-
+
+
+
+ {data.charts.map((chart) => (
+
+
+
+
+
+ ))}
+
+
+
>
diff --git a/x-pack/plugins/apm/public/components/app/ServiceNodeOverview/index.tsx b/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx
similarity index 78%
rename from x-pack/plugins/apm/public/components/app/ServiceNodeOverview/index.tsx
rename to x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx
index 01874c956e8f9..00d184f692e3b 100644
--- a/x-pack/plugins/apm/public/components/app/ServiceNodeOverview/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/service_node_overview/index.tsx
@@ -4,30 +4,21 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
-
-import {
- EuiFlexGroup,
- EuiFlexItem,
- EuiPage,
- EuiPanel,
- EuiToolTip,
-} from '@elastic/eui';
+import { EuiFlexGroup, EuiPage, EuiPanel, EuiToolTip } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
-import React, { useMemo } from 'react';
+import React from 'react';
import styled from 'styled-components';
import { UNIDENTIFIED_SERVICE_NODES_LABEL } from '../../../../common/i18n';
-import { Projection } from '../../../../common/projections';
import { SERVICE_NODE_NAME_MISSING } from '../../../../common/service_nodes';
import {
asDynamicBytes,
asInteger,
asPercent,
} from '../../../../common/utils/formatters';
-import { useFetcher } from '../../../hooks/use_fetcher';
import { useUrlParams } from '../../../context/url_params_context/use_url_params';
+import { useFetcher } from '../../../hooks/use_fetcher';
import { px, truncate, unit } from '../../../style/variables';
import { ServiceNodeMetricOverviewLink } from '../../shared/Links/apm/ServiceNodeMetricOverviewLink';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
import { ITableColumn, ManagedTable } from '../../shared/ManagedTable';
import { SearchBar } from '../../shared/search_bar';
@@ -47,19 +38,6 @@ function ServiceNodeOverview({ serviceName }: ServiceNodeOverviewProps) {
const { uiFilters, urlParams } = useUrlParams();
const { start, end } = urlParams;
- const localFiltersConfig: React.ComponentProps<
- typeof LocalUIFilters
- > = useMemo(
- () => ({
- filterNames: ['host', 'containerId', 'podName'],
- params: {
- serviceName,
- },
- projection: Projection.serviceNodes,
- }),
- [serviceName]
- );
-
const { data: items = [] } = useFetcher(
(callApmApi) => {
if (!start || !end) {
@@ -164,27 +142,22 @@ function ServiceNodeOverview({ serviceName }: ServiceNodeOverviewProps) {
<>
-
-
-
-
-
-
-
-
-
+
+
+
+
>
diff --git a/x-pack/plugins/apm/public/components/app/TraceOverview/TraceList.tsx b/x-pack/plugins/apm/public/components/app/trace_overview/TraceList.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TraceOverview/TraceList.tsx
rename to x-pack/plugins/apm/public/components/app/trace_overview/TraceList.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TraceOverview/index.tsx b/x-pack/plugins/apm/public/components/app/trace_overview/index.tsx
similarity index 66%
rename from x-pack/plugins/apm/public/components/app/TraceOverview/index.tsx
rename to x-pack/plugins/apm/public/components/app/trace_overview/index.tsx
index 624aee1e92472..d29dad7a7e3de 100644
--- a/x-pack/plugins/apm/public/components/app/TraceOverview/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/trace_overview/index.tsx
@@ -6,16 +6,14 @@
*/
import { EuiFlexGroup, EuiFlexItem, EuiPage, EuiPanel } from '@elastic/eui';
-import React, { useMemo } from 'react';
+import React from 'react';
import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
-import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher';
import { useUrlParams } from '../../../context/url_params_context/use_url_params';
+import { FETCH_STATUS, useFetcher } from '../../../hooks/use_fetcher';
import { APIReturnType } from '../../../services/rest/createCallApmApi';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
import { SearchBar } from '../../shared/search_bar';
-import { TraceList } from './TraceList';
import { Correlations } from '../Correlations';
+import { TraceList } from './TraceList';
type TracesAPIResponse = APIReturnType<'GET /api/apm/traces'>;
const DEFAULT_RESPONSE: TracesAPIResponse = {
@@ -48,32 +46,22 @@ export function TraceOverview() {
useTrackPageview({ app: 'apm', path: 'traces_overview' });
useTrackPageview({ app: 'apm', path: 'traces_overview', delay: 15000 });
- const localUIFiltersConfig = useMemo(() => {
- const config: React.ComponentProps = {
- filterNames: ['transactionResult', 'host', 'containerId', 'podName'],
- projection: Projection.traces,
- };
-
- return config;
- }, []);
-
return (
<>
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
>
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/Distribution/distribution.test.ts b/x-pack/plugins/apm/public/components/app/transaction_details/Distribution/distribution.test.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/Distribution/distribution.test.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/Distribution/distribution.test.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/Distribution/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/Distribution/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/Distribution/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/Distribution/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/ErrorCount.test.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/ErrorCount.test.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/ErrorCount.test.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/ErrorCount.test.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/ErrorCount.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/ErrorCount.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/ErrorCount.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/ErrorCount.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/MaybeViewTraceLink.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/MaybeViewTraceLink.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/MaybeViewTraceLink.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/MaybeViewTraceLink.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/PercentOfParent.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/PercentOfParent.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/PercentOfParent.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/PercentOfParent.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/TransactionTabs.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/TransactionTabs.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/TransactionTabs.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/TransactionTabs.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.test.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.test.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.test.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.test.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.test.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.test.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.test.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.test.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/index.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/index.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/index.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/index.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/ServiceLegends.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/ServiceLegends.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/ServiceLegends.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/ServiceLegends.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/FlyoutTopLevelProperties.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/FlyoutTopLevelProperties.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/FlyoutTopLevelProperties.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/FlyoutTopLevelProperties.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/ResponsiveFlyout.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/ResponsiveFlyout.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/ResponsiveFlyout.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/ResponsiveFlyout.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/DatabaseContext.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/DatabaseContext.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/DatabaseContext.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/DatabaseContext.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/HttpContext.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/HttpContext.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/HttpContext.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/HttpContext.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/StickySpanProperties.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/StickySpanProperties.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/StickySpanProperties.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/StickySpanProperties.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/TruncateHeightSection.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/TruncateHeightSection.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/TruncateHeightSection.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/TruncateHeightSection.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SpanFlyout/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.stories.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.stories.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.stories.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.stories.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/SyncBadge.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/DroppedSpansWarning.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/DroppedSpansWarning.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/DroppedSpansWarning.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/DroppedSpansWarning.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/TransactionFlyout/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallFlyout.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallFlyout.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallFlyout.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallFlyout.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallItem.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallItem.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallItem.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/WaterfallItem.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/accordion_waterfall.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/accordion_waterfall.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/accordion_waterfall.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/accordion_waterfall.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/__snapshots__/waterfall_helpers.test.ts.snap b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/__snapshots__/waterfall_helpers.test.ts.snap
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/__snapshots__/waterfall_helpers.test.ts.snap
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/__snapshots__/waterfall_helpers.test.ts.snap
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/spans.json b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/spans.json
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/spans.json
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/spans.json
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/transaction.json b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/transaction.json
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/transaction.json
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/mock_responses/transaction.json
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.test.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.test.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.test.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.test.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Waterfall/waterfall_helpers/waterfall_helpers.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/WaterfallContainer.stories.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/WaterfallContainer.stories.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/WaterfallContainer.stories.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/WaterfallContainer.stories.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/waterfallContainer.stories.data.ts b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/waterfallContainer.stories.data.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/waterfallContainer.stories.data.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/WaterfallContainer/waterfallContainer.stories.data.ts
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/index.tsx
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/WaterfallWithSummmary/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/WaterfallWithSummmary/index.tsx
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_details/index.tsx
similarity index 59%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx
rename to x-pack/plugins/apm/public/components/app/transaction_details/index.tsx
index b155672405b9f..d5f5eed311de8 100644
--- a/x-pack/plugins/apm/public/components/app/TransactionDetails/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/transaction_details/index.tsx
@@ -14,26 +14,23 @@ import {
EuiSpacer,
EuiTitle,
} from '@elastic/eui';
-import React, { useMemo } from 'react';
-import { isEmpty, flatten } from 'lodash';
-import { useHistory } from 'react-router-dom';
-import { RouteComponentProps } from 'react-router-dom';
+import { flatten, isEmpty } from 'lodash';
+import React from 'react';
+import { RouteComponentProps, useHistory } from 'react-router-dom';
+import { useTrackPageview } from '../../../../../observability/public';
+import { ChartPointerEventContextProvider } from '../../../context/chart_pointer_event/chart_pointer_event_context';
+import { useUrlParams } from '../../../context/url_params_context/use_url_params';
+import { FETCH_STATUS } from '../../../hooks/use_fetcher';
import { useTransactionDistributionFetcher } from '../../../hooks/use_transaction_distribution_fetcher';
-import { useWaterfallFetcher } from './use_waterfall_fetcher';
import { ApmHeader } from '../../shared/ApmHeader';
import { TransactionCharts } from '../../shared/charts/transaction_charts';
-import { TransactionDistribution } from './Distribution';
-import { WaterfallWithSummmary } from './WaterfallWithSummmary';
-import { FETCH_STATUS } from '../../../hooks/use_fetcher';
-import { ChartPointerEventContextProvider } from '../../../context/chart_pointer_event/chart_pointer_event_context';
-import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
-import { fromQuery, toQuery } from '../../shared/Links/url_helpers';
-import { useUrlParams } from '../../../context/url_params_context/use_url_params';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
import { HeightRetainer } from '../../shared/HeightRetainer';
-import { Correlations } from '../Correlations';
+import { fromQuery, toQuery } from '../../shared/Links/url_helpers';
import { SearchBar } from '../../shared/search_bar';
+import { Correlations } from '../Correlations';
+import { TransactionDistribution } from './Distribution';
+import { useWaterfallFetcher } from './use_waterfall_fetcher';
+import { WaterfallWithSummmary } from './WaterfallWithSummmary';
interface Sample {
traceId: string;
@@ -46,7 +43,6 @@ export function TransactionDetails({
location,
match,
}: TransactionDetailsProps) {
- const { serviceName } = match.params;
const { urlParams } = useUrlParams();
const history = useHistory();
const {
@@ -59,24 +55,11 @@ export function TransactionDetails({
exceedsMax,
status: waterfallStatus,
} = useWaterfallFetcher();
- const { transactionName, transactionType } = urlParams;
+ const { transactionName } = urlParams;
useTrackPageview({ app: 'apm', path: 'transaction_details' });
useTrackPageview({ app: 'apm', path: 'transaction_details', delay: 15000 });
- const localUIFiltersConfig = useMemo(() => {
- const config: React.ComponentProps = {
- filterNames: ['transactionResult', 'serviceVersion'],
- projection: Projection.transactions,
- params: {
- transactionName,
- transactionType,
- serviceName,
- },
- };
- return config;
- }, [transactionName, transactionType, serviceName]);
-
const selectedSample = flatten(
distributionData.buckets.map((bucket) => bucket.samples)
).find(
@@ -116,45 +99,45 @@ export function TransactionDetails({
-
-
-
-
-
-
-
-
-
-
-
-
-
- {
- if (!isEmpty(bucket.samples)) {
- selectSampleFromBucketClick(bucket.samples[0]);
- }
- }}
- />
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {
+ if (!isEmpty(bucket.samples)) {
+ selectSampleFromBucketClick(bucket.samples[0]);
+ }
+ }}
+ />
+
+
+
+
+
+
+
>
diff --git a/x-pack/plugins/apm/public/components/app/TransactionDetails/use_waterfall_fetcher.ts b/x-pack/plugins/apm/public/components/app/transaction_details/use_waterfall_fetcher.ts
similarity index 100%
rename from x-pack/plugins/apm/public/components/app/TransactionDetails/use_waterfall_fetcher.ts
rename to x-pack/plugins/apm/public/components/app/transaction_details/use_waterfall_fetcher.ts
diff --git a/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx b/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx
index 08904da396678..1f8b431d072b7 100644
--- a/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx
+++ b/x-pack/plugins/apm/public/components/app/transaction_overview/index.tsx
@@ -10,7 +10,6 @@ import {
EuiCode,
EuiFlexGroup,
EuiFlexItem,
- EuiHorizontalRule,
EuiPage,
EuiPanel,
EuiSpacer,
@@ -19,25 +18,23 @@ import {
import { i18n } from '@kbn/i18n';
import { FormattedMessage } from '@kbn/i18n/react';
import { Location } from 'history';
-import React, { useMemo } from 'react';
+import React from 'react';
import { useLocation } from 'react-router-dom';
import { useTrackPageview } from '../../../../../observability/public';
-import { Projection } from '../../../../common/projections';
import { TRANSACTION_PAGE_LOAD } from '../../../../common/transaction_types';
+import { useApmServiceContext } from '../../../context/apm_service/use_apm_service_context';
import { IUrlParams } from '../../../context/url_params_context/types';
-import { useTransactionListFetcher } from './use_transaction_list';
import { useUrlParams } from '../../../context/url_params_context/use_url_params';
import { TransactionCharts } from '../../shared/charts/transaction_charts';
import { ElasticDocsLink } from '../../shared/Links/ElasticDocsLink';
import { fromQuery, toQuery } from '../../shared/Links/url_helpers';
-import { LocalUIFilters } from '../../shared/LocalUIFilters';
-import { TransactionTypeFilter } from '../../shared/LocalUIFilters/TransactionTypeFilter';
import { SearchBar } from '../../shared/search_bar';
+import { TransactionTypeSelect } from '../../shared/transaction_type_select';
import { Correlations } from '../Correlations';
import { TransactionList } from './TransactionList';
import { useRedirect } from './useRedirect';
import { UserExperienceCallout } from './user_experience_callout';
-import { useApmServiceContext } from '../../../context/apm_service/use_apm_service_context';
+import { useTransactionListFetcher } from './use_transaction_list';
function getRedirectLocation({
location,
@@ -68,7 +65,7 @@ interface TransactionOverviewProps {
export function TransactionOverview({ serviceName }: TransactionOverviewProps) {
const location = useLocation();
const { urlParams } = useUrlParams();
- const { transactionType, transactionTypes } = useApmServiceContext();
+ const { transactionType } = useApmServiceContext();
// redirect to first transaction type
useRedirect(getRedirectLocation({ location, transactionType, urlParams }));
@@ -80,27 +77,6 @@ export function TransactionOverview({ serviceName }: TransactionOverviewProps) {
transactionListStatus,
} = useTransactionListFetcher();
- const localFiltersConfig: React.ComponentProps<
- typeof LocalUIFilters
- > = useMemo(
- () => ({
- shouldFetch: !!transactionType,
- filterNames: [
- 'transactionResult',
- 'host',
- 'containerId',
- 'podName',
- 'serviceVersion',
- ],
- params: {
- serviceName,
- transactionType,
- },
- projection: Projection.transactionGroups,
- }),
- [serviceName, transactionType]
- );
-
// TODO: improve urlParams typings.
// `serviceName` or `transactionType` will never be undefined here, and this check should not be needed
if (!serviceName) {
@@ -112,74 +88,92 @@ export function TransactionOverview({ serviceName }: TransactionOverviewProps) {
-
-
-
-
-
+
+
+
+
+
+
+
+
+ {i18n.translate('xpack.apm.transactionOverviewTitle', {
+ defaultMessage: 'Transactions',
+ })}
+
+
+
+
+
+
+
-
-
-
-
- {transactionType === TRANSACTION_PAGE_LOAD && (
- <>
-
-
- >
- )}
-
-
-
-
- Transactions
-
-
- {!transactionListData.isAggregationAccurate && (
-
-
-
- xpack.apm.ui.transactionGroupBucketSize
-
- ),
- }}
- />
+
+
+
+
+
-
- {i18n.translate(
- 'xpack.apm.transactionCardinalityWarning.docsLink',
- { defaultMessage: 'Learn more in the docs' }
- )}
-
-
-
- )}
+ {transactionType === TRANSACTION_PAGE_LOAD && (
+ <>
+
-
-
-
+ >
+ )}
+
+
+
+
+ Transactions
+
+
+ {!transactionListData.isAggregationAccurate && (
+
+
+
+ xpack.apm.ui.transactionGroupBucketSize
+
+ ),
+ }}
+ />
+
+
+ {i18n.translate(
+ 'xpack.apm.transactionCardinalityWarning.docsLink',
+ { defaultMessage: 'Learn more in the docs' }
+ )}
+
+
+
+ )}
+
+
+
>
diff --git a/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx b/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx
index e0b1a4cbd05d5..7d0ada3e31bff 100644
--- a/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx
+++ b/x-pack/plugins/apm/public/components/app/transaction_overview/transaction_overview.test.tsx
@@ -136,7 +136,9 @@ describe('TransactionOverview', () => {
expect(getByText(container, 'firstType')).toBeInTheDocument();
expect(getByText(container, 'secondType')).toBeInTheDocument();
- fireEvent.click(getByText(container, 'firstType'));
+ fireEvent.change(getByText(container, 'firstType').parentElement!, {
+ target: { value: 'firstType' },
+ });
expect(history.push).toHaveBeenCalled();
expect(history.location.search).toEqual(
diff --git a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/TransactionTypeFilter/index.tsx b/x-pack/plugins/apm/public/components/shared/LocalUIFilters/TransactionTypeFilter/index.tsx
deleted file mode 100644
index 19eefca5ee27e..0000000000000
--- a/x-pack/plugins/apm/public/components/shared/LocalUIFilters/TransactionTypeFilter/index.tsx
+++ /dev/null
@@ -1,65 +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
- * 2.0; you may not use this file except in compliance with the Elastic License
- * 2.0.
- */
-
-import {
- EuiHorizontalRule,
- EuiRadioGroup,
- EuiSpacer,
- EuiTitle,
-} from '@elastic/eui';
-import { i18n } from '@kbn/i18n';
-import React from 'react';
-import { useHistory } from 'react-router-dom';
-import { useUrlParams } from '../../../../context/url_params_context/use_url_params';
-import { fromQuery, toQuery } from '../../Links/url_helpers';
-
-interface Props {
- transactionTypes: string[];
-}
-
-function TransactionTypeFilter({ transactionTypes }: Props) {
- const history = useHistory();
- const {
- urlParams: { transactionType },
- } = useUrlParams();
-
- const options = transactionTypes.map((type) => ({
- id: type,
- label: type,
- }));
-
- return (
- <>
-
-
- {i18n.translate('xpack.apm.localFilters.titles.transactionType', {
- defaultMessage: 'Transaction type',
- })}
-
-
-
-
-
- {
- const newLocation = {
- ...history.location,
- search: fromQuery({
- ...toQuery(history.location.search),
- transactionType: selectedTransactionType,
- }),
- };
- history.push(newLocation);
- }}
- />
- >
- );
-}
-
-export { TransactionTypeFilter };
diff --git a/x-pack/plugins/apm/public/components/shared/Summary/DurationSummaryItem.tsx b/x-pack/plugins/apm/public/components/shared/Summary/DurationSummaryItem.tsx
index 94fc79dd2164e..1ceccc5203fb2 100644
--- a/x-pack/plugins/apm/public/components/shared/Summary/DurationSummaryItem.tsx
+++ b/x-pack/plugins/apm/public/components/shared/Summary/DurationSummaryItem.tsx
@@ -9,7 +9,7 @@ import React from 'react';
import { i18n } from '@kbn/i18n';
import { EuiToolTip, EuiText } from '@elastic/eui';
import { asDuration } from '../../../../common/utils/formatters';
-import { PercentOfParent } from '../../app/TransactionDetails/WaterfallWithSummmary/PercentOfParent';
+import { PercentOfParent } from '../../app/transaction_details/WaterfallWithSummmary/PercentOfParent';
interface Props {
duration: number;
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.test.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.test.tsx
index 28a581d09908e..1411a264b065e 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.test.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.test.tsx
@@ -8,7 +8,7 @@
import { shallow } from 'enzyme';
import React from 'react';
import { AgentMarker } from './AgentMarker';
-import { AgentMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
+import { AgentMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
import { EuiThemeProvider } from '../../../../../../../../../src/plugins/kibana_react/common';
describe('AgentMarker', () => {
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.tsx
index f669063f07545..ad8b85ba70c9b 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/AgentMarker.tsx
@@ -12,7 +12,7 @@ import { asDuration } from '../../../../../../common/utils/formatters';
import { useTheme } from '../../../../../hooks/use_theme';
import { px, units } from '../../../../../style/variables';
import { Legend } from '../../Legend';
-import { AgentMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
+import { AgentMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
const NameContainer = styled.div`
border-bottom: 1px solid ${({ theme }) => theme.eui.euiColorMediumShade};
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.test.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.test.tsx
index 29e553235e57b..36634f97a3a45 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.test.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.test.tsx
@@ -14,7 +14,7 @@ import {
expectTextsInDocument,
renderWithTheme,
} from '../../../../../utils/testHelpers';
-import { ErrorMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
+import { ErrorMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
import { ErrorMarker } from './ErrorMarker';
function Wrapper({ children }: { children?: ReactNode }) {
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.tsx
index c38cc07955996..393281b2bf848 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/ErrorMarker.tsx
@@ -16,7 +16,7 @@ import {
} from '../../../../../../common/elasticsearch_fieldnames';
import { useUrlParams } from '../../../../../context/url_params_context/use_url_params';
import { px, unit, units } from '../../../../../style/variables';
-import { ErrorMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
+import { ErrorMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
import { ErrorDetailLink } from '../../../Links/apm/ErrorDetailLink';
import { Legend, Shape } from '../../Legend';
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.test.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.test.tsx
index 16ded0b2402c4..f156d82f05a51 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.test.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.test.tsx
@@ -8,8 +8,8 @@
import { shallow } from 'enzyme';
import React from 'react';
import { Marker } from './';
-import { AgentMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
-import { ErrorMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
+import { AgentMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
+import { ErrorMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
describe('Marker', () => {
it('renders agent marker', () => {
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.tsx
index 14688fe7e0c61..b426a10a7562d 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/Marker/index.tsx
@@ -10,8 +10,8 @@ import styled from 'styled-components';
import { px } from '../../../../../style/variables';
import { AgentMarker } from './AgentMarker';
import { ErrorMarker } from './ErrorMarker';
-import { AgentMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
-import { ErrorMark } from '../../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
+import { AgentMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
+import { ErrorMark } from '../../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
interface Props {
mark: ErrorMark | AgentMark;
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/VerticalLines.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/VerticalLines.tsx
index 218bdde37abd0..428da80fb808a 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/VerticalLines.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/VerticalLines.tsx
@@ -8,7 +8,7 @@
import React from 'react';
import { VerticalGridLines, XYPlot } from 'react-vis';
import { useTheme } from '../../../../hooks/use_theme';
-import { Mark } from '../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks';
+import { Mark } from '../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks';
import { PlotValues } from './plotUtils';
interface VerticalLinesProps {
diff --git a/x-pack/plugins/apm/public/components/shared/charts/Timeline/index.tsx b/x-pack/plugins/apm/public/components/shared/charts/Timeline/index.tsx
index 84bdd7998cfad..650faa195271c 100644
--- a/x-pack/plugins/apm/public/components/shared/charts/Timeline/index.tsx
+++ b/x-pack/plugins/apm/public/components/shared/charts/Timeline/index.tsx
@@ -11,8 +11,8 @@ import { makeWidthFlexible } from 'react-vis';
import { getPlotValues } from './plotUtils';
import { TimelineAxis } from './TimelineAxis';
import { VerticalLines } from './VerticalLines';
-import { ErrorMark } from '../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
-import { AgentMark } from '../../../app/TransactionDetails/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
+import { ErrorMark } from '../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_error_marks';
+import { AgentMark } from '../../../app/transaction_details/WaterfallWithSummmary/WaterfallContainer/Marks/get_agent_marks';
export type Mark = AgentMark | ErrorMark;
diff --git a/x-pack/plugins/apm/public/components/shared/search_bar.tsx b/x-pack/plugins/apm/public/components/shared/search_bar.tsx
index 296ec3c2d32e9..34ba1d86264c1 100644
--- a/x-pack/plugins/apm/public/components/shared/search_bar.tsx
+++ b/x-pack/plugins/apm/public/components/shared/search_bar.tsx
@@ -16,7 +16,7 @@ import { useBreakPoints } from '../../hooks/use_break_points';
const SearchBarFlexGroup = styled(EuiFlexGroup)`
margin: ${({ theme }) =>
- `${theme.eui.euiSizeM} ${theme.eui.euiSizeM} -${theme.eui.gutterTypes.gutterMedium} ${theme.eui.euiSizeM}`};
+ `${theme.eui.euiSizeS} ${theme.eui.euiSizeS} -${theme.eui.gutterTypes.gutterMedium} ${theme.eui.euiSizeS}`};
`;
interface Props {
diff --git a/x-pack/plugins/apm/public/components/shared/transaction_type_select.tsx b/x-pack/plugins/apm/public/components/shared/transaction_type_select.tsx
new file mode 100644
index 0000000000000..772b42ed13577
--- /dev/null
+++ b/x-pack/plugins/apm/public/components/shared/transaction_type_select.tsx
@@ -0,0 +1,55 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { EuiSelect } from '@elastic/eui';
+import { i18n } from '@kbn/i18n';
+import React, { FormEvent, useCallback } from 'react';
+import { useHistory } from 'react-router-dom';
+import styled from 'styled-components';
+import { useApmServiceContext } from '../../context/apm_service/use_apm_service_context';
+import { useUrlParams } from '../../context/url_params_context/use_url_params';
+import * as urlHelpers from './Links/url_helpers';
+
+// The default transaction type (for non-RUM services) is "request". Set the
+// min-width on here to the width when "request" is loaded so it doesn't start
+// out collapsed and change its width when the list of transaction types is loaded.
+const EuiSelectWithWidth = styled(EuiSelect)`
+ min-width: 157px;
+`;
+
+export function TransactionTypeSelect() {
+ const { transactionTypes } = useApmServiceContext();
+ const history = useHistory();
+ const {
+ urlParams: { transactionType },
+ } = useUrlParams();
+
+ const handleChange = useCallback(
+ (event: FormEvent) => {
+ const selectedTransactionType = event.currentTarget.value;
+ urlHelpers.push(history, {
+ query: { transactionType: selectedTransactionType },
+ });
+ },
+ [history]
+ );
+
+ const options = transactionTypes.map((t) => ({ text: t, value: t }));
+
+ return (
+ <>
+
+ >
+ );
+}
diff --git a/x-pack/plugins/apm/server/routes/create_apm_api.ts b/x-pack/plugins/apm/server/routes/create_apm_api.ts
index 610442d4ff614..5d580fc0e253a 100644
--- a/x-pack/plugins/apm/server/routes/create_apm_api.ts
+++ b/x-pack/plugins/apm/server/routes/create_apm_api.ts
@@ -66,15 +66,8 @@ import {
transactionThroughputChatsRoute,
} from './transactions';
import {
- errorGroupsLocalFiltersRoute,
- metricsLocalFiltersRoute,
- servicesLocalFiltersRoute,
- tracesLocalFiltersRoute,
- transactionGroupsLocalFiltersRoute,
- transactionsLocalFiltersRoute,
- serviceNodesLocalFiltersRoute,
- uiFiltersEnvironmentsRoute,
rumOverviewLocalFiltersRoute,
+ uiFiltersEnvironmentsRoute,
} from './ui_filters';
import { serviceMapRoute, serviceMapServiceNodeRoute } from './service_map';
import {
@@ -176,13 +169,6 @@ const createApmApi = () => {
.add(transactionThroughputChatsRoute)
// UI filters
- .add(errorGroupsLocalFiltersRoute)
- .add(metricsLocalFiltersRoute)
- .add(servicesLocalFiltersRoute)
- .add(tracesLocalFiltersRoute)
- .add(transactionGroupsLocalFiltersRoute)
- .add(transactionsLocalFiltersRoute)
- .add(serviceNodesLocalFiltersRoute)
.add(uiFiltersEnvironmentsRoute)
// Service map
diff --git a/x-pack/plugins/apm/server/routes/ui_filters.ts b/x-pack/plugins/apm/server/routes/ui_filters.ts
index 9cedbf16e161b..b14a47e302caa 100644
--- a/x-pack/plugins/apm/server/routes/ui_filters.ts
+++ b/x-pack/plugins/apm/server/routes/ui_filters.ts
@@ -7,29 +7,23 @@
import * as t from 'io-ts';
import { omit } from 'lodash';
+import { jsonRt } from '../../common/runtime_types/json_rt';
+import { LocalUIFilterName } from '../../common/ui_filter';
+import { getSearchAggregatedTransactions } from '../lib/helpers/aggregated_transactions';
+import { getEsFilter } from '../lib/helpers/convert_ui_filters/get_es_filter';
import {
- setupRequest,
Setup,
+ setupRequest,
SetupTimeRange,
} from '../lib/helpers/setup_request';
import { getEnvironments } from '../lib/ui_filters/get_environments';
-import { Projection } from '../projections/typings';
-import { localUIFilterNames } from '../lib/ui_filters/local_ui_filters/config';
-import { getEsFilter } from '../lib/helpers/convert_ui_filters/get_es_filter';
import { getLocalUIFilters } from '../lib/ui_filters/local_ui_filters';
-import { getServicesProjection } from '../projections/services';
-import { getTransactionGroupsProjection } from '../projections/transaction_groups';
-import { getMetricsProjection } from '../projections/metrics';
-import { getErrorGroupsProjection } from '../projections/errors';
-import { getTransactionsProjection } from '../projections/transactions';
-import { createRoute } from './create_route';
-import { uiFiltersRt, rangeRt } from './default_api_types';
-import { jsonRt } from '../../common/runtime_types/json_rt';
-import { getServiceNodesProjection } from '../projections/service_nodes';
+import { localUIFilterNames } from '../lib/ui_filters/local_ui_filters/config';
import { getRumPageLoadTransactionsProjection } from '../projections/rum_page_load_transactions';
-import { getSearchAggregatedTransactions } from '../lib/helpers/aggregated_transactions';
+import { Projection } from '../projections/typings';
+import { createRoute } from './create_route';
+import { rangeRt, uiFiltersRt } from './default_api_types';
import { APMRequestHandlerContext } from './typings';
-import { LocalUIFilterName } from '../../common/ui_filter';
export const uiFiltersEnvironmentsRoute = createRoute({
endpoint: 'GET /api/apm/ui_filters/environments',
@@ -122,136 +116,6 @@ function createLocalFiltersRoute<
});
}
-export const servicesLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: `GET /api/apm/ui_filters/local_filters/services`,
- getProjection: async ({ context, setup }) => {
- const searchAggregatedTransactions = await getSearchAggregatedTransactions(
- setup
- );
-
- return getServicesProjection({ setup, searchAggregatedTransactions });
- },
- queryRt: t.type({}),
-});
-
-export const transactionGroupsLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/transactionGroups',
- getProjection: async ({ context, setup, query }) => {
- const { transactionType, serviceName, transactionName } = query;
-
- const searchAggregatedTransactions = await getSearchAggregatedTransactions(
- setup
- );
-
- return getTransactionGroupsProjection({
- setup,
- options: {
- type: 'top_transactions',
- transactionType,
- serviceName,
- transactionName,
- searchAggregatedTransactions,
- },
- });
- },
- queryRt: t.intersection([
- t.type({
- serviceName: t.string,
- transactionType: t.string,
- }),
- t.partial({
- transactionName: t.string,
- }),
- ]),
-});
-
-export const tracesLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/traces',
- getProjection: async ({ setup, context }) => {
- const searchAggregatedTransactions = await getSearchAggregatedTransactions(
- setup
- );
-
- return getTransactionGroupsProjection({
- setup,
- options: { type: 'top_traces', searchAggregatedTransactions },
- });
- },
- queryRt: t.type({}),
-});
-
-export const transactionsLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/transactions',
- getProjection: async ({ context, setup, query }) => {
- const { transactionType, serviceName, transactionName } = query;
-
- const searchAggregatedTransactions = await getSearchAggregatedTransactions(
- setup
- );
-
- return getTransactionsProjection({
- setup,
- transactionType,
- serviceName,
- transactionName,
- searchAggregatedTransactions,
- });
- },
- queryRt: t.type({
- transactionType: t.string,
- transactionName: t.string,
- serviceName: t.string,
- }),
-});
-
-export const metricsLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/metrics',
- getProjection: ({ setup, query }) => {
- const { serviceName, serviceNodeName } = query;
- return getMetricsProjection({
- setup,
- serviceName,
- serviceNodeName,
- });
- },
- queryRt: t.intersection([
- t.type({
- serviceName: t.string,
- }),
- t.partial({
- serviceNodeName: t.string,
- }),
- ]),
-});
-
-export const errorGroupsLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/errorGroups',
- getProjection: ({ setup, query }) => {
- const { serviceName } = query;
- return getErrorGroupsProjection({
- setup,
- serviceName,
- });
- },
- queryRt: t.type({
- serviceName: t.string,
- }),
-});
-
-export const serviceNodesLocalFiltersRoute = createLocalFiltersRoute({
- endpoint: 'GET /api/apm/ui_filters/local_filters/serviceNodes',
- getProjection: ({ setup, query }) => {
- const { serviceName } = query;
- return getServiceNodesProjection({
- setup,
- serviceName,
- });
- },
- queryRt: t.type({
- serviceName: t.string,
- }),
-});
-
export const rumOverviewLocalFiltersRoute = createLocalFiltersRoute({
endpoint: 'GET /api/apm/ui_filters/local_filters/rumOverview',
getProjection: async ({ setup }) => {
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index cab6973072f24..b472655bf9028 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -5104,7 +5104,6 @@
"xpack.apm.localFilters.titles.serviceName": "サービス名",
"xpack.apm.localFilters.titles.serviceVersion": "サービスバージョン",
"xpack.apm.localFilters.titles.transactionResult": "トランザクション結果",
- "xpack.apm.localFilters.titles.transactionType": "トランザクションタイプ",
"xpack.apm.localFilters.titles.transactionUrl": "Url",
"xpack.apm.localFiltersTitle": "フィルター",
"xpack.apm.metadataTable.section.agentLabel": "エージェント",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 2bdbfc3d565e5..135aa92fb0b1b 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -5112,7 +5112,6 @@
"xpack.apm.localFilters.titles.serviceName": "服务名称",
"xpack.apm.localFilters.titles.serviceVersion": "服务版本",
"xpack.apm.localFilters.titles.transactionResult": "事务结果",
- "xpack.apm.localFilters.titles.transactionType": "事务类型",
"xpack.apm.localFilters.titles.transactionUrl": "URL",
"xpack.apm.localFiltersTitle": "筛选",
"xpack.apm.metadataTable.section.agentLabel": "代理",