Skip to content
Closed
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import React from 'react';
import styled from 'styled-components';
import { first } from 'lodash';
import { idx } from '@kbn/elastic-idx';
import { ErrorGroupAPIResponse } from '../../../../../server/lib/errors/get_error_group';
import { APMError } from '../../../../../typings/es_schemas/ui/APMError';
import { IUrlParams } from '../../../../context/UrlParamsContext/types';
import { px, unit } from '../../../../style/variables';
Expand All @@ -34,6 +33,7 @@ import {
logStacktraceTab
} from './ErrorTabs';
import { StickyErrorProperties } from './StickyErrorProperties';
import { ErrorGroupAPIResponse } from '../../../../../server/routes/errors/error_group_route';

const HeaderContainer = styled.div`
display: flex;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import moment from 'moment';
import React, { useMemo } from 'react';
import styled from 'styled-components';
import { NOT_AVAILABLE_LABEL } from '../../../../../common/i18n';
import { ErrorGroupListAPIResponse } from '../../../../../server/lib/errors/get_error_groups';
import {
fontFamilyCode,
fontSizes,
Expand All @@ -22,6 +21,7 @@ import {
import { APMLink } from '../../../shared/Links/apm/APMLink';
import { useUrlParams } from '../../../../hooks/useUrlParams';
import { ManagedTable } from '../../../shared/ManagedTable';
import { ErrorGroupListAPIResponse } from '../../../../../server/routes/errors/error_group_list_route';

const GroupIdLink = styled(APMLink)`
font-family: ${fontFamilyCode};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import { i18n } from '@kbn/i18n';
import React, { Component } from 'react';
import { toastNotifications } from 'ui/notify';
import { startMLJob } from '../../../../../services/rest/ml';
import { getAPMIndexPattern } from '../../../../../services/rest/savedObjects';
import { getAPMIndexPattern } from '../../../../../services/rest/apm/index_patterns';
import { IUrlParams } from '../../../../../context/UrlParamsContext/types';
import { MLJobLink } from '../../../../shared/Links/MachineLearningLinks/MLJobLink';
import { MachineLearningFlyoutView } from './view';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import { EuiToolTip } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import React from 'react';
import styled from 'styled-components';
import { ServiceListAPIResponse } from '../../../../../server/lib/services/get_services';
import { NOT_AVAILABLE_LABEL } from '../../../../../common/i18n';
import { ServiceListAPIResponse } from '../../../../../server/routes/services/service_list_route';
import { fontSizes, truncate } from '../../../../style/variables';
import { asDecimal, asMillis } from '../../../../utils/formatters';
import { APMLink } from '../../../shared/Links/apm/APMLink';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import {
deleteAgentConfiguration,
updateAgentConfiguration,
createAgentConfiguration
} from '../../../../services/rest/apm/settings';
} from '../../../../services/rest/apm/agent_configuration';
import { ENVIRONMENT_NOT_DEFINED } from '../../../../../common/environment_filter_values';

