Skip to content

Commit d128732

Browse files
Merge branch 'master' into dev/search-server-session-wip
2 parents 84de299 + bdf7b88 commit d128732

File tree

31 files changed

+412
-193
lines changed

31 files changed

+412
-193
lines changed

test/api_integration/apis/saved_objects/migrations.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ function getLogMock() {
5454
export default ({ getService }: FtrProviderContext) => {
5555
const esClient = getService('es');
5656

57-
describe('Kibana index migration', () => {
57+
// FLAKY: https://github.com/elastic/kibana/issues/84445
58+
describe.skip('Kibana index migration', () => {
5859
before(() => esClient.indices.delete({ index: '.migrate-*' }));
5960

6061
it('Migrates an existing index that has never been migrated before', async () => {

x-pack/plugins/alerts/public/alert_api.test.ts

Lines changed: 1 addition & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import { AlertType } from '../common';
88
import { httpServiceMock } from '../../../../src/core/public/mocks';
9-
import { loadAlert, loadAlertState, loadAlertType, loadAlertTypes } from './alert_api';
9+
import { loadAlert, loadAlertType, loadAlertTypes } from './alert_api';
1010
import uuid from 'uuid';
1111

1212
const http = httpServiceMock.createStartContract();
@@ -114,67 +114,3 @@ describe('loadAlert', () => {
114114
expect(http.get).toHaveBeenCalledWith(`/api/alerts/alert/${alertId}`);
115115
});
116116
});
117-
118-
describe('loadAlertState', () => {
119-
test('should call get API with base parameters', async () => {
120-
const alertId = uuid.v4();
121-
const resolvedValue = {
122-
alertTypeState: {
123-
some: 'value',
124-
},
125-
alertInstances: {
126-
first_instance: {},
127-
second_instance: {},
128-
},
129-
};
130-
http.get.mockResolvedValueOnce(resolvedValue);
131-
132-
expect(await loadAlertState({ http, alertId })).toEqual(resolvedValue);
133-
expect(http.get).toHaveBeenCalledWith(`/api/alerts/alert/${alertId}/state`);
134-
});
135-
136-
test('should parse AlertInstances', async () => {
137-
const alertId = uuid.v4();
138-
const resolvedValue = {
139-
alertTypeState: {
140-
some: 'value',
141-
},
142-
alertInstances: {
143-
first_instance: {
144-
state: {},
145-
meta: {
146-
lastScheduledActions: {
147-
group: 'first_group',
148-
date: '2020-02-09T23:15:41.941Z',
149-
},
150-
},
151-
},
152-
},
153-
};
154-
http.get.mockResolvedValueOnce(resolvedValue);
155-
156-
expect(await loadAlertState({ http, alertId })).toEqual({
157-
...resolvedValue,
158-
alertInstances: {
159-
first_instance: {
160-
state: {},
161-
meta: {
162-
lastScheduledActions: {
163-
group: 'first_group',
164-
date: new Date('2020-02-09T23:15:41.941Z'),
165-
},
166-
},
167-
},
168-
},
169-
});
170-
expect(http.get).toHaveBeenCalledWith(`/api/alerts/alert/${alertId}/state`);
171-
});
172-
173-
test('should handle empty response from api', async () => {
174-
const alertId = uuid.v4();
175-
http.get.mockResolvedValueOnce('');
176-
177-
expect(await loadAlertState({ http, alertId })).toEqual({});
178-
expect(http.get).toHaveBeenCalledWith(`/api/alerts/alert/${alertId}/state`);
179-
});
180-
});

x-pack/plugins/alerts/public/alert_api.ts

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,9 @@
55
*/
66

77
import { HttpSetup } from 'kibana/public';
8-
import * as t from 'io-ts';
9-
import { pipe } from 'fp-ts/lib/pipeable';
10-
import { fold } from 'fp-ts/lib/Either';
11-
import { findFirst } from 'fp-ts/lib/Array';
12-
import { isNone } from 'fp-ts/lib/Option';
13-
148
import { i18n } from '@kbn/i18n';
15-
import { BASE_ALERT_API_PATH, alertStateSchema } from '../common';
16-
import { Alert, AlertType, AlertTaskState } from '../common';
9+
import { BASE_ALERT_API_PATH } from '../common';
10+
import type { Alert, AlertType } from '../common';
1711

1812
export async function loadAlertTypes({ http }: { http: HttpSetup }): Promise<AlertType[]> {
1913
return await http.get(`${BASE_ALERT_API_PATH}/list_alert_types`);
@@ -26,10 +20,10 @@ export async function loadAlertType({
2620
http: HttpSetup;
2721
id: AlertType['id'];
2822
}): Promise<AlertType> {
29-
const maybeAlertType = findFirst<AlertType>((type) => type.id === id)(
30-
await http.get(`${BASE_ALERT_API_PATH}/list_alert_types`)
31-
);
32-
if (isNone(maybeAlertType)) {
23+
const maybeAlertType = ((await http.get(
24+
`${BASE_ALERT_API_PATH}/list_alert_types`
25+
)) as AlertType[]).find((type) => type.id === id);
26+
if (!maybeAlertType) {
3327
throw new Error(
3428
i18n.translate('xpack.alerts.loadAlertType.missingAlertTypeError', {
3529
defaultMessage: 'Alert type "{id}" is not registered.',
@@ -39,7 +33,7 @@ export async function loadAlertType({
3933
})
4034
);
4135
}
42-
return maybeAlertType.value;
36+
return maybeAlertType;
4337
}
4438

4539
export async function loadAlert({
@@ -51,24 +45,3 @@ export async function loadAlert({
5145
}): Promise<Alert> {
5246
return await http.get(`${BASE_ALERT_API_PATH}/alert/${alertId}`);
5347
}
54-
55-
type EmptyHttpResponse = '';
56-
export async function loadAlertState({
57-
http,
58-
alertId,
59-
}: {
60-
http: HttpSetup;
61-
alertId: string;
62-
}): Promise<AlertTaskState> {
63-
return await http
64-
.get(`${BASE_ALERT_API_PATH}/alert/${alertId}/state`)
65-
.then((state: AlertTaskState | EmptyHttpResponse) => (state ? state : {}))
66-
.then((state: AlertTaskState) => {
67-
return pipe(
68-
alertStateSchema.decode(state),
69-
fold((e: t.Errors) => {
70-
throw new Error(`Alert "${alertId}" has invalid state`);
71-
}, t.identity)
72-
);
73-
});
74-
}

x-pack/plugins/apm/public/components/app/service_node_metrics/index.tsx

Lines changed: 5 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,11 @@ export function ServiceNodeMetrics({ match }: ServiceNodeMetricsProps) {
5959
const { urlParams, uiFilters } = useUrlParams();
6060
const { serviceName, serviceNodeName } = match.params;
6161
const { agentName } = useAgentName();
62-
const { data } = useServiceMetricCharts(urlParams, agentName);
62+
const { data } = useServiceMetricCharts(
63+
urlParams,
64+
agentName,
65+
serviceNodeName
66+
);
6367
const { start, end } = urlParams;
6468

6569
const { data: { host, containerId } = INITIAL_DATA, status } = useFetcher(
@@ -177,25 +181,6 @@ export function ServiceNodeMetrics({ match }: ServiceNodeMetricsProps) {
177181
</EuiFlexItem>
178182
</MetadataFlexGroup>
179183
)}
180-
{agentName && (
181-
<ChartPointerEventContextProvider>
182-
<EuiFlexGrid columns={2} gutterSize="s">
183-
{data.charts.map((chart) => (
184-
<EuiFlexItem key={chart.key}>
185-
<EuiPanel>
186-
<MetricsChart
187-
start={start}
188-
end={end}
189-
chart={chart}
190-
fetchStatus={status}
191-
/>
192-
</EuiPanel>
193-
</EuiFlexItem>
194-
))}
195-
</EuiFlexGrid>
196-
<EuiSpacer size="xxl" />
197-
</ChartPointerEventContextProvider>
198-
)}
199184
<SearchBar />
200185
<EuiPage>
201186
{agentName && (

x-pack/plugins/apm/public/hooks/useServiceMetricCharts.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ const INITIAL_DATA: MetricsChartsByAgentAPIResponse = {
1717

1818
export function useServiceMetricCharts(
1919
urlParams: IUrlParams,
20-
agentName?: string
20+
agentName?: string,
21+
serviceNodeName?: string
2122
) {
2223
const { serviceName } = useParams<{ serviceName?: string }>();
2324
const { start, end } = urlParams;
@@ -30,6 +31,7 @@ export function useServiceMetricCharts(
3031
params: {
3132
path: { serviceName },
3233
query: {
34+
serviceNodeName,
3335
start,
3436
end,
3537
agentName,
@@ -39,7 +41,7 @@ export function useServiceMetricCharts(
3941
});
4042
}
4143
},
42-
[serviceName, start, end, agentName, uiFilters]
44+
[serviceName, start, end, agentName, serviceNodeName, uiFilters]
4345
);
4446

4547
return {

x-pack/plugins/apm/server/lib/metrics/by_agent/default.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ export async function getDefaultMetricsCharts(
1313
serviceName: string
1414
) {
1515
const charts = await Promise.all([
16-
getCPUChartData(setup, serviceName),
17-
getMemoryChartData(setup, serviceName),
16+
getCPUChartData({ setup, serviceName }),
17+
getMemoryChartData({ setup, serviceName }),
1818
]);
1919

2020
return { charts };

x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/get_gc_rate_chart.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,22 @@ const chartBase: ChartBase = {
3030
series,
3131
};
3232

33-
const getGcRateChart = (
34-
setup: Setup & SetupTimeRange,
35-
serviceName: string,
36-
serviceNodeName?: string
37-
) => {
33+
function getGcRateChart({
34+
setup,
35+
serviceName,
36+
serviceNodeName,
37+
}: {
38+
setup: Setup & SetupTimeRange;
39+
serviceName: string;
40+
serviceNodeName?: string;
41+
}) {
3842
return fetchAndTransformGcMetrics({
3943
setup,
4044
serviceName,
4145
serviceNodeName,
4246
chartBase,
4347
fieldName: METRIC_JAVA_GC_COUNT,
4448
});
45-
};
49+
}
4650

4751
export { getGcRateChart };

x-pack/plugins/apm/server/lib/metrics/by_agent/java/gc/get_gc_time_chart.ts

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -30,18 +30,22 @@ const chartBase: ChartBase = {
3030
series,
3131
};
3232

33-
const getGcTimeChart = (
34-
setup: Setup & SetupTimeRange,
35-
serviceName: string,
36-
serviceNodeName?: string
37-
) => {
33+
function getGcTimeChart({
34+
setup,
35+
serviceName,
36+
serviceNodeName,
37+
}: {
38+
setup: Setup & SetupTimeRange;
39+
serviceName: string;
40+
serviceNodeName?: string;
41+
}) {
3842
return fetchAndTransformGcMetrics({
3943
setup,
4044
serviceName,
4145
serviceNodeName,
4246
chartBase,
4347
fieldName: METRIC_JAVA_GC_TIME,
4448
});
45-
};
49+
}
4650

4751
export { getGcTimeChart };

x-pack/plugins/apm/server/lib/metrics/by_agent/java/heap_memory/index.ts

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,15 @@ const chartBase: ChartBase = {
5050
series,
5151
};
5252

53-
export async function getHeapMemoryChart(
54-
setup: Setup & SetupTimeRange,
55-
serviceName: string,
56-
serviceNodeName?: string
57-
) {
53+
export async function getHeapMemoryChart({
54+
setup,
55+
serviceName,
56+
serviceNodeName,
57+
}: {
58+
setup: Setup & SetupTimeRange;
59+
serviceName: string;
60+
serviceNodeName?: string;
61+
}) {
5862
return fetchAndTransformMetrics({
5963
setup,
6064
serviceName,

x-pack/plugins/apm/server/lib/metrics/by_agent/java/index.ts

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,23 @@ import { getMemoryChartData } from '../shared/memory';
1313
import { getGcRateChart } from './gc/get_gc_rate_chart';
1414
import { getGcTimeChart } from './gc/get_gc_time_chart';
1515

16-
export async function getJavaMetricsCharts(
17-
setup: Setup & SetupTimeRange,
18-
serviceName: string,
19-
serviceNodeName?: string
20-
) {
16+
export async function getJavaMetricsCharts({
17+
setup,
18+
serviceName,
19+
serviceNodeName,
20+
}: {
21+
setup: Setup & SetupTimeRange;
22+
serviceName: string;
23+
serviceNodeName?: string;
24+
}) {
2125
const charts = await Promise.all([
22-
getCPUChartData(setup, serviceName, serviceNodeName),
23-
getMemoryChartData(setup, serviceName, serviceNodeName),
24-
getHeapMemoryChart(setup, serviceName, serviceNodeName),
25-
getNonHeapMemoryChart(setup, serviceName, serviceNodeName),
26-
getThreadCountChart(setup, serviceName, serviceNodeName),
27-
getGcRateChart(setup, serviceName, serviceNodeName),
28-
getGcTimeChart(setup, serviceName, serviceNodeName),
26+
getCPUChartData({ setup, serviceName, serviceNodeName }),
27+
getMemoryChartData({ setup, serviceName, serviceNodeName }),
28+
getHeapMemoryChart({ setup, serviceName, serviceNodeName }),
29+
getNonHeapMemoryChart({ setup, serviceName, serviceNodeName }),
30+
getThreadCountChart({ setup, serviceName, serviceNodeName }),
31+
getGcRateChart({ setup, serviceName, serviceNodeName }),
32+
getGcTimeChart({ setup, serviceName, serviceNodeName }),
2933
]);
3034

3135
return { charts };

0 commit comments

Comments
 (0)