interface Props {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,13 @@ import {
EuiLink
} from '@elastic/eui';
import { isEmpty } from 'lodash';
import { loadAgentConfigurationList } from '../../../services/rest/apm/settings';
import { loadAgentConfigurationList } from '../../../services/rest/apm/agent_configuration';
import { useFetcher } from '../../../hooks/useFetcher';
import { ITableColumn, ManagedTable } from '../../shared/ManagedTable';
import { AgentConfigurationListAPIResponse } from '../../../../server/lib/settings/agent_configuration/list_configurations';
import { AddSettingsFlyout } from './AddSettings/AddSettingFlyout';
import { APMLink } from '../../shared/Links/apm/APMLink';
import { LoadingStatePrompt } from '../../shared/LoadingStatePrompt';
import { AgentConfigurationListAPIResponse } from '../../../../server/routes/agent_configuration/agent_configuration_list_route';

export type Config = AgentConfigurationListAPIResponse[0];

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ import { EuiIconTip, EuiTitle } from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import d3 from 'd3';
import React, { FunctionComponent, useCallback } from 'react';
import { TransactionDistributionAPIResponse } from '../../../../../server/lib/transactions/distribution';
import { IBucket } from '../../../../../server/lib/transactions/distribution/get_buckets/transform';
import { IUrlParams } from '../../../../context/UrlParamsContext/types';
import { getTimeFormatter, timeUnit } from '../../../../utils/formatters';
Expand All @@ -18,6 +17,7 @@ import { EmptyMessage } from '../../../shared/EmptyMessage';
import { fromQuery, toQuery } from '../../../shared/Links/url_helpers';
import { history } from '../../../../utils/history';
import { LoadingStatePrompt } from '../../../shared/LoadingStatePrompt';
import { TransactionDistributionAPIResponse } from '../../../../../server/routes/transaction_groups/transaction_distribution_route';

interface IChartPoint {
sample?: IBucket['sample'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ import {
zipObject
} from 'lodash';
import { idx } from '@kbn/elastic-idx';
import { TraceAPIResponse } from '../../../../../../../../server/lib/traces/get_trace';
import { StringMap } from '../../../../../../../../typings/common';
import { Span } from '../../../../../../../../typings/es_schemas/ui/Span';
import { Transaction } from '../../../../../../../../typings/es_schemas/ui/Transaction';
import { TraceAPIResponse } from '../../../../../../../../server/routes/traces/trace_route';

interface IWaterfallIndex {
[key: string]: IWaterfallItem;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ import { history } from '../../../utils/history';
import { useMatchedRoutes } from '../../../hooks/useMatchedRoutes';
import { RouteName } from '../../app/Main/route_config/route_names';
import { useCore } from '../../../hooks/useCore';
import { getAPMIndexPattern } from '../../../services/rest/savedObjects';
import { getAPMIndexPattern } from '../../../services/rest/apm/index_patterns';

const Container = styled.div`
margin-bottom: 10px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ export function DiscoverLink({ query = {}, ...rest }: Props) {
const apmIndexPattern = useAPMIndexPattern();
const location = useLocation();

if (!apmIndexPattern.id) {
if (!apmIndexPattern || !apmIndexPattern.id) {
return null;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,21 @@ import React from 'react';
import { APMError } from '../../../../../../typings/es_schemas/ui/APMError';
import { Span } from '../../../../../../typings/es_schemas/ui/Span';
import { Transaction } from '../../../../../../typings/es_schemas/ui/Transaction';
import * as savedObjects from '../../../../../services/rest/savedObjects';
import * as indexPatterns from '../../../../../services/rest/apm/index_patterns';
import { getRenderedHref } from '../../../../../utils/testHelpers';
import { DiscoverErrorLink } from '../DiscoverErrorLink';
import { DiscoverSpanLink } from '../DiscoverSpanLink';
import { DiscoverTransactionLink } from '../DiscoverTransactionLink';
import * as hooks from '../../../../../hooks/useCore';
import { InternalCoreStart } from 'src/core/public';
import { IndexPatternApiResponse } from '../../../../../../server/routes/index_patterns/index_pattern';

jest.mock('ui/kfetch');

jest
.spyOn(savedObjects, 'getAPMIndexPattern')
.spyOn(indexPatterns, 'getAPMIndexPattern')
.mockReturnValue(
Promise.resolve({ id: 'apm-index-pattern-id' } as savedObjects.ISavedObject)
Promise.resolve({ id: 'apm-index-pattern-id' } as IndexPatternApiResponse)
);

beforeAll(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@ import { Location } from 'history';
import React from 'react';
import { getRenderedHref } from '../../../../utils/testHelpers';
import { MLLink } from './MLLink';
import * as savedObjects from '../../../../services/rest/savedObjects';
import * as indexPatterns from '../../../../services/rest/apm/index_patterns';
import * as hooks from '../../../../hooks/useCore';
import { InternalCoreStart } from 'src/core/public';
import { IndexPatternApiResponse } from '../../../../../server/routes/index_patterns/index_pattern';

jest.mock('ui/kfetch');

Expand All @@ -25,9 +26,9 @@ const coreMock = ({
jest.spyOn(hooks, 'useCore').mockReturnValue(coreMock);

jest
.spyOn(savedObjects, 'getAPMIndexPattern')
.spyOn(indexPatterns, 'getAPMIndexPattern')
.mockReturnValue(
Promise.resolve({ id: 'apm-index-pattern-id' } as savedObjects.ISavedObject)
Promise.resolve({ id: 'apm-index-pattern-id' } as IndexPatternApiResponse)
);

beforeAll(() => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import { Transaction } from '../../../../../typings/es_schemas/ui/Transaction';
import * as Transactions from './mockData';
import * as apmIndexPatternHooks from '../../../../hooks/useAPMIndexPattern';
import * as coreHoooks from '../../../../hooks/useCore';
import { ISavedObject } from '../../../../services/rest/savedObjects';
import { InternalCoreStart } from 'src/core/public';
import { IndexPatternApiResponse } from '../../../../../server/routes/index_patterns/index_pattern';

jest.mock('ui/kfetch');

Expand All @@ -39,7 +39,7 @@ describe('TransactionActionMenu component', () => {

jest
.spyOn(apmIndexPatternHooks, 'useAPMIndexPattern')
.mockReturnValue({ id: 'foo' } as ISavedObject);
.mockReturnValue({ id: 'foo' } as IndexPatternApiResponse);
jest.spyOn(coreHoooks, 'useCore').mockReturnValue(coreMock);
});

Expand Down
8 changes: 3 additions & 5 deletions x-pack/legacy/plugins/apm/public/hooks/useAPMIndexPattern.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,11 @@
*/

import { useEffect, useState } from 'react';
import {
getAPMIndexPattern,
ISavedObject
} from '../services/rest/savedObjects';
import { getAPMIndexPattern } from '../services/rest/apm/index_patterns';
import { IndexPatternApiResponse } from '../../server/routes/index_patterns/index_pattern';

export function useAPMIndexPattern() {
const [pattern, setPattern] = useState({} as ISavedObject);
const [pattern, setPattern] = useState<IndexPatternApiResponse | null>(null);

async function fetchPattern() {
const indexPattern = await getAPMIndexPattern();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { MetricsChartsByAgentAPIResponse } from '../../server/lib/metrics/get_metrics_chart_data_by_agent';
import { loadMetricsChartData } from '../services/rest/apm/metrics';
import { IUrlParams } from '../context/UrlParamsContext/types';
import { useUiFilters } from '../context/UrlParamsContext';
import { useFetcher } from './useFetcher';
import { PromiseReturnType } from '../../typings/common';

const INITIAL_DATA: MetricsChartsByAgentAPIResponse = {
const INITIAL_DATA: PromiseReturnType<typeof loadMetricsChartData> = {
charts: []
};

Expand All @@ -20,9 +20,7 @@ export function useServiceMetricCharts(
) {
const { serviceName, start, end } = urlParams;
const uiFilters = useUiFilters(urlParams);
const { data = INITIAL_DATA, error, status } = useFetcher<
MetricsChartsByAgentAPIResponse
>(() => {
const { data = INITIAL_DATA, error, status } = useFetcher(() => {
if (serviceName && start && end && agentName) {
return loadMetricsChartData({
serviceName,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import { loadTransactionList } from '../services/rest/apm/transaction_groups';
import { IUrlParams } from '../context/UrlParamsContext/types';
import { useUiFilters } from '../context/UrlParamsContext';
import { useFetcher } from './useFetcher';
import { TransactionGroupListAPIResponse } from '../../server/lib/transaction_groups';
import { TransactionGroupListAPIResponse } from '../../server/routes/transaction_groups/transaction_group_list_route';

const getRelativeImpact = (
impact: number,
Expand Down
9 changes: 6 additions & 3 deletions x-pack/legacy/plugins/apm/public/selectors/chartSelectors.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ import { i18n } from '@kbn/i18n';
import { difference, zipObject } from 'lodash';
import mean from 'lodash.mean';
import { rgba } from 'polished';
import { TimeSeriesAPIResponse } from '../../server/lib/transactions/charts';
import { ApmTimeSeriesResponse } from '../../server/lib/transactions/charts/get_timeseries_data/transform';
import { StringMap } from '../../typings/common';
import {
Expand All @@ -20,6 +19,7 @@ import {
import { asDecimal, asMillis, tpmUnit } from '../utils/formatters';
import { IUrlParams } from '../context/UrlParamsContext/types';
import { getEmptySeries } from '../components/shared/charts/CustomPlot/getEmptySeries';
import { TransactionChartsAPIResponse } from '../../server/routes/transaction_groups/transaction_charts_route';

export interface ITpmBucket {
title: string;
Expand Down Expand Up @@ -49,7 +49,10 @@ const INITIAL_DATA = {

export function getTransactionCharts(
{ transactionType }: IUrlParams,
{ apmTimeseries, anomalyTimeseries }: TimeSeriesAPIResponse = INITIAL_DATA
{
apmTimeseries,
anomalyTimeseries
}: TransactionChartsAPIResponse = INITIAL_DATA
): ITransactionChartData {
const tpmSeries = getTpmSeries(apmTimeseries, transactionType);

Expand All @@ -67,7 +70,7 @@ export function getTransactionCharts(
export function getResponseTimeSeries({
apmTimeseries,
anomalyTimeseries
}: TimeSeriesAPIResponse) {
}: TransactionChartsAPIResponse) {
const { overallAvgDuration } = apmTimeseries;
const { avg, p95, p99 } = apmTimeseries.responseTimes;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { UpdateAgentConfigurationAPIResponse } from '../../../../server/lib/settings/agent_configuration/update_configuration';
import { callApi } from '../callApi';
import { callApmApi } from '../callApi';
import { AgentConfigurationIntake } from '../../../../server/lib/settings/agent_configuration/configuration_types';
import { AgentConfigurationServicesAPIResponse } from '../../../../server/lib/settings/agent_configuration/get_service_names';
import { CreateAgentConfigurationAPIResponse } from '../../../../server/lib/settings/agent_configuration/create_configuration';
import { AgentConfigurationListAPIResponse } from '../../../../server/lib/settings/agent_configuration/list_configurations';
import { AgentConfigurationEnvironmentsAPIResponse } from '../../../../server/lib/settings/agent_configuration/get_environments';
import { agentConfigurationListRoute } from '../../../../server/routes/agent_configuration/agent_configuration_list_route';
import { environmentsRoute } from '../../../../server/routes/agent_configuration/environments_route';
import { serviceNamesRoute } from '../../../../server/routes/agent_configuration/service_names_route';
import { createAgentConfigurationRoute } from '../../../../server/routes/agent_configuration/create_agent_configuration_route';
import { updateAgentConfigurationRoute } from '../../../../server/routes/agent_configuration/update_agent_configuration_route';

export async function loadAgentConfigurationServices() {
return callApi<AgentConfigurationServicesAPIResponse>({
return callApmApi<typeof serviceNamesRoute>({
pathname: `/api/apm/settings/agent-configuration/services`
});
}
Expand All @@ -23,15 +23,15 @@ export async function loadAgentConfigurationEnvironments({
}: {
serviceName: string;
}) {
return callApi<AgentConfigurationEnvironmentsAPIResponse>({
return callApmApi<typeof environmentsRoute>({
pathname: `/api/apm/settings/agent-configuration/services/${serviceName}/environments`
});
}

export async function createAgentConfiguration(
configuration: AgentConfigurationIntake
) {
return callApi<CreateAgentConfigurationAPIResponse>({
return callApmApi<typeof createAgentConfigurationRoute>({
pathname: `/api/apm/settings/agent-configuration/new`,
method: 'POST',
body: JSON.stringify(configuration)
Expand All @@ -42,22 +42,22 @@ export async function updateAgentConfiguration(
configurationId: string,
configuration: AgentConfigurationIntake
) {
return callApi<UpdateAgentConfigurationAPIResponse>({
return callApmApi<typeof updateAgentConfigurationRoute>({
pathname: `/api/apm/settings/agent-configuration/${configurationId}`,
method: 'PUT',
body: JSON.stringify(configuration)
});
}

export async function deleteAgentConfiguration(configId: string) {
return callApi({
return callApmApi({
pathname: `/api/apm/settings/agent-configuration/${configId}`,
method: 'DELETE'
});
}

export async function loadAgentConfigurationList() {
return callApi<AgentConfigurationListAPIResponse>({
return callApmApi<typeof agentConfigurationListRoute>({
pathname: `/api/apm/settings/agent-configuration`
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@
* you may not use this file except in compliance with the Elastic License.
*/

import { ErrorDistributionAPIResponse } from '../../../../server/lib/errors/distribution/get_distribution';
import { ErrorGroupAPIResponse } from '../../../../server/lib/errors/get_error_group';
import { ErrorGroupListAPIResponse } from '../../../../server/lib/errors/get_error_groups';
import { callApi } from '../callApi';
import { UIFilters } from '../../../../typings/ui-filters';
import { errorGroupListRoute } from '../../../../server/routes/errors/error_group_list_route';
import { errorGroupRoute } from '../../../../server/routes/errors/error_group_route';
import { errorDistributionRoute } from '../../../../server/routes/errors/error_distribution_route';
import { callApmApi } from '../callApi';

export async function loadErrorGroupList({
serviceName,
Expand All @@ -25,7 +25,7 @@ export async function loadErrorGroupList({
sortField?: string;
sortDirection?: string;
}) {
return callApi<ErrorGroupListAPIResponse>({
return callApmApi<typeof errorGroupListRoute>({
pathname: `/api/apm/services/${serviceName}/errors`,
query: {
start,
Expand All @@ -50,7 +50,7 @@ export async function loadErrorGroupDetails({
errorGroupId: string;
uiFilters: UIFilters;
}) {
return callApi<ErrorGroupAPIResponse>({
return callApmApi<typeof errorGroupRoute>({
pathname: `/api/apm/services/${serviceName}/errors/${errorGroupId}`,
query: {
start,
Expand All @@ -73,7 +73,7 @@ export async function loadErrorDistribution({
uiFilters: UIFilters;
errorGroupId?: string;
}) {
return callApi<ErrorDistributionAPIResponse>({
return callApmApi<typeof errorDistributionRoute>({
pathname: `/api/apm/services/${serviceName}/errors/distribution`,
query: {
start,
Expand Down
Loading