From 80c4afd11bbfd3c5647fc7dbede762b8fdabb81c Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Fri, 25 Jan 2019 13:58:33 -0500 Subject: [PATCH 01/58] Refactor es queries and associated components/endpoints. --- .../uptime/common/graphql/introspection.json | 282 ++++++++++++--- x-pack/plugins/uptime/common/graphql/types.ts | 67 +++- .../public/components/functional/index.ts | 1 + .../functional/monitor_page_title.tsx | 26 ++ .../queries/filter_bar/filter_bar.tsx | 10 +- .../queries/filter_bar/get_filter_bar.ts | 5 +- .../queries/monitor_list/get_monitor_list.ts | 9 +- .../queries/monitor_list/monitor_list.tsx | 8 +- .../get_monitor_page_title.ts | 17 + .../queries/monitor_page_title/index.ts | 7 + .../monitor_page_title_query.tsx | 41 +++ .../queries/snapshot/get_snapshot.ts | 11 +- .../components/queries/snapshot/snapshot.tsx | 3 +- .../plugins/uptime/public/pages/monitor.tsx | 6 +- .../server/graphql/monitors/resolvers.ts | 31 +- .../server/graphql/monitors/schema.gql.ts | 30 +- .../uptime/server/graphql/pings/schema.gql.ts | 19 +- .../lib/adapters/monitors/adapter_types.ts | 5 +- .../elasticsearch_monitors_adapter.ts | 325 +++++++++++------- .../adapters/monitors/memory_pings_adapter.ts | 11 +- .../pings/elasticsearch_pings_adapter.ts | 95 ++--- .../uptime/server/lib/domains/monitors.ts | 19 +- .../server/lib/helper/get_filtered_query.ts | 39 +++ .../plugins/uptime/server/lib/helper/index.ts | 7 + 24 files changed, 784 insertions(+), 290 deletions(-) create mode 100644 x-pack/plugins/uptime/public/components/functional/monitor_page_title.tsx create mode 100644 x-pack/plugins/uptime/public/components/queries/monitor_page_title/get_monitor_page_title.ts create mode 100644 x-pack/plugins/uptime/public/components/queries/monitor_page_title/index.ts create mode 100644 x-pack/plugins/uptime/public/components/queries/monitor_page_title/monitor_page_title_query.tsx create mode 100644 x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts create mode 100644 x-pack/plugins/uptime/server/lib/helper/index.ts diff --git a/x-pack/plugins/uptime/common/graphql/introspection.json b/x-pack/plugins/uptime/common/graphql/introspection.json index 5ed6e8bf14a91..07d98b280c170 100644 --- a/x-pack/plugins/uptime/common/graphql/introspection.json +++ b/x-pack/plugins/uptime/common/graphql/introspection.json @@ -137,26 +137,6 @@ }, "defaultValue": null }, - { - "name": "downCount", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } - }, - "defaultValue": null - }, - { - "name": "windowSize", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } - }, - "defaultValue": null - }, { "name": "filters", "description": "", @@ -325,6 +305,25 @@ }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "getMonitorPageTitle", + "description": "", + "args": [ + { + "name": "monitorId", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "defaultValue": null + } + ], + "type": { "kind": "OBJECT", "name": "MonitorPageTitle", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -395,6 +394,16 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "SCALAR", + "name": "UnsignedInteger", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Ping", @@ -412,6 +421,14 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "millisFromNow", + "description": "Milliseconds from the timestamp to the current time", + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "beat", "description": "The agent that recorded the ping", @@ -428,6 +445,14 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "ecs", + "description": "", + "args": [], + "type": { "kind": "OBJECT", "name": "ECS", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "error", "description": "", @@ -500,6 +525,14 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "summary", + "description": "", + "args": [], + "type": { "kind": "OBJECT", "name": "Summary", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "tags", "description": "", @@ -616,6 +649,25 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "ECS", + "description": "", + "fields": [ + { + "name": "version", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Error", @@ -672,6 +724,14 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "hostname", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "ip", "description": "", @@ -746,6 +806,22 @@ "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "name", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "build", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -875,7 +951,7 @@ "name": "us", "description": "", "args": [], - "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "type": { "kind": "SCALAR", "name": "UnsignedInteger", "ofType": null }, "isDeprecated": false, "deprecationReason": null } @@ -1182,6 +1258,14 @@ "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "check_group", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -1278,6 +1362,33 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "Summary", + "description": "", + "fields": [ + { + "name": "up", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "down", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "TCP", @@ -1360,6 +1471,46 @@ "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null + }, + { + "name": "scheme", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domain", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "port", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "path", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "query", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null } ], "inputFields": null, @@ -1390,16 +1541,6 @@ "enumValues": null, "possibleTypes": null }, - { - "kind": "SCALAR", - "name": "UnsignedInteger", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, { "kind": "OBJECT", "name": "LatestMonitorsResult", @@ -1432,7 +1573,11 @@ "name": "key", "description": "", "args": [], - "type": { "kind": "OBJECT", "name": "MonitorKey", "ofType": null }, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "MonitorKey", "ofType": null } + }, "isDeprecated": false, "deprecationReason": null }, @@ -1483,15 +1628,19 @@ "name": "id", "description": "", "args": [], - "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, "isDeprecated": false, "deprecationReason": null }, { - "name": "port", + "name": "url", "description": "", "args": [], - "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, "isDeprecated": false, "deprecationReason": null } @@ -1848,7 +1997,11 @@ "type": { "kind": "LIST", "name": null, - "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "OBJECT", "name": "MonitorKey", "ofType": null } + } }, "isDeprecated": false, "deprecationReason": null @@ -1860,7 +2013,11 @@ "type": { "kind": "LIST", "name": null, - "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } + } }, "isDeprecated": false, "deprecationReason": null @@ -1872,7 +2029,11 @@ "type": { "kind": "LIST", "name": null, - "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + } }, "isDeprecated": false, "deprecationReason": null @@ -1884,7 +2045,11 @@ "type": { "kind": "LIST", "name": null, - "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + } }, "isDeprecated": false, "deprecationReason": null @@ -1958,6 +2123,45 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "OBJECT", + "name": "MonitorPageTitle", + "description": "", + "fields": [ + { + "name": "id", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { "kind": "SCALAR", "name": "String", "ofType": null } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "", + "args": [], + "type": { "kind": "SCALAR", "name": "String", "ofType": null }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "__Schema", diff --git a/x-pack/plugins/uptime/common/graphql/types.ts b/x-pack/plugins/uptime/common/graphql/types.ts index 11df21da41a15..e925946cee9c3 100644 --- a/x-pack/plugins/uptime/common/graphql/types.ts +++ b/x-pack/plugins/uptime/common/graphql/types.ts @@ -31,6 +31,8 @@ export interface Query { getFilterBar?: FilterBar | null; getErrorsList?: (ErrorListItem | null)[] | null; + + getMonitorPageTitle?: MonitorPageTitle | null; } export interface PingResults { @@ -42,11 +44,15 @@ export interface PingResults { export interface Ping { /** The timestamp of the ping's creation */ timestamp: string; + /** Milliseconds from the timestamp to the current time */ + millisFromNow?: number | null; /** The agent that recorded the ping */ beat?: Beat | null; docker?: Docker | null; + ecs?: Ecs | null; + error?: Error | null; host?: Host | null; @@ -65,6 +71,8 @@ export interface Ping { socks5?: Socks5 | null; + summary?: Summary | null; + tags?: string | null; tcp?: Tcp | null; @@ -92,6 +100,10 @@ export interface Docker { name?: string | null; } +export interface Ecs { + version?: string | null; +} + export interface Error { code?: number | null; @@ -105,6 +117,8 @@ export interface Host { id?: string | null; + hostname?: string | null; + ip?: string | null; mac?: string | null; @@ -122,6 +136,10 @@ export interface Os { platform?: string | null; version?: string | null; + + name?: string | null; + + build?: string | null; } export interface Http { @@ -151,7 +169,7 @@ export interface HttpRtt { } /** The monitor's status for a ping */ export interface Duration { - us?: number | null; + us?: UnsignedInteger | null; } export interface Icmp { @@ -222,6 +240,8 @@ export interface Monitor { status?: string | null; /** The type of host being monitored */ type?: string | null; + + check_group?: string | null; } export interface Resolve { @@ -244,6 +264,12 @@ export interface Rtt { validate?: Duration | null; } +export interface Summary { + up?: number | null; + + down?: number | null; +} + export interface Tcp { port?: number | null; @@ -262,6 +288,16 @@ export interface Tls { export interface Url { full?: string | null; + + scheme?: string | null; + + domain?: string | null; + + port?: number | null; + + path?: string | null; + + query?: string | null; } export interface DocCount { @@ -273,7 +309,7 @@ export interface LatestMonitorsResult { } export interface LatestMonitor { - key?: MonitorKey | null; + key: MonitorKey; ping?: Ping | null; @@ -283,9 +319,9 @@ export interface LatestMonitor { } export interface MonitorKey { - id?: string | null; + id: string; - port?: number | null; + url?: string | null; } export interface MonitorSeriesPoint { @@ -363,13 +399,13 @@ export interface StatusData { } export interface FilterBar { - id?: (string | null)[] | null; + id?: MonitorKey[] | null; - port?: (number | null)[] | null; + port?: number[] | null; - scheme?: (string | null)[] | null; + scheme?: string[] | null; - status?: (string | null)[] | null; + status?: string[] | null; } export interface ErrorListItem { @@ -386,6 +422,14 @@ export interface ErrorListItem { timestamp?: string | null; } +export interface MonitorPageTitle { + id: string; + + url?: string | null; + + name?: string | null; +} + // ==================================================== // Arguments // ==================================================== @@ -415,10 +459,6 @@ export interface GetSnapshotQueryArgs { dateRangeEnd: string; - downCount: number; - - windowSize: number; - filters?: string | null; } export interface GetMonitorChartsDataQueryArgs { @@ -447,6 +487,9 @@ export interface GetErrorsListQueryArgs { filters?: string | null; } +export interface GetMonitorPageTitleQueryArgs { + monitorId: string; +} // ==================================================== // END: Typescript template diff --git a/x-pack/plugins/uptime/public/components/functional/index.ts b/x-pack/plugins/uptime/public/components/functional/index.ts index 913f35d34c982..6bf981a7a0870 100644 --- a/x-pack/plugins/uptime/public/components/functional/index.ts +++ b/x-pack/plugins/uptime/public/components/functional/index.ts @@ -5,5 +5,6 @@ */ export { EmptyStatusBar } from './empty_status_bar'; +export { MonitorPageTitle } from './monitor_page_title'; export { SnapshotHistogram } from './snapshot_histogram'; export { StatusBar } from './status_bar'; diff --git a/x-pack/plugins/uptime/public/components/functional/monitor_page_title.tsx b/x-pack/plugins/uptime/public/components/functional/monitor_page_title.tsx new file mode 100644 index 0000000000000..cd9d8e9fefc2b --- /dev/null +++ b/x-pack/plugins/uptime/public/components/functional/monitor_page_title.tsx @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { EuiFlexGroup, EuiFlexItem, EuiTitle } from '@elastic/eui'; +import React from 'react'; +import { MonitorPageTitle as TitleType } from 'x-pack/plugins/uptime/common/graphql/types'; + +interface MonitorPageTitleProps { + pageTitle: TitleType; +} + +export const MonitorPageTitle = ({ pageTitle: { name, url, id } }: MonitorPageTitleProps) => ( + + + +

{name ? name : url}

+
+
+ +

{id}

+
+
+); diff --git a/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx b/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx index a70c662d5c286..551642ed84de1 100644 --- a/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx +++ b/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx @@ -57,10 +57,10 @@ export const FilterBar = ({ dateRangeEnd, dateRangeStart, updateQuery }: Props) }), }, { - value: i18n.translate('xpack.uptime.filterBar.filterDownLabel', { + value: 'down', + name: i18n.translate('xpack.uptime.filterBar.filterDownLabel', { defaultMessage: 'Down', }), - name: 'Down', }, ], }, @@ -72,9 +72,9 @@ export const FilterBar = ({ dateRangeEnd, dateRangeStart, updateQuery }: Props) defaultMessage: 'ID', }), multiSelect: false, - options: take(id, MAX_SELECTION_LENGTH).map((idValue: any) => ({ + options: take(id, MAX_SELECTION_LENGTH).map(({ id: idValue, url }: any) => ({ value: idValue, - view: idValue, + view: url, })), searchThreshold: SEARCH_THRESHOLD, }, @@ -93,7 +93,7 @@ export const FilterBar = ({ dateRangeEnd, dateRangeStart, updateQuery }: Props) }, { type: 'field_value_selection', - field: 'monitor.scheme', + field: 'monitor.type', name: i18n.translate('xpack.uptime.filterBar.options.typeLabel', { defaultMessage: 'Type', }), diff --git a/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts b/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts index bb6e756818624..aac857e1bcf3e 100644 --- a/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts +++ b/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts @@ -11,7 +11,10 @@ export const getFilterBarQuery = gql` filterBar: getFilterBar(dateRangeStart: $dateRangeStart, dateRangeEnd: $dateRangeEnd) { status port - id + id { + id + url + } scheme } } diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts b/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts index e4fc7c09115bf..d371c556d0da3 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts +++ b/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts @@ -16,17 +16,18 @@ export const getMonitorListQuery = gql` monitors { key { id - port + url } ping { timestamp monitor { - id - status - ip duration { us } + id + ip + name + status } url { full diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_list/monitor_list.tsx b/x-pack/plugins/uptime/public/components/queries/monitor_list/monitor_list.tsx index 670085a0c43ed..e5b0898c45366 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_list/monitor_list.tsx +++ b/x-pack/plugins/uptime/public/components/queries/monitor_list/monitor_list.tsx @@ -25,7 +25,7 @@ import moment from 'moment'; import React, { Fragment } from 'react'; import { Query } from 'react-apollo'; import { Link } from 'react-router-dom'; -import { LatestMonitorsResult } from 'x-pack/plugins/uptime/common/graphql/types'; +import { LatestMonitor, LatestMonitorsResult } from '../../../../common/graphql/types'; import { UptimeCommonProps } from '../../../uptime_app'; import { formatSparklineCounts } from './format_sparkline_counts'; import { getMonitorListQuery } from './get_monitor_list'; @@ -70,7 +70,11 @@ const monitorListColumns = [ name: i18n.translate('xpack.uptime.monitorList.idColumnLabel', { defaultMessage: 'ID', }), - render: (id: string, monitor: any) => {id}, + render: (id: string, item: LatestMonitor) => ( + + {item.ping && item.ping.monitor && item.ping.monitor.name ? item.ping.monitor.name : id} + + ), }, { field: 'ping.url.full', diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_page_title/get_monitor_page_title.ts b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/get_monitor_page_title.ts new file mode 100644 index 0000000000000..5d5446ffa6992 --- /dev/null +++ b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/get_monitor_page_title.ts @@ -0,0 +1,17 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import gql from 'graphql-tag'; + +export const getMonitorPageTitle = gql` + query MonitorPageTitle($monitorId: String!) { + monitorPageTitle: getMonitorPageTitle(monitorId: $monitorId) { + id + url + name + } + } +`; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_page_title/index.ts b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/index.ts new file mode 100644 index 0000000000000..58dcfc90555bd --- /dev/null +++ b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export { MonitorPageTitleQuery } from './monitor_page_title_query'; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_page_title/monitor_page_title_query.tsx b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/monitor_page_title_query.tsx new file mode 100644 index 0000000000000..16e967effa6ae --- /dev/null +++ b/x-pack/plugins/uptime/public/components/queries/monitor_page_title/monitor_page_title_query.tsx @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import React from 'react'; +import { Query } from 'react-apollo'; +import { MonitorPageTitle as TitleType } from '../../../../common/graphql/types'; +import { UptimeCommonProps } from '../../../uptime_app'; +import { MonitorPageTitle } from '../../functional'; +import { getMonitorPageTitle } from './get_monitor_page_title'; + +interface MonitorPageTitleProps { + monitorId: string; +} + +type Props = MonitorPageTitleProps & UptimeCommonProps; + +export const MonitorPageTitleQuery = ({ + autorefreshInterval, + autorefreshIsPaused, + monitorId, +}: Props) => ( + + {({ loading, error, data }) => { + if (loading) { + return

; + } + if (error) { + return error; + } + const monitorPageTitle: TitleType = data.monitorPageTitle; + return ; + }} +
+); diff --git a/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts b/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts index ec5639c2865d5..1000c3fe4509a 100644 --- a/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts +++ b/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts @@ -7,23 +7,14 @@ import gql from 'graphql-tag'; export const getSnapshotQuery = gql` - query Snapshot( - $dateRangeStart: String! - $dateRangeEnd: String! - $downCount: Int! - $windowSize: Int! - $filters: String - ) { + query Snapshot($dateRangeStart: String!, $dateRangeEnd: String!, $filters: String) { snapshot: getSnapshot( dateRangeStart: $dateRangeStart dateRangeEnd: $dateRangeEnd - downCount: $downCount - windowSize: $windowSize filters: $filters ) { up down - trouble total histogram { monitorId diff --git a/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx b/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx index cdcad14817bcc..6b000846229c6 100644 --- a/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx +++ b/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx @@ -46,8 +46,7 @@ export const Snapshot = ({ {({ loading, error, data }) => { if (loading) { diff --git a/x-pack/plugins/uptime/public/pages/monitor.tsx b/x-pack/plugins/uptime/public/pages/monitor.tsx index 710e005cf2384..2ae91fac27b20 100644 --- a/x-pack/plugins/uptime/public/pages/monitor.tsx +++ b/x-pack/plugins/uptime/public/pages/monitor.tsx @@ -9,11 +9,11 @@ import { EuiSpacer, // @ts-ignore No typings for EuiSuperSelect EuiSuperSelect, - EuiTitle, } from '@elastic/eui'; import React, { Fragment } from 'react'; import { getMonitorPageBreadcrumb } from '../breadcrumbs'; import { MonitorCharts } from '../components/queries/monitor_charts'; +import { MonitorPageTitleQuery } from '../components/queries/monitor_page_title'; import { MonitorStatusBar } from '../components/queries/monitor_status_bar'; import { Pings } from '../components/queries/ping_list'; import { UMUpdateBreadcrumbs } from '../lib/lib'; @@ -43,9 +43,7 @@ export class MonitorPage extends React.Component { const id = this.props.location.pathname.replace(/^(\/monitor\/)/, ''); return ( - -

{id}

-
+ diff --git a/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts b/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts index a4c6bd3aa8b35..726e6d64f333e 100644 --- a/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts +++ b/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts @@ -11,8 +11,10 @@ import { GetFilterBarQueryArgs, GetLatestMonitorsQueryArgs, GetMonitorChartsDataQueryArgs, + GetMonitorPageTitleQueryArgs, GetMonitorsQueryArgs, GetSnapshotQueryArgs, + MonitorPageTitle, Ping, Snapshot, } from '../../../common/graphql/types'; @@ -63,6 +65,13 @@ export type UMGetErrorsListResolver = UMResolver< UMContext >; +export type UMGetMontiorPageTitleResolver = UMResolver< + MonitorPageTitle | Promise | null, + any, + GetMonitorPageTitleQueryArgs, + UMContext +>; + export const createMonitorsResolvers: CreateUMGraphQLResolvers = ( libs: UMServerLibs ): { @@ -73,6 +82,7 @@ export const createMonitorsResolvers: CreateUMGraphQLResolvers = ( getLatestMonitors: UMLatestMonitorsResolver; getFilterBar: UMGetFilterBarResolver; getErrorsList: UMGetErrorsListResolver; + getMonitorPageTitle: UMGetMontiorPageTitleResolver; }; } => ({ Query: { @@ -83,26 +93,18 @@ export const createMonitorsResolvers: CreateUMGraphQLResolvers = ( monitors: result, }; }, - async getSnapshot( - resolver, - { dateRangeStart, dateRangeEnd, downCount, windowSize, filters }, - { req } - ): Promise { - const { up, down, trouble } = await libs.monitors.getSnapshotCount( + async getSnapshot(resolver, { dateRangeStart, dateRangeEnd, filters }, { req }): Promise { + const { up, down, total } = await libs.monitors.getSnapshotCount( req, dateRangeStart, dateRangeEnd, - downCount, - windowSize, filters ); return { up, down, - // @ts-ignore TODO update typings and remove this comment - trouble, - total: up + down + trouble, + total, histogram: await libs.pings.getPingHistogram(req, dateRangeStart, dateRangeEnd, filters), }; }, @@ -130,5 +132,12 @@ export const createMonitorsResolvers: CreateUMGraphQLResolvers = ( ): Promise { return libs.monitors.getErrorsList(req, dateRangeStart, dateRangeEnd, filters); }, + async getMonitorPageTitle( + resolver: any, + { monitorId }, + { req } + ): Promise { + return await libs.monitors.getMonitorPageTitle(req, monitorId); + }, }, }); diff --git a/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts b/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts index bba3c0814a9db..716f9b29bdac4 100644 --- a/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts +++ b/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts @@ -8,10 +8,10 @@ import gql from 'graphql-tag'; export const monitorsSchema = gql` type FilterBar { - id: [String] - port: [Int] - scheme: [String] - status: [String] + id: [MonitorKey!] + port: [Int!] + scheme: [String!] + status: [String!] } type HistogramDataPoint { @@ -61,8 +61,8 @@ export const monitorsSchema = gql` } type MonitorKey { - id: String - port: Int + id: String! + url: String } type MonitorSeriesPoint { @@ -71,7 +71,7 @@ export const monitorsSchema = gql` } type LatestMonitor { - key: MonitorKey + key: MonitorKey! ping: Ping upSeries: [MonitorSeriesPoint] downSeries: [MonitorSeriesPoint] @@ -90,6 +90,12 @@ export const monitorsSchema = gql` timestamp: String } + type MonitorPageTitle { + id: String! + url: String + name: String + } + extend type Query { getMonitors( dateRangeStart: String! @@ -97,13 +103,7 @@ export const monitorsSchema = gql` filters: String ): LatestMonitorsResult - getSnapshot( - dateRangeStart: String! - dateRangeEnd: String! - downCount: Int! - windowSize: Int! - filters: String - ): Snapshot + getSnapshot(dateRangeStart: String!, dateRangeEnd: String!, filters: String): Snapshot getMonitorChartsData( monitorId: String! @@ -116,5 +116,7 @@ export const monitorsSchema = gql` getFilterBar(dateRangeStart: String!, dateRangeEnd: String!): FilterBar getErrorsList(dateRangeStart: String!, dateRangeEnd: String!, filters: String): [ErrorListItem] + + getMonitorPageTitle(monitorId: String!): MonitorPageTitle } `; diff --git a/x-pack/plugins/uptime/server/graphql/pings/schema.gql.ts b/x-pack/plugins/uptime/server/graphql/pings/schema.gql.ts index 1a2b2482b11f3..d43f890b2e2bb 100644 --- a/x-pack/plugins/uptime/server/graphql/pings/schema.gql.ts +++ b/x-pack/plugins/uptime/server/graphql/pings/schema.gql.ts @@ -25,7 +25,7 @@ export const pingsSchema = gql` status: String dateRangeStart: String! dateRangeEnd: String! - ): [Ping!]! + ): PingResults! "Gets the number of documents in the target index" getDocCount: DocCount! @@ -37,7 +37,7 @@ export const pingsSchema = gql` "The monitor's status for a ping" type Duration { - us: Int + us: UnsignedInteger } type StatusCode { @@ -58,6 +58,10 @@ export const pingsSchema = gql` name: String } + type ECS { + version: String + } + type Error { code: Int message: String @@ -69,11 +73,14 @@ export const pingsSchema = gql` kernel: String platform: String version: String + name: String + build: String } type Host { architecture: String id: String + hostname: String ip: String mac: String name: String @@ -150,6 +157,7 @@ export const pingsSchema = gql` status: String "The type of host being monitored" type: String + check_group: String } type Resolve { @@ -168,6 +176,11 @@ export const pingsSchema = gql` rtt: RTT } + type Summary { + up: Int + down: Int + } + type TCP { port: Int rtt: RTT @@ -198,6 +211,7 @@ export const pingsSchema = gql` "The agent that recorded the ping" beat: Beat docker: Docker + ecs: ECS error: Error host: Host http: HTTP @@ -207,6 +221,7 @@ export const pingsSchema = gql` monitor: Monitor resolve: Resolve socks5: Socks5 + summary: Summary tags: String tcp: TCP tls: TLS diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts index 462c55753004c..82f9431007417 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts @@ -4,6 +4,8 @@ * you may not use this file except in compliance with the Elastic License. */ +import { MonitorPageTitle } from 'x-pack/plugins/uptime/common/graphql/types'; + export interface UMMonitorsAdapter { getMonitorChartsData( request: any, @@ -21,8 +23,6 @@ export interface UMMonitorsAdapter { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise; getFilterBar(request: any, dateRangeStart: string, dateRangeEnd: string): Promise; @@ -32,4 +32,5 @@ export interface UMMonitorsAdapter { dateRangeEnd: string, filters?: string | null ): Promise; + getMonitorPageTitle(request: any, monitorId: string): Promise; } diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts index 556093e8cb39b..329beba878365 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts @@ -6,7 +6,8 @@ import { get, set } from 'lodash'; import { INDEX_NAMES } from '../../../../common/constants'; -import { ErrorListItem } from '../../../../common/graphql/types'; +import { ErrorListItem, MonitorPageTitle, Ping } from '../../../../common/graphql/types'; +import { getFilteredQuery } from '../../helper'; import { DatabaseAdapter } from '../database'; import { UMMonitorsAdapter } from './adapter_types'; @@ -36,80 +37,61 @@ const formatStatusBuckets = (time: any, buckets: any, docCount: any) => { }; }; -const getFilteredQuery = ( - dateRangeStart: string, - dateRangeEnd: string, - filters?: string | null -) => { - let filtersObj; - // TODO: handle bad JSON gracefully - filtersObj = filters ? JSON.parse(filters) : undefined; - const query = { ...filtersObj }; - const rangeSection = { - range: { - '@timestamp': { - gte: dateRangeStart, - lte: dateRangeEnd, - }, - }, - }; - if (get(query, 'bool.must', undefined)) { - query.bool.must.push({ - ...rangeSection, - }); - } else { - set(query, 'bool.must', [rangeSection]); - } - return query; -}; - export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { constructor(private readonly database: DatabaseAdapter) { this.database = database; } + /** + * Fetches data used to populate monitor charts + * @param request Kibana request + * @param monitorId ID value for the selected monitor + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + */ public async getMonitorChartsData( request: any, monitorId: string, dateRangeStart: string, dateRangeEnd: string ): Promise { - const query = { - bool: { - must: [{ term: { 'monitor.id': monitorId } }], - filter: [{ range: { '@timestamp': { gte: dateRangeStart, lte: dateRangeEnd } } }], - }, - }; - const aggs = { - timeseries: { - auto_date_histogram: { - field: '@timestamp', - buckets: 50, + const params = { + index: INDEX_NAMES.HEARTBEAT, + body: { + query: { + bool: { + filter: [ + { range: { '@timestamp': { gte: dateRangeStart, lte: dateRangeEnd } } }, + { term: { 'monitor.id': monitorId } }, + ], + }, }, + size: 0, aggs: { - max_content: { max: { field: 'http.rtt.content.us' } }, - max_response: { max: { field: 'http.rtt.response_header.us' } }, - max_validate: { max: { field: 'http.rtt.validate.us' } }, - max_total: { max: { field: 'http.rtt.total.us' } }, - max_write_request: { max: { field: 'http.rtt.write_request.us' } }, - max_tcp_rtt: { max: { field: 'tcp.rtt.connect.us' } }, - status: { terms: { field: 'monitor.status' } }, - max_duration: { max: { field: 'monitor.duration.us' } }, - min_duration: { min: { field: 'monitor.duration.us' } }, - avg_duration: { avg: { field: 'monitor.duration.us' } }, + timeseries: { + auto_date_histogram: { + field: '@timestamp', + buckets: 50, + }, + aggs: { + max_content: { max: { field: 'http.rtt.content.us' } }, + max_response: { max: { field: 'http.rtt.response_header.us' } }, + max_validate: { max: { field: 'http.rtt.validate.us' } }, + max_total: { max: { field: 'http.rtt.total.us' } }, + max_write_request: { max: { field: 'http.rtt.write_request.us' } }, + max_tcp_rtt: { max: { field: 'tcp.rtt.connect.us' } }, + status: { terms: { field: 'monitor.status' } }, + max_duration: { max: { field: 'monitor.duration.us' } }, + min_duration: { min: { field: 'monitor.duration.us' } }, + avg_duration: { avg: { field: 'monitor.duration.us' } }, + }, + }, }, }, }; - const params = { - index: INDEX_NAMES.HEARTBEAT, - body: { query, aggs }, - }; - const { - aggregations: { - timeseries: { buckets }, - }, - } = await this.database.search(request, params); + const result = await this.database.search(request, params); + const buckets = get(result, 'aggregations.timeseries.buckets', []); return buckets.map( ({ @@ -142,17 +124,23 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { ); } + /** + * Provides a count of the current monitors + * @param request Kibana request + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param filters filters defined by client + */ public async getSnapshotCount( request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise { const params = { index: INDEX_NAMES.HEARTBEAT, body: { + size: 0, query: getFilteredQuery(dateRangeStart, dateRangeEnd, filters), aggs: { urls: { @@ -182,7 +170,7 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { '@timestamp': { order: 'desc' }, }, ], - size: windowSize, + size: 1, }, }, }, @@ -190,9 +178,9 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }, }; - // TODO: this doesn't solve the issue of HB being down - const res = await this.database.search(request, params); - const hostBuckets = get(res, 'aggregations.hosts.buckets', []); + + const queryResult = await this.database.search(request, params); + const hostBuckets = get(queryResult, 'aggregations.urls.buckets', []); const monitorStatuses = hostBuckets.map(bucket => { const latest = get(bucket, 'latest.hits.hits', []); return latest.reduce( @@ -208,24 +196,25 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { { up: 0, down: 0 } ); }); - const { up, down, trouble } = monitorStatuses.reduce( + const { up, down } = monitorStatuses.reduce( (acc, status) => { - if (status.down === 0 && status.up === windowSize) { - acc.up += 1; - } else if (status.down >= downCount) { - acc.down += 1; - } else { - // @ts-ignore TODO update typings and remove this comment - acc.trouble += 1; - } + acc.up += status.up; + acc.down += status.down; return acc; }, // @ts-ignore TODO update typings and remove this comment - { up: 0, down: 0, trouble: 0 } + { up: 0, down: 0 } ); - return { up, down, trouble, total: up + down + trouble }; + return { up, down, total: up + down }; } + /** + * Fetch the latest status for a monitors list + * @param request Kibana request + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param filters filters defined by client + */ public async getLatestMonitors( request: any, dateRangeStart: string, @@ -236,6 +225,7 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { index: INDEX_NAMES.HEARTBEAT, body: { query: getFilteredQuery(dateRangeStart, dateRangeEnd, filters), + size: 0, aggs: { hosts: { composite: { @@ -248,9 +238,9 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }, { - port: { + url: { terms: { - field: 'url.port', + field: 'url.full', }, }, }, @@ -270,13 +260,13 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { histogram: { auto_date_histogram: { field: '@timestamp', - buckets: 50, + buckets: 25, }, aggs: { status: { terms: { field: 'monitor.status', - size: 10, + size: 400, }, }, }, @@ -286,36 +276,50 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }, }; - const res = await this.database.search(request, params); - const aggBuckets: any[] = get(res, 'aggregations.hosts.buckets', []); - const result = aggBuckets.map(({ key, histogram: { buckets }, latest: { hits: { hits } } }) => { - const upSeries: any[] = []; - const downSeries: any[] = []; - // @ts-ignore TODO update typings and remove this comment - buckets.forEach(bucket => { - const status = get(bucket, 'status.buckets', []); - // @ts-ignore TODO update typings and remove this comment - const up = status.find(f => f.key === 'up'); - // @ts-ignore TODO update typings and remove this comment - const down = status.find(f => f.key === 'down'); - // @ts-ignore TODO update typings and remove this comment - upSeries.push({ x: bucket.key, y: up ? up.doc_count : null }); - // @ts-ignore TODO update typings and remove this comment - downSeries.push({ x: bucket.key, y: down ? down.doc_count : null }); - }); - return { + const queryResult = await this.database.search(request, params); + const aggBuckets: any[] = get(queryResult, 'aggregations.hosts.buckets', []); + const latestMonitors = aggBuckets.map( + ({ key, - ping: { - ...hits[0]._source, - timestamp: hits[0]._source['@timestamp'], + histogram: { buckets }, + latest: { + hits: { hits }, }, - upSeries, - downSeries, - }; - }); - return result; + }) => { + const upSeries: any[] = []; + const downSeries: any[] = []; + // @ts-ignore TODO update typings and remove this comment + buckets.forEach(bucket => { + const status = get(bucket, 'status.buckets', []); + // @ts-ignore TODO update typings and remove this comment + const up = status.find(f => f.key === 'up'); + // @ts-ignore TODO update typings and remove this comment + const down = status.find(f => f.key === 'down'); + // @ts-ignore TODO update typings and remove this comment + upSeries.push({ x: bucket.key, y: up ? up.doc_count : null }); + // @ts-ignore TODO update typings and remove this comment + downSeries.push({ x: bucket.key, y: down ? down.doc_count : null }); + }); + return { + key, + ping: { + ...hits[0]._source, + timestamp: hits[0]._source['@timestamp'], + }, + upSeries, + downSeries, + }; + } + ); + return latestMonitors; } + /** + * Fetch options for the filter bar. + * @param request Kibana request object + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + */ public async getFilterBar( request: any, dateRangeStart: string, @@ -332,44 +336,76 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }, }, + size: 0, aggs: { id: { terms: { field: 'monitor.id', + size: 1000, + }, + aggs: { + latest: { + top_hits: { + size: 1, + sort: [ + { + '@timestamp': { + order: 'desc', + }, + }, + ], + }, + }, }, }, port: { terms: { field: 'url.port', + size: 1000, }, }, - scheme: { + status: { terms: { - field: 'monitor.scheme', + field: 'monitor.status', + size: 1000, }, }, - status: { + type: { terms: { - field: 'monitor.status', + field: 'monitor.type', + size: 1000, }, }, }, }, }; - const { - aggregations: { scheme, port, id, status }, - } = await this.database.search(request, params); + const result = await this.database.search(request, params); + const ids: any[] = get(result, 'aggregations.id.buckets', []); + const port: any[] = get(result, 'aggregations.port.buckets', []); + const status: any[] = get(result, 'aggregations.status.buckets', []); + const type: any[] = get(result, 'aggregations.type.buckets', []); // TODO update typings - const getKey = (list: { buckets: any[] }) => list.buckets.map(value => value.key); + const getKey = (buckets: any[]) => buckets.map(value => value.key); return { - scheme: getKey(scheme), + scheme: getKey(type), port: getKey(port), - id: getKey(id), + id: ids.map((value: any) => ({ + id: value.key, + url: get(value, 'latest.hits.hits[0]._source.url.full', null), + })), status: getKey(status), }; } + /** + * Fetch summaries of recent errors for monitors. + * @example getErrorsList({}, 'now-15m', 'now', '{bool: { must: [{'term': {'monitor.status': {value: 'down'}}}]}}) + * @param request Request to send ES + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param filters any filters specified on the client + */ public async getErrorsList( request: any, dateRangeStart: string, @@ -384,16 +420,17 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }; const query = getFilteredQuery(dateRangeStart, dateRangeEnd, filters); - if (get(query, 'bool.must', undefined)) { - query.bool.must.push(statusDown); + if (get(query, 'bool.filter', undefined)) { + query.bool.filter.push(statusDown); } else { - set(query, 'bool.must', [{ ...statusDown }]); + set(query, 'bool.filter', [{ ...statusDown }]); } const params = { index: INDEX_NAMES.HEARTBEAT, body: { query, + size: 0, aggs: { error_type: { terms: { @@ -418,11 +455,9 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }, }, }; - const { - aggregations: { - error_type: { buckets }, - }, - } = await this.database.search(request, params); + + const result = await this.database.search(request, params); + const buckets = get(result, 'aggregations.error_type.buckets', []); const errorsList: ErrorListItem[] = []; buckets.forEach( @@ -453,4 +488,48 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { ); return errorsList; } + + /** + * Fetch data for the monitor page title. + * @param request Kibana server request + * @param monitorId the ID to query + */ + public async getMonitorPageTitle( + request: any, + monitorId: string + ): Promise { + const params = { + index: INDEX_NAMES.HEARTBEAT, + body: { + query: { + bool: { + filter: { + term: { + 'monitor.id': 'auto-tcp-0X81440A68E839814C', + }, + }, + }, + }, + sort: [ + { + '@timestamp': { + order: 'desc', + }, + }, + ], + size: 1, + }, + }; + + const result = await this.database.search(request, params); + const pageTitle: Ping | null = get(result, 'hits.hits[0]._source', null); + if (pageTitle === null) { + return null; + } + return { + id: get(pageTitle, 'monitor.id', null) || monitorId, + url: get(pageTitle, 'url.full', null), + name: get(pageTitle, 'monitor.name', null), + }; + } } diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts index 52bdeb979e638..65ffbbfd70abe 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts @@ -4,7 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ -import { Ping } from '../../../../common/graphql/types'; +import { MonitorPageTitle, Ping } from '../../../../common/graphql/types'; import { UMMonitorsAdapter } from './adapter_types'; export class UMMemoryMonitorsAdapter implements UMMonitorsAdapter { @@ -39,8 +39,6 @@ export class UMMemoryMonitorsAdapter implements UMMonitorsAdapter { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise { throw new Error('Method not implemented.'); @@ -57,4 +55,11 @@ export class UMMemoryMonitorsAdapter implements UMMonitorsAdapter { ): Promise { throw new Error('Method not implemented.'); } + + public async getMonitorPageTitle( + request: any, + monitorId: string + ): Promise { + throw new Error('Method not implemented.'); + } } diff --git a/x-pack/plugins/uptime/server/lib/adapters/pings/elasticsearch_pings_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/pings/elasticsearch_pings_adapter.ts index c8c31a41173c2..36773c95263d5 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/pings/elasticsearch_pings_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/pings/elasticsearch_pings_adapter.ts @@ -8,36 +8,10 @@ import { get } from 'lodash'; import moment from 'moment'; import { INDEX_NAMES } from '../../../../common/constants'; import { DocCount, HistogramSeries, Ping, PingResults } from '../../../../common/graphql/types'; +import { getFilteredQuery } from '../../helper'; import { DatabaseAdapter } from '../database'; import { UMPingsAdapter } from './adapter_types'; -const getFilteredQuery = ( - dateRangeStart: string, - dateRangeEnd: string, - filters?: string | null -) => { - let filtersObj; - // TODO: handle bad JSON gracefully - filtersObj = filters ? JSON.parse(filters) : undefined; - let query = { ...filtersObj }; - const rangeSection = { - range: { - '@timestamp': { - gte: dateRangeStart, - lte: dateRangeEnd, - }, - }, - }; - if (get(query, 'bool.must', undefined)) { - query.bool.must.push({ - ...rangeSection, - }); - } else { - query = { ...rangeSection }; - } - return query; -}; - export class ElasticsearchPingsAdapter implements UMPingsAdapter { private database: DatabaseAdapter; @@ -45,6 +19,16 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { this.database = database; } + /** + * Fetches ping documents from ES + * @param request Kibana server request + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param monitorId optional limit by monitorId + * @param status optional limit by check statuses + * @param sort optional sort by timestamp + * @param size optional limit query size + */ public async getAll( request: any, dateRangeStart: string, @@ -56,15 +40,14 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { ): Promise { const sortParam = sort ? { sort: [{ '@timestamp': { order: sort } }] } : undefined; const sizeParam = size ? { size } : undefined; - const must: any[] = []; + const filter: any[] = [{ range: { '@timestamp': { gte: dateRangeStart, lte: dateRangeEnd } } }]; if (monitorId) { - must.push({ term: { 'monitor.id': monitorId } }); + filter.push({ term: { 'monitor.id': monitorId } }); } if (status) { - must.push({ term: { 'monitor.status': status } }); + filter.push({ term: { 'monitor.status': status } }); } - const filter: any[] = [{ range: { '@timestamp': { gte: dateRangeStart, lte: dateRangeEnd } } }]; - const queryContext = { bool: { must, filter } }; + const queryContext = { bool: { filter } }; const params = { index: INDEX_NAMES.HEARTBEAT, body: { @@ -92,22 +75,28 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { return results; } + /** + * Fetch data to populate monitor status bar. + * @param request Kibana server request + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param monitorId optional limit to monitorId + */ public async getLatestMonitorDocs( request: any, dateRangeStart: string, dateRangeEnd: string, monitorId?: string | null ): Promise { - const must: any[] = []; + const filter: any[] = []; if (monitorId) { - must.push({ term: { 'monitor.id': monitorId } }); + filter.push({ term: { 'monitor.id': monitorId } }); } const params = { index: INDEX_NAMES.HEARTBEAT, body: { query: { bool: { - must: must.length ? [...must] : undefined, filter: [ { range: { @@ -117,13 +106,16 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { }, }, }, + filter.length ? [...filter] : undefined, ], }, }, + size: 0, aggs: { by_id: { terms: { field: 'monitor.id', + size: 1000, }, aggs: { latest: { @@ -139,11 +131,9 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { }, }, }; - const { - aggregations: { - by_id: { buckets }, - }, - } = await this.database.search(request, params); + + const result = await this.database.search(request, params); + const buckets: any[] = get(result, 'aggregations.by_id.buckets', []); // @ts-ignore TODO fix destructuring implicit any return buckets.map(({ latest: { hits: { hits } } }) => { @@ -158,6 +148,13 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { }); } + /** + * Gets data used for a composite histogram for the currently-running monitors. + * @param request Kibana server request + * @param dateRangeStart timestamp bounds + * @param dateRangeEnd timestamp bounds + * @param filters user-defined filters + */ public async getPingHistogram( request: any, dateRangeStart: string, @@ -168,21 +165,25 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { index: INDEX_NAMES.HEARTBEAT, body: { query: getFilteredQuery(dateRangeStart, dateRangeEnd, filters), + size: 0, aggs: { timeseries: { auto_date_histogram: { field: '@timestamp', - buckets: 50, + // limited to keep max bucket count to 10k, 25 * 200 * 2 + buckets: 25, }, aggs: { by_id: { terms: { field: 'monitor.id', + size: 200, }, aggs: { status: { terms: { field: 'monitor.status', + size: 2, }, }, }, @@ -192,11 +193,9 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { }, }, }; - const { - aggregations: { - timeseries: { buckets }, - }, - } = await this.database.search(request, params); + + const result = await this.database.search(request, params); + const buckets: any[] = get(result, 'aggregations.timeseries.buckets', []); if (buckets.length === 0) { return null; @@ -245,6 +244,10 @@ export class ElasticsearchPingsAdapter implements UMPingsAdapter { return ret; } + /** + * Count the number of documents in heartbeat indices + * @param request Kibana server request + */ public async getDocCount(request: any): Promise { const { count } = await this.database.count(request, { index: INDEX_NAMES.HEARTBEAT }); diff --git a/x-pack/plugins/uptime/server/lib/domains/monitors.ts b/x-pack/plugins/uptime/server/lib/domains/monitors.ts index 45c54a73d296d..ec359c619294b 100644 --- a/x-pack/plugins/uptime/server/lib/domains/monitors.ts +++ b/x-pack/plugins/uptime/server/lib/domains/monitors.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ +import { MonitorPageTitle } from '../../../common/graphql/types'; import { UMMonitorsAdapter } from '../adapters/monitors'; export class UMMonitorsDomain { @@ -33,18 +34,9 @@ export class UMMonitorsDomain { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise { - return this.adapter.getSnapshotCount( - request, - dateRangeStart, - dateRangeEnd, - downCount, - windowSize, - filters - ); + return this.adapter.getSnapshotCount(request, dateRangeStart, dateRangeEnd, filters); } public async getFilterBar( @@ -63,4 +55,11 @@ export class UMMonitorsDomain { ): Promise { return this.adapter.getErrorsList(request, dateRangeStart, dateRangeEnd, filters); } + + public async getMonitorPageTitle( + request: any, + monitorId: string + ): Promise { + return await this.adapter.getMonitorPageTitle(request, monitorId); + } } diff --git a/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts b/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts new file mode 100644 index 0000000000000..8bcb8df62f5fd --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts @@ -0,0 +1,39 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { get, set } from 'lodash'; + +export const getFilteredQuery = ( + dateRangeStart: string, + dateRangeEnd: string, + filters?: string | null +) => { + let filtersObj; + // TODO: handle bad JSON gracefully + filtersObj = filters ? JSON.parse(filters) : undefined; + if (get(filtersObj, 'bool.must', undefined)) { + const f = get(filtersObj, 'bool.must', []); + delete filtersObj.bool.must; + filtersObj.bool.filter = [...f]; + } + const query = { ...filtersObj }; + const rangeSection = { + range: { + '@timestamp': { + gte: dateRangeStart, + lte: dateRangeEnd, + }, + }, + }; + if (get(query, 'bool.filter', undefined)) { + query.bool.filter.push({ + ...rangeSection, + }); + } else { + set(query, 'bool.filter', [rangeSection]); + } + return query; +}; diff --git a/x-pack/plugins/uptime/server/lib/helper/index.ts b/x-pack/plugins/uptime/server/lib/helper/index.ts new file mode 100644 index 0000000000000..edba247fe430a --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/helper/index.ts @@ -0,0 +1,7 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export { getFilteredQuery } from './get_filtered_query'; From 0889e35713c6959153939b908184e830b4bccaf9 Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Fri, 25 Jan 2019 14:31:19 -0500 Subject: [PATCH 02/58] Add unit tests, repair broken tests. --- .../elasticsearch_pings_adapter.test.ts | 17 ++++---- .../get_filtered_query.test.ts.snap | 40 ++++++++++++++++++ .../__test__/get_filtered_query.test.ts | 42 +++++++++++++++++++ .../server/lib/helper/get_filtered_query.ts | 4 +- 4 files changed, 93 insertions(+), 10 deletions(-) create mode 100644 x-pack/plugins/uptime/server/lib/helper/__test__/__snapshots__/get_filtered_query.test.ts.snap create mode 100644 x-pack/plugins/uptime/server/lib/helper/__test__/get_filtered_query.test.ts diff --git a/x-pack/plugins/uptime/server/lib/adapters/pings/__tests__/elasticsearch_pings_adapter.test.ts b/x-pack/plugins/uptime/server/lib/adapters/pings/__tests__/elasticsearch_pings_adapter.test.ts index 595f87565e161..5d1229d43474b 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/pings/__tests__/elasticsearch_pings_adapter.test.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/pings/__tests__/elasticsearch_pings_adapter.test.ts @@ -73,7 +73,6 @@ describe('ElasticsearchPingsAdapter class', () => { query: { bool: { filter: [{ range: { '@timestamp': { gte: 'now-1h', lte: 'now' } } }], - must: [], }, }, sort: [{ '@timestamp': { order: 'asc' } }], @@ -132,7 +131,7 @@ describe('ElasticsearchPingsAdapter class', () => { await adapter.getAll(serverRequest, 'now-1h', 'now', 'testmonitorid'); delete expectedGetAllParams.body.size; delete expectedGetAllParams.body.sort; - expectedGetAllParams.body.query.bool.must.push({ term: { 'monitor.id': 'testmonitorid' } }); + expectedGetAllParams.body.query.bool.filter.push({ term: { 'monitor.id': 'testmonitorid' } }); expect(database.search).toHaveBeenCalledWith(serverRequest, expectedGetAllParams); }); @@ -141,7 +140,7 @@ describe('ElasticsearchPingsAdapter class', () => { await adapter.getAll(serverRequest, 'now-1h', 'now', undefined, 'down'); delete expectedGetAllParams.body.size; delete expectedGetAllParams.body.sort; - expectedGetAllParams.body.query.bool.must.push({ term: { 'monitor.status': 'down' } }); + expectedGetAllParams.body.query.bool.filter.push({ term: { 'monitor.status': 'down' } }); expect(database.search).toHaveBeenCalledWith(serverRequest, expectedGetAllParams); }); }); @@ -165,11 +164,11 @@ describe('ElasticsearchPingsAdapter class', () => { }, }, }, - ], - must: [ - { - term: { 'monitor.id': 'testmonitor' }, - }, + [ + { + term: { 'monitor.id': 'testmonitor' }, + }, + ], ], }, }, @@ -177,6 +176,7 @@ describe('ElasticsearchPingsAdapter class', () => { by_id: { terms: { field: 'monitor.id', + size: 1000, }, aggs: { latest: { @@ -190,6 +190,7 @@ describe('ElasticsearchPingsAdapter class', () => { }, }, }, + size: 0, }, }; mockEsSearchResult = { diff --git a/x-pack/plugins/uptime/server/lib/helper/__test__/__snapshots__/get_filtered_query.test.ts.snap b/x-pack/plugins/uptime/server/lib/helper/__test__/__snapshots__/get_filtered_query.test.ts.snap new file mode 100644 index 0000000000000..aa9a44afa1181 --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/helper/__test__/__snapshots__/get_filtered_query.test.ts.snap @@ -0,0 +1,40 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`getFilteredQuery applies a range filter 1`] = ` +Object { + "bool": Object { + "filter": Array [ + Object { + "range": Object { + "@timestamp": Object { + "gte": "now-15m", + "lte": "now", + }, + }, + }, + ], + }, +} +`; + +exports[`getFilteredQuery applies generated must filters to filter list 1`] = ` +Object { + "bool": Object { + "filter": Array [ + Object { + "term": Object { + "monitor.id": "foo.bar", + }, + }, + Object { + "range": Object { + "@timestamp": Object { + "gte": "now-15m", + "lte": "now", + }, + }, + }, + ], + }, +} +`; diff --git a/x-pack/plugins/uptime/server/lib/helper/__test__/get_filtered_query.test.ts b/x-pack/plugins/uptime/server/lib/helper/__test__/get_filtered_query.test.ts new file mode 100644 index 0000000000000..4e91a546696ed --- /dev/null +++ b/x-pack/plugins/uptime/server/lib/helper/__test__/get_filtered_query.test.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { getFilteredQuery } from '../get_filtered_query'; + +describe('getFilteredQuery', () => { + let dateRangeStart: string; + let dateRangeEnd: string; + let filters: string | null; + + beforeEach(() => { + dateRangeStart = 'now-15m'; + dateRangeEnd = 'now'; + filters = null; + }); + + it('applies a range filter', () => { + const result = getFilteredQuery(dateRangeStart, dateRangeEnd, filters); + expect(result).toMatchSnapshot(); + }); + + it('applies generated must filters to filter list', () => { + filters = ` + { + "bool": { + "must": [ + { + "term": { + "monitor.id": "foo.bar" + } + } + ] + } + } + `; + const result = getFilteredQuery(dateRangeStart, dateRangeEnd, filters); + expect(result).toMatchSnapshot(); + }); +}); diff --git a/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts b/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts index 8bcb8df62f5fd..298ce0af4fb14 100644 --- a/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts +++ b/x-pack/plugins/uptime/server/lib/helper/get_filtered_query.ts @@ -15,9 +15,9 @@ export const getFilteredQuery = ( // TODO: handle bad JSON gracefully filtersObj = filters ? JSON.parse(filters) : undefined; if (get(filtersObj, 'bool.must', undefined)) { - const f = get(filtersObj, 'bool.must', []); + const userFilters = get(filtersObj, 'bool.must', []); delete filtersObj.bool.must; - filtersObj.bool.filter = [...f]; + filtersObj.bool.filter = [...userFilters]; } const query = { ...filtersObj }; const rangeSection = { From bfd90297a88dbdddf5b30d8ea136c69dd1fb7f9b Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Fri, 25 Jan 2019 17:29:33 -0500 Subject: [PATCH 03/58] [Uptime] Add API functional tests for uptime graphQL (#29128) * Add API functional tests for uptime graphQL. * Remove obsolete code. * Add CI group for UI functional tests. * Delete obsolete code, rename heartbeat es archive. * Refactor adapter methods. * Refactor adapter methods. * Attempt to fix ci-group tag error. * Skip functional app tests until later PR. * Remove unused code. * Optimize test runs. * Add uptime to api test index. * Fix formatting. --- .../uptime/common/graphql/introspection.json | 28 - x-pack/plugins/uptime/common/graphql/types.ts | 6 - .../queries/empty_state/get_doc_count.ts | 14 +- .../queries/error_list/error_list.tsx | 6 +- .../queries/error_list/get_error_list.ts | 32 +- .../queries/filter_bar/filter_bar.tsx | 18 +- .../queries/filter_bar/get_filter_bar.ts | 20 +- .../monitor_charts/get_monitor_charts.ts | 102 +-- .../queries/monitor_list/get_monitor_list.ts | 6 +- .../get_monitor_status_bar.ts | 11 +- .../monitor_status_bar/monitor_status_bar.tsx | 4 +- .../components/queries/ping_list/get_pings.ts | 36 +- .../queries/snapshot/get_snapshot.ts | 53 +- .../components/queries/snapshot/snapshot.tsx | 3 +- .../server/graphql/monitors/resolvers.ts | 14 +- .../server/graphql/monitors/schema.gql.ts | 9 +- .../lib/adapters/monitors/adapter_types.ts | 2 - .../elasticsearch_monitors_adapter.ts | 141 +++- .../adapters/monitors/memory_pings_adapter.ts | 2 - .../uptime/server/lib/domains/monitors.ts | 11 +- .../apis/uptime/graphql/doc_count.js | 31 + .../apis/uptime/graphql/error_list.js | 92 +++ .../apis/uptime/graphql/filter_bar.js | 30 + .../uptime/graphql/fixtures/doc_count.json | 1 + .../graphql/fixtures/down_filtered.json | 111 +++ .../uptime/graphql/fixtures/error_list.json | 44 + .../fixtures/error_list_filtered_by_id.json | 12 + .../fixtures/error_list_filtered_by_port.json | 28 + ...rror_list_filtered_by_port_and_scheme.json | 28 + .../uptime/graphql/fixtures/filter_list.json | 18 + .../uptime/graphql/fixtures/monitor_list.json | 445 ++++++++++ .../graphql/fixtures/monitor_status.json | 103 +++ .../fixtures/monitor_status_by_id.json | 15 + .../uptime/graphql/fixtures/ping_list.json | 147 ++++ .../graphql/fixtures/ping_list_count.json | 707 ++++++++++++++++ .../fixtures/ping_list_monitor_id.json | 217 +++++ .../graphql/fixtures/ping_list_sort.json | 77 ++ .../uptime/graphql/fixtures/snapshot.json | 141 ++++ .../fixtures/snapshot_filtered_by_down.json | 42 + .../fixtures/snapshot_filtered_by_up.json | 126 +++ .../uptime/graphql/fixtures/up_filtered.json | 772 ++++++++++++++++++ .../apis/uptime/graphql/index.js | 26 + .../apis/uptime/graphql/monitor_list.js | 72 ++ .../apis/uptime/graphql/monitor_status_bar.js | 59 ++ .../apis/uptime/graphql/ping_list.js | 98 +++ .../apis/uptime/graphql/snapshot.js | 75 ++ .../test/api_integration/apis/uptime/index.js | 1 + x-pack/test/functional/apps/uptime/index.ts | 16 + .../test/functional/apps/uptime/overview.ts | 26 + x-pack/test/functional/config.js | 8 + .../uptime/full_heartbeat/data.json.gz | Bin 0 -> 456984 bytes .../uptime/full_heartbeat/mappings.json | 535 ++++++++++++ x-pack/test/functional/page_objects/index.js | 1 + .../functional/page_objects/uptime_page.ts | 22 + x-pack/test/functional/services/index.js | 1 + x-pack/test/functional/services/uptime.ts | 19 + 56 files changed, 4421 insertions(+), 243 deletions(-) create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/doc_count.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/error_list.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/filter_bar.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/down_filtered.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_id.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port_and_scheme.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/filter_list.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_list.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status_by_id.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_count.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_monitor_id.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_sort.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_down.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_up.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/fixtures/up_filtered.json create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/index.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/monitor_list.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/monitor_status_bar.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/ping_list.js create mode 100644 x-pack/test/api_integration/apis/uptime/graphql/snapshot.js create mode 100644 x-pack/test/functional/apps/uptime/index.ts create mode 100644 x-pack/test/functional/apps/uptime/overview.ts create mode 100644 x-pack/test/functional/es_archives/uptime/full_heartbeat/data.json.gz create mode 100644 x-pack/test/functional/es_archives/uptime/full_heartbeat/mappings.json create mode 100644 x-pack/test/functional/page_objects/uptime_page.ts create mode 100644 x-pack/test/functional/services/uptime.ts diff --git a/x-pack/plugins/uptime/common/graphql/introspection.json b/x-pack/plugins/uptime/common/graphql/introspection.json index 5ed6e8bf14a91..46313096f479d 100644 --- a/x-pack/plugins/uptime/common/graphql/introspection.json +++ b/x-pack/plugins/uptime/common/graphql/introspection.json @@ -137,26 +137,6 @@ }, "defaultValue": null }, - { - "name": "downCount", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } - }, - "defaultValue": null - }, - { - "name": "windowSize", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { "kind": "SCALAR", "name": "Int", "ofType": null } - }, - "defaultValue": null - }, { "name": "filters", "description": "", @@ -1549,14 +1529,6 @@ "isDeprecated": false, "deprecationReason": null }, - { - "name": "trouble", - "description": "", - "args": [], - "type": { "kind": "SCALAR", "name": "Int", "ofType": null }, - "isDeprecated": false, - "deprecationReason": null - }, { "name": "total", "description": "", diff --git a/x-pack/plugins/uptime/common/graphql/types.ts b/x-pack/plugins/uptime/common/graphql/types.ts index 11df21da41a15..ed74cb4c0285f 100644 --- a/x-pack/plugins/uptime/common/graphql/types.ts +++ b/x-pack/plugins/uptime/common/graphql/types.ts @@ -299,8 +299,6 @@ export interface Snapshot { down?: number | null; - trouble?: number | null; - total?: number | null; histogram?: (HistogramSeries | null)[] | null; @@ -415,10 +413,6 @@ export interface GetSnapshotQueryArgs { dateRangeEnd: string; - downCount: number; - - windowSize: number; - filters?: string | null; } export interface GetMonitorChartsDataQueryArgs { diff --git a/x-pack/plugins/uptime/public/components/queries/empty_state/get_doc_count.ts b/x-pack/plugins/uptime/public/components/queries/empty_state/get_doc_count.ts index 4d7f9b6548300..ee813de84baea 100644 --- a/x-pack/plugins/uptime/public/components/queries/empty_state/get_doc_count.ts +++ b/x-pack/plugins/uptime/public/components/queries/empty_state/get_doc_count.ts @@ -6,10 +6,14 @@ import gql from 'graphql-tag'; -export const getDocCountQuery = gql` - { - getDocCount { - count - } +export const getDocCountQueryString = ` +{ + getDocCount { + count } +} +`; + +export const getDocCountQuery = gql` + ${getDocCountQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/error_list/error_list.tsx b/x-pack/plugins/uptime/public/components/queries/error_list/error_list.tsx index 55bf75cda6ac9..3bd9e41832c3f 100644 --- a/x-pack/plugins/uptime/public/components/queries/error_list/error_list.tsx +++ b/x-pack/plugins/uptime/public/components/queries/error_list/error_list.tsx @@ -22,16 +22,16 @@ interface ErrorListProps { type Props = ErrorListProps & UptimeCommonProps; export const ErrorList = ({ + autorefreshInterval, + autorefreshIsPaused, dateRangeStart, dateRangeEnd, filters, - autorefreshInterval, - autorefreshIsPaused, }: Props) => ( {({ loading, error, data }) => { if (error) { diff --git a/x-pack/plugins/uptime/public/components/queries/error_list/get_error_list.ts b/x-pack/plugins/uptime/public/components/queries/error_list/get_error_list.ts index 9c83efee7ff4a..57773200eafb5 100644 --- a/x-pack/plugins/uptime/public/components/queries/error_list/get_error_list.ts +++ b/x-pack/plugins/uptime/public/components/queries/error_list/get_error_list.ts @@ -6,19 +6,23 @@ import gql from 'graphql-tag'; -export const getErrorListQuery = gql` - query ErrorList($dateRangeStart: String!, $dateRangeEnd: String!, $filters: String) { - errorList: getErrorsList( - dateRangeStart: $dateRangeStart - dateRangeEnd: $dateRangeEnd - filters: $filters - ) { - latestMessage - monitorId - type - count - statusCode - timestamp - } +export const getErrorListQueryString = ` +query ErrorList($dateRangeStart: String!, $dateRangeEnd: String!, $filters: String) { + errorList: getErrorsList( + dateRangeStart: $dateRangeStart + dateRangeEnd: $dateRangeEnd + filters: $filters + ) { + latestMessage + monitorId + type + count + statusCode + timestamp } +} +`; + +export const getErrorListQuery = gql` + ${getErrorListQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx b/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx index a70c662d5c286..04882144b7843 100644 --- a/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx +++ b/x-pack/plugins/uptime/public/components/queries/filter_bar/filter_bar.tsx @@ -23,8 +23,18 @@ type Props = FilterBarProps & UptimeCommonProps; const MAX_SELECTION_LENGTH = 20; const SEARCH_THRESHOLD = 2; -export const FilterBar = ({ dateRangeEnd, dateRangeStart, updateQuery }: Props) => ( - +export const FilterBar = ({ + autorefreshInterval, + autorefreshIsPaused, + dateRangeStart, + dateRangeEnd, + updateQuery, +}: Props) => ( + {({ loading, error, data }) => { if (loading) { return i18n.translate('xpack.uptime.filterBar.loadingMessage', { @@ -57,10 +67,10 @@ export const FilterBar = ({ dateRangeEnd, dateRangeStart, updateQuery }: Props) }), }, { - value: i18n.translate('xpack.uptime.filterBar.filterDownLabel', { + value: 'down', + name: i18n.translate('xpack.uptime.filterBar.filterDownLabel', { defaultMessage: 'Down', }), - name: 'Down', }, ], }, diff --git a/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts b/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts index bb6e756818624..a5d4cbdbbb2a2 100644 --- a/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts +++ b/x-pack/plugins/uptime/public/components/queries/filter_bar/get_filter_bar.ts @@ -6,13 +6,17 @@ import gql from 'graphql-tag'; -export const getFilterBarQuery = gql` - query FilterBar($dateRangeStart: String!, $dateRangeEnd: String!) { - filterBar: getFilterBar(dateRangeStart: $dateRangeStart, dateRangeEnd: $dateRangeEnd) { - status - port - id - scheme - } +export const getFilterBarQueryString = ` +query FilterBar($dateRangeStart: String!, $dateRangeEnd: String!) { + filterBar: getFilterBar(dateRangeStart: $dateRangeStart, dateRangeEnd: $dateRangeEnd) { + status + port + id + scheme } +} +`; + +export const getFilterBarQuery = gql` + ${getFilterBarQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_charts/get_monitor_charts.ts b/x-pack/plugins/uptime/public/components/queries/monitor_charts/get_monitor_charts.ts index dd901d011f20b..8c3b04f7f5532 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_charts/get_monitor_charts.ts +++ b/x-pack/plugins/uptime/public/components/queries/monitor_charts/get_monitor_charts.ts @@ -6,55 +6,59 @@ import gql from 'graphql-tag'; -export const createGetMonitorChartsQuery = gql` - query MonitorCharts($dateRangeStart: String!, $dateRangeEnd: String!, $monitorId: String!) { - monitorChartsData: getMonitorChartsData( - monitorId: $monitorId - dateRangeStart: $dateRangeStart - dateRangeEnd: $dateRangeEnd - ) { - minDuration { - x - y - } - maxDuration { - x - y - } - maxContent { - x - y - } - maxResponse { - x - y - } - maxValidate { - x - y - } - maxTotal { - x - y - } - maxWriteRequest { - x - y - } - maxTcpRtt { - x - y - } - avgDuration { - x - y - } - status { - x - up - down - total - } +export const createGetMonitorChartsQueryString = ` +query MonitorCharts($dateRangeStart: String!, $dateRangeEnd: String!, $monitorId: String!) { + monitorChartsData: getMonitorChartsData( + monitorId: $monitorId + dateRangeStart: $dateRangeStart + dateRangeEnd: $dateRangeEnd + ) { + minDuration { + x + y + } + maxDuration { + x + y + } + maxContent { + x + y + } + maxResponse { + x + y + } + maxValidate { + x + y + } + maxTotal { + x + y + } + maxWriteRequest { + x + y + } + maxTcpRtt { + x + y + } + avgDuration { + x + y + } + status { + x + up + down + total } } +} +`; + +export const createGetMonitorChartsQuery = gql` + ${createGetMonitorChartsQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts b/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts index e4fc7c09115bf..bad42e162551d 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts +++ b/x-pack/plugins/uptime/public/components/queries/monitor_list/get_monitor_list.ts @@ -6,7 +6,7 @@ import gql from 'graphql-tag'; -export const getMonitorListQuery = gql` +export const getMonitorListQueryString = ` query MonitorList($dateRangeStart: String!, $dateRangeEnd: String!, $filters: String) { monitorStatus: getMonitors( dateRangeStart: $dateRangeStart @@ -44,3 +44,7 @@ export const getMonitorListQuery = gql` } } `; + +export const getMonitorListQuery = gql` + ${getMonitorListQueryString} +`; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts index ba497e668df8f..d087e5a785127 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts +++ b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts @@ -6,8 +6,8 @@ import gql from 'graphql-tag'; -export const createGetMonitorStatusBarQuery = gql` - query MonitorStatus($dateRangeStart: String!, $dateRangeEnd: String!, $monitorId: String) { +export const getMonitorStatusBarQueryString = ` +query MonitorStatus($dateRangeStart: String!, $dateRangeEnd: String!, $monitorId: String) { monitorStatus: getLatestMonitors( dateRangeStart: $dateRangeStart dateRangeEnd: $dateRangeEnd @@ -17,8 +17,6 @@ export const createGetMonitorStatusBarQuery = gql` millisFromNow monitor { status - host - ip duration { us } @@ -28,4 +26,9 @@ export const createGetMonitorStatusBarQuery = gql` } } } +} +`; + +export const getMonitorStatusBarQuery = gql` + ${getMonitorStatusBarQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/monitor_status_bar.tsx b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/monitor_status_bar.tsx index 4b287873bc62b..91027bd923e6c 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/monitor_status_bar.tsx +++ b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/monitor_status_bar.tsx @@ -14,7 +14,7 @@ import { UptimeCommonProps } from '../../../uptime_app'; import { StatusBar } from '../../functional'; import { EmptyStatusBar } from '../../functional/empty_status_bar'; import { formatDuration } from './format_duration'; -import { createGetMonitorStatusBarQuery } from './get_monitor_status_bar'; +import { getMonitorStatusBarQuery } from './get_monitor_status_bar'; interface MonitorStatusBarProps { monitorId: string; @@ -37,7 +37,7 @@ export const MonitorStatusBar = ({ }: Props) => ( {({ loading, error, data }: MonitorStatusBarQueryParams) => { diff --git a/x-pack/plugins/uptime/public/components/queries/ping_list/get_pings.ts b/x-pack/plugins/uptime/public/components/queries/ping_list/get_pings.ts index d69a6501b205f..413141a4b5b1c 100644 --- a/x-pack/plugins/uptime/public/components/queries/ping_list/get_pings.ts +++ b/x-pack/plugins/uptime/public/components/queries/ping_list/get_pings.ts @@ -6,23 +6,23 @@ import gql from 'graphql-tag'; -export const getPingsQuery = gql` - query PingList( - $dateRangeStart: String! - $dateRangeEnd: String! - $monitorId: String - $status: String - $sort: String - $size: Int +export const getPingsQueryString = ` +query PingList( + $dateRangeStart: String! + $dateRangeEnd: String! + $monitorId: String + $status: String + $sort: String + $size: Int +) { + allPings( + dateRangeStart: $dateRangeStart + dateRangeEnd: $dateRangeEnd + monitorId: $monitorId + status: $status + sort: $sort + size: $size ) { - allPings( - dateRangeStart: $dateRangeStart - dateRangeEnd: $dateRangeEnd - monitorId: $monitorId - status: $status - sort: $sort - size: $size - ) { total pings { timestamp @@ -50,3 +50,7 @@ export const getPingsQuery = gql` } } `; + +export const getPingsQuery = gql` + ${getPingsQueryString} +`; diff --git a/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts b/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts index ec5639c2865d5..56b78ff7a89fd 100644 --- a/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts +++ b/x-pack/plugins/uptime/public/components/queries/snapshot/get_snapshot.ts @@ -6,35 +6,34 @@ import gql from 'graphql-tag'; -export const getSnapshotQuery = gql` - query Snapshot( - $dateRangeStart: String! - $dateRangeEnd: String! - $downCount: Int! - $windowSize: Int! - $filters: String +export const getSnapshotQueryString = ` +query Snapshot( + $dateRangeStart: String! + $dateRangeEnd: String! + $filters: String +) { + snapshot: getSnapshot( + dateRangeStart: $dateRangeStart + dateRangeEnd: $dateRangeEnd + filters: $filters ) { - snapshot: getSnapshot( - dateRangeStart: $dateRangeStart - dateRangeEnd: $dateRangeEnd - downCount: $downCount - windowSize: $windowSize - filters: $filters - ) { - up - down - trouble - total - histogram { - monitorId - data { - upCount - downCount - x - x0 - y - } + up + down + total + histogram { + monitorId + data { + upCount + downCount + x + x0 + y } } } +} +`; + +export const getSnapshotQuery = gql` + ${getSnapshotQueryString} `; diff --git a/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx b/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx index cdcad14817bcc..6b000846229c6 100644 --- a/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx +++ b/x-pack/plugins/uptime/public/components/queries/snapshot/snapshot.tsx @@ -46,8 +46,7 @@ export const Snapshot = ({ {({ loading, error, data }) => { if (loading) { diff --git a/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts b/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts index a4c6bd3aa8b35..a5ee16b63872b 100644 --- a/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts +++ b/x-pack/plugins/uptime/server/graphql/monitors/resolvers.ts @@ -83,26 +83,18 @@ export const createMonitorsResolvers: CreateUMGraphQLResolvers = ( monitors: result, }; }, - async getSnapshot( - resolver, - { dateRangeStart, dateRangeEnd, downCount, windowSize, filters }, - { req } - ): Promise { - const { up, down, trouble } = await libs.monitors.getSnapshotCount( + async getSnapshot(resolver, { dateRangeStart, dateRangeEnd, filters }, { req }): Promise { + const { up, down, total } = await libs.monitors.getSnapshotCount( req, dateRangeStart, dateRangeEnd, - downCount, - windowSize, filters ); return { up, down, - // @ts-ignore TODO update typings and remove this comment - trouble, - total: up + down + trouble, + total, histogram: await libs.pings.getPingHistogram(req, dateRangeStart, dateRangeEnd, filters), }; }, diff --git a/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts b/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts index bba3c0814a9db..b7070b3b73031 100644 --- a/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts +++ b/x-pack/plugins/uptime/server/graphql/monitors/schema.gql.ts @@ -30,7 +30,6 @@ export const monitorsSchema = gql` type Snapshot { up: Int down: Int - trouble: Int total: Int histogram: [HistogramSeries] } @@ -97,13 +96,7 @@ export const monitorsSchema = gql` filters: String ): LatestMonitorsResult - getSnapshot( - dateRangeStart: String! - dateRangeEnd: String! - downCount: Int! - windowSize: Int! - filters: String - ): Snapshot + getSnapshot(dateRangeStart: String!, dateRangeEnd: String!, filters: String): Snapshot getMonitorChartsData( monitorId: String! diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts index 462c55753004c..867f2c258f6d0 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/adapter_types.ts @@ -21,8 +21,6 @@ export interface UMMonitorsAdapter { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise; getFilterBar(request: any, dateRangeStart: string, dateRangeEnd: string): Promise; diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts index 556093e8cb39b..dee1d7a4a3cdd 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts @@ -146,14 +146,17 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, - filters?: string | null + filter?: string | null ): Promise { + const { statusFilter, query } = this.getFilteredQueryAndStatusFilter( + dateRangeStart, + dateRangeEnd, + filter + ); const params = { index: INDEX_NAMES.HEARTBEAT, body: { - query: getFilteredQuery(dateRangeStart, dateRangeEnd, filters), + query, aggs: { urls: { composite: { @@ -182,7 +185,7 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { '@timestamp': { order: 'desc' }, }, ], - size: windowSize, + size: 1, }, }, }, @@ -198,6 +201,9 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { return latest.reduce( (acc, doc) => { const status = get(doc, '_source.monitor.status', null); + if (statusFilter && statusFilter !== status) { + return acc; + } if (status === 'up') { acc.up += 1; } else { @@ -208,22 +214,16 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { { up: 0, down: 0 } ); }); - const { up, down, trouble } = monitorStatuses.reduce( + const { up, down } = monitorStatuses.reduce( (acc, status) => { - if (status.down === 0 && status.up === windowSize) { - acc.up += 1; - } else if (status.down >= downCount) { - acc.down += 1; - } else { - // @ts-ignore TODO update typings and remove this comment - acc.trouble += 1; - } + acc.up += status.up || 0; + acc.down += status.down || 0; return acc; }, // @ts-ignore TODO update typings and remove this comment - { up: 0, down: 0, trouble: 0 } + { up: 0, down: 0 } ); - return { up, down, trouble, total: up + down + trouble }; + return { up, down, total: up + down }; } public async getLatestMonitors( @@ -232,10 +232,15 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { dateRangeEnd: string, filters?: string | null ): Promise { + const { statusFilter, query } = this.getFilteredQueryAndStatusFilter( + dateRangeStart, + dateRangeEnd, + filters + ); const params = { index: INDEX_NAMES.HEARTBEAT, body: { - query: getFilteredQuery(dateRangeStart, dateRangeEnd, filters), + query, aggs: { hosts: { composite: { @@ -288,31 +293,36 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { }; const res = await this.database.search(request, params); const aggBuckets: any[] = get(res, 'aggregations.hosts.buckets', []); - const result = aggBuckets.map(({ key, histogram: { buckets }, latest: { hits: { hits } } }) => { - const upSeries: any[] = []; - const downSeries: any[] = []; - // @ts-ignore TODO update typings and remove this comment - buckets.forEach(bucket => { - const status = get(bucket, 'status.buckets', []); - // @ts-ignore TODO update typings and remove this comment - const up = status.find(f => f.key === 'up'); - // @ts-ignore TODO update typings and remove this comment - const down = status.find(f => f.key === 'down'); - // @ts-ignore TODO update typings and remove this comment - upSeries.push({ x: bucket.key, y: up ? up.doc_count : null }); + const result = aggBuckets + .map(({ key, histogram: { buckets }, latest: { hits: { hits } } }) => { + if (statusFilter && hits[0]._source.monitor.status !== statusFilter) { + return undefined; + } + const upSeries: any[] = []; + const downSeries: any[] = []; // @ts-ignore TODO update typings and remove this comment - downSeries.push({ x: bucket.key, y: down ? down.doc_count : null }); - }); - return { - key, - ping: { - ...hits[0]._source, - timestamp: hits[0]._source['@timestamp'], - }, - upSeries, - downSeries, - }; - }); + buckets.forEach(bucket => { + const status = get(bucket, 'status.buckets', []); + // @ts-ignore TODO update typings and remove this comment + const up = status.find(f => f.key === 'up'); + // @ts-ignore TODO update typings and remove this comment + const down = status.find(f => f.key === 'down'); + // @ts-ignore TODO update typings and remove this comment + upSeries.push({ x: bucket.key, y: up ? up.doc_count : null }); + // @ts-ignore TODO update typings and remove this comment + downSeries.push({ x: bucket.key, y: down ? down.doc_count : null }); + }); + return { + key, + ping: { + ...hits[0]._source, + timestamp: hits[0]._source['@timestamp'], + }, + upSeries, + downSeries, + }; + }) + .filter(f => f !== undefined); return result; } @@ -336,21 +346,31 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { id: { terms: { field: 'monitor.id', + order: { + _key: 'asc', + }, }, }, port: { terms: { field: 'url.port', + _key: 'asc', }, }, scheme: { terms: { field: 'monitor.scheme', + order: { + _key: 'asc', + }, }, }, status: { terms: { field: 'monitor.status', + order: { + _key: 'asc', + }, }, }, }, @@ -453,4 +473,43 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { ); return errorsList; } + + private getMonitorsListFilteredQuery(filters: any): string | undefined { + const must = get(filters, 'bool.must', []); + if (must && must.length) { + const statusFilter = filters.bool.must.filter( + (filter: any) => filter.match['monitor.status'] + ); + if (statusFilter.length) { + return statusFilter[0].match['monitor.status'].query; + } + } + } + + private getFilteredQueryAndStatusFilter( + dateRangeStart: string, + dateRangeEnd: string, + filters?: string | null + ) { + let statusFilter: string | undefined; + let filterObject: any; + if (filters) { + filterObject = JSON.parse(filters); + statusFilter = this.getMonitorsListFilteredQuery(filterObject); + } + let nonStatusFiters; + if (statusFilter && filters) { + nonStatusFiters = { + bool: { + must: filterObject.bool.must.filter((filter: any) => !filter.match['monitor.status']), + }, + }; + } + return { + query: statusFilter + ? nonStatusFiters + : getFilteredQuery(dateRangeStart, dateRangeEnd, filters), + statusFilter, + }; + } } diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts index 52bdeb979e638..a9c08259e00ce 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/memory_pings_adapter.ts @@ -39,8 +39,6 @@ export class UMMemoryMonitorsAdapter implements UMMonitorsAdapter { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise { throw new Error('Method not implemented.'); diff --git a/x-pack/plugins/uptime/server/lib/domains/monitors.ts b/x-pack/plugins/uptime/server/lib/domains/monitors.ts index 45c54a73d296d..68a688b65a321 100644 --- a/x-pack/plugins/uptime/server/lib/domains/monitors.ts +++ b/x-pack/plugins/uptime/server/lib/domains/monitors.ts @@ -33,18 +33,9 @@ export class UMMonitorsDomain { request: any, dateRangeStart: string, dateRangeEnd: string, - downCount: number, - windowSize: number, filters?: string | null ): Promise { - return this.adapter.getSnapshotCount( - request, - dateRangeStart, - dateRangeEnd, - downCount, - windowSize, - filters - ); + return this.adapter.getSnapshotCount(request, dateRangeStart, dateRangeEnd, filters); } public async getFilterBar( diff --git a/x-pack/test/api_integration/apis/uptime/graphql/doc_count.js b/x-pack/test/api_integration/apis/uptime/graphql/doc_count.js new file mode 100644 index 0000000000000..9935151b36a7e --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/doc_count.js @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import { getDocCountQueryString } from '../../../../../plugins/uptime/public/components/queries/empty_state/get_doc_count'; +import docCount from './fixtures/doc_count'; + +export default function ({ getService }) { + describe('docCount query', () => { + const supertest = getService('supertest'); + + it(`will fetch the index's count`, async () => { + const getDocCountQuery = { + operationName: null, + query: getDocCountQueryString, + variables: {}, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getDocCountQuery }); + + expect(data).to.eql(docCount); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/error_list.js b/x-pack/test/api_integration/apis/uptime/graphql/error_list.js new file mode 100644 index 0000000000000..62c54fd8a3168 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/error_list.js @@ -0,0 +1,92 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import { getErrorListQueryString } from '../../../../../plugins/uptime/public/components/queries/error_list/get_error_list'; +import errorList from './fixtures/error_list'; +import errorListFilteredById from './fixtures/error_list_filtered_by_id'; +import errorListFilteredByPort from './fixtures/error_list_filtered_by_port'; +import errorListFilteredBbyPortAndScheme from './fixtures/error_list_filtered_by_port_and_scheme'; + +export default function ({ getService }) { + describe('errorList query', () => { + const supertest = getService('supertest'); + + it('returns expected error list', async () => { + const getErrorListQuery = { + operationName: 'ErrorList', + query: getErrorListQueryString, + variables: { dateRangeStart: 1547805782000, dateRangeEnd: 1547852582000 }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getErrorListQuery }); + expect(data).to.eql(errorList); + }); + + it('returns an error list filtered by monitor id', async () => { + const getErrorListQuery = { + operationName: 'ErrorList', + query: getErrorListQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"monitor.id":{"query":"http@http://localhost:12349/","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getErrorListQuery }); + expect(data).to.eql(errorListFilteredById); + }); + + it('returns an error list filtered by port', async () => { + const getErrorListQuery = { + operationName: 'ErrorList', + query: getErrorListQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"tcp.port":{"query":"80","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getErrorListQuery }); + expect(data).to.eql(errorListFilteredByPort); + }); + + it('returns an error list filtered by port/scheme', async () => { + const getErrorListQuery = { + operationName: 'ErrorList', + query: getErrorListQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: + `{"bool":{"must":[{"match":{"tcp.port":{"query":"80","operator":"and"}}},` + + `{"match":{"monitor.scheme":{"query":"http","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getErrorListQuery }); + expect(data).to.eql(errorListFilteredBbyPortAndScheme); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/filter_bar.js b/x-pack/test/api_integration/apis/uptime/graphql/filter_bar.js new file mode 100644 index 0000000000000..066dd771909ba --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/filter_bar.js @@ -0,0 +1,30 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import { getFilterBarQueryString } from '../../../../../plugins/uptime/public/components/queries/filter_bar/get_filter_bar'; +import filterList from './fixtures/filter_list'; + +export default function ({ getService }) { + describe('filterBar query', () => { + const supertest = getService('supertest'); + + it('returns the expected filters', async () => { + const getFilterBarQuery = { + operationName: 'FilterBar', + query: getFilterBarQueryString, + variables: { dateRangeStart: 1547805782000, dateRangeEnd: 1547852582000 }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getFilterBarQuery }); + expect(data).to.eql(filterList); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json new file mode 100644 index 0000000000000..096e326f976a5 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json @@ -0,0 +1 @@ +{ "getDocCount": { "count": 10000 } } diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/down_filtered.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/down_filtered.json new file mode 100644 index 0000000000000..6720b5e83d7b0 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/down_filtered.json @@ -0,0 +1,111 @@ +{ + "monitorStatus": { + "monitors": [ + { + "key": { "id": "http@http://www.example.com", "port": 80 }, + "ping": { + "timestamp": "2019-01-19T19:43:53.387Z", + "monitor": { + "status": "down", + "type": "http", + "host": "www.example.com", + "ip": "198.71.248.67", + "duration": { "us": 1306023 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": null }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 356 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ], + "downSeries": [ + { "x": 1547848920000, "y": 354 }, + { "x": 1547850720000, "y": 125 }, + { "x": 1547852520000, "y": 13 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 3 } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list.json new file mode 100644 index 0000000000000..76a794ed8ab78 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list.json @@ -0,0 +1,44 @@ +{ + "errorList": [ + { + "latestMessage": "received status code 301 expecting 200", + "monitorId": "http@http://www.example.com", + "type": "validate", + "count": 482, + "statusCode": "301", + "timestamp": "2019-01-18T23:02:58.384Z" + }, + { + "latestMessage": "Get http://localhost:12349/: dial tcp 127.0.0.1:12349: connect: connection refused", + "monitorId": "http@http://localhost:12349/", + "type": "io", + "count": 6, + "statusCode": null, + "timestamp": "2019-01-18T22:11:18.387Z" + }, + { + "latestMessage": "Get https://example.com/: http: request timed out while waiting for response (Client.Timeout exceeded while awaiting headers)", + "monitorId": "http@http://www.example.com", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T22:42:23.391Z" + }, + { + "latestMessage": "Get http://www.google.com/: dial tcp 172.217.11.36:80: connect: network is down", + "monitorId": "http@http://www.google.com/", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T23:02:27.007Z" + }, + { + "latestMessage": "Get https://www.google.com/: dial tcp 172.217.11.36:443: connect: network is down", + "monitorId": "http@https://www.google.com/", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T23:02:27.007Z" + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_id.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_id.json new file mode 100644 index 0000000000000..8ab5b7e1e780b --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_id.json @@ -0,0 +1,12 @@ +{ + "errorList": [ + { + "latestMessage": "Get http://localhost:12349/: dial tcp 127.0.0.1:12349: connect: connection refused", + "monitorId": "http@http://localhost:12349/", + "type": "io", + "count": 6, + "statusCode": null, + "timestamp": "2019-01-18T22:11:18.387Z" + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port.json new file mode 100644 index 0000000000000..c9d467f937b3c --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port.json @@ -0,0 +1,28 @@ +{ + "errorList": [ + { + "latestMessage": "received status code 301 expecting 200", + "monitorId": "http@http://www.example.com", + "type": "validate", + "count": 482, + "statusCode": "301", + "timestamp": "2019-01-18T23:02:58.384Z" + }, + { + "latestMessage": "Get https://example.com/: http: request timed out while waiting for response (Client.Timeout exceeded while awaiting headers)", + "monitorId": "http@http://www.example.com", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T22:42:23.391Z" + }, + { + "latestMessage": "Get http://www.google.com/: dial tcp 172.217.11.36:80: connect: network is down", + "monitorId": "http@http://www.google.com/", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T23:02:27.007Z" + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port_and_scheme.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port_and_scheme.json new file mode 100644 index 0000000000000..c9d467f937b3c --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/error_list_filtered_by_port_and_scheme.json @@ -0,0 +1,28 @@ +{ + "errorList": [ + { + "latestMessage": "received status code 301 expecting 200", + "monitorId": "http@http://www.example.com", + "type": "validate", + "count": 482, + "statusCode": "301", + "timestamp": "2019-01-18T23:02:58.384Z" + }, + { + "latestMessage": "Get https://example.com/: http: request timed out while waiting for response (Client.Timeout exceeded while awaiting headers)", + "monitorId": "http@http://www.example.com", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T22:42:23.391Z" + }, + { + "latestMessage": "Get http://www.google.com/: dial tcp 172.217.11.36:80: connect: network is down", + "monitorId": "http@http://www.google.com/", + "type": "io", + "count": 1, + "statusCode": null, + "timestamp": "2019-01-18T23:02:27.007Z" + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/filter_list.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/filter_list.json new file mode 100644 index 0000000000000..9136dd89a447b --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/filter_list.json @@ -0,0 +1,18 @@ +{ + "filterBar": { + "status": ["down", "up"], + "port": [80, 443, 9200, 12349], + "id": [ + "http@http://localhost:12349/", + "http@http://www.example.com", + "http@http://www.google.com/", + "http@https://news.google.com/", + "http@https://www.elastic.co", + "http@https://www.github.com/", + "http@https://www.google.com/", + "http@https://www.wikipedia.org/", + "tcp-tcp@localhost:9200" + ], + "scheme": ["http", "https", "tcp"] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_list.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_list.json new file mode 100644 index 0000000000000..134c3e0ac7b37 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_list.json @@ -0,0 +1,445 @@ +{ + "monitorStatus": { + "monitors": [ + { + "key": { "id": "http@http://localhost:12349/", "port": 12349 }, + "ping": { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 4494 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 54 }, + { "x": 1547849220000, "y": 54 }, + { "x": 1547849520000, "y": 60 }, + { "x": 1547849820000, "y": 60 }, + { "x": 1547850120000, "y": 60 }, + { "x": 1547850420000, "y": 60 }, + { "x": 1547850720000, "y": 60 }, + { "x": 1547851020000, "y": 60 }, + { "x": 1547851320000, "y": 5 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 26 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": 6 }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": null } + ] + }, + { + "key": { "id": "http@http://www.example.com", "port": 80 }, + "ping": { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "down", + "type": "http", + "host": "www.example.com", + "ip": "198.71.248.67", + "duration": { "us": 2479437 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": null } + ], + "downSeries": [ + { "x": 1547848920000, "y": 54 }, + { "x": 1547849220000, "y": 60 }, + { "x": 1547849520000, "y": 60 }, + { "x": 1547849820000, "y": 60 }, + { "x": 1547850120000, "y": 60 }, + { "x": 1547850420000, "y": 60 }, + { "x": 1547850720000, "y": 60 }, + { "x": 1547851020000, "y": 60 }, + { "x": 1547851320000, "y": 5 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 4 } + ] + }, + { + "key": { "id": "http@http://www.google.com/", "port": 80 }, + "ping": { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.google.com", + "ip": "172.217.12.196", + "duration": { "us": 234267 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 54 }, + { "x": 1547849220000, "y": 60 }, + { "x": 1547849520000, "y": 60 }, + { "x": 1547849820000, "y": 60 }, + { "x": 1547850120000, "y": 60 }, + { "x": 1547850420000, "y": 60 }, + { "x": 1547850720000, "y": 60 }, + { "x": 1547851020000, "y": 60 }, + { "x": 1547851320000, "y": 5 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 8 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 1 } + ] + }, + { + "key": { "id": "http@https://news.google.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T23:02:27.006Z", + "monitor": { + "status": "up", + "type": "http", + "host": "news.google.com", + "ip": "172.217.10.142", + "duration": { "us": 2822315 } + } + }, + "upSeries": [ + { "x": 1547848980000, "y": 5 }, + { "x": 1547849280000, "y": 5 }, + { "x": 1547849580000, "y": 5 }, + { "x": 1547849880000, "y": 5 }, + { "x": 1547850180000, "y": 5 }, + { "x": 1547850480000, "y": 5 }, + { "x": 1547850780000, "y": 5 }, + { "x": 1547851080000, "y": 4 }, + { "x": 1547851380000, "y": null }, + { "x": 1547851680000, "y": null }, + { "x": 1547851980000, "y": null }, + { "x": 1547852280000, "y": 1 } + ], + "downSeries": [ + { "x": 1547848980000, "y": null }, + { "x": 1547849280000, "y": null }, + { "x": 1547849580000, "y": null }, + { "x": 1547849880000, "y": null }, + { "x": 1547850180000, "y": null }, + { "x": 1547850480000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547851080000, "y": null }, + { "x": 1547851380000, "y": null }, + { "x": 1547851680000, "y": null }, + { "x": 1547851980000, "y": null }, + { "x": 1547852280000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.elastic.co", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T22:42:22.385Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.elastic.co", + "ip": "151.101.210.217", + "duration": { "us": 392993 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 10 }, + { "x": 1547848980000, "y": 20 }, + { "x": 1547849040000, "y": 20 }, + { "x": 1547849100000, "y": 20 }, + { "x": 1547849160000, "y": 20 }, + { "x": 1547849220000, "y": 20 }, + { "x": 1547849280000, "y": 20 }, + { "x": 1547849340000, "y": 20 }, + { "x": 1547849400000, "y": 20 }, + { "x": 1547849460000, "y": 20 }, + { "x": 1547849520000, "y": 20 }, + { "x": 1547849580000, "y": 20 }, + { "x": 1547849640000, "y": 20 }, + { "x": 1547849700000, "y": 20 }, + { "x": 1547849760000, "y": 20 }, + { "x": 1547849820000, "y": 20 }, + { "x": 1547849880000, "y": 20 }, + { "x": 1547849940000, "y": 20 }, + { "x": 1547850000000, "y": 20 }, + { "x": 1547850060000, "y": 20 }, + { "x": 1547850120000, "y": 20 }, + { "x": 1547850180000, "y": 20 }, + { "x": 1547850240000, "y": 20 }, + { "x": 1547850300000, "y": 20 }, + { "x": 1547850360000, "y": 20 }, + { "x": 1547850420000, "y": 20 }, + { "x": 1547850480000, "y": 20 }, + { "x": 1547850540000, "y": 20 }, + { "x": 1547850600000, "y": 20 }, + { "x": 1547850660000, "y": 20 }, + { "x": 1547850720000, "y": 20 }, + { "x": 1547850780000, "y": 20 }, + { "x": 1547850840000, "y": 20 }, + { "x": 1547850900000, "y": 20 }, + { "x": 1547850960000, "y": 20 }, + { "x": 1547851020000, "y": 20 }, + { "x": 1547851080000, "y": 20 }, + { "x": 1547851140000, "y": 20 }, + { "x": 1547851200000, "y": 20 }, + { "x": 1547851260000, "y": 20 }, + { "x": 1547851320000, "y": 8 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547848980000, "y": null }, + { "x": 1547849040000, "y": null }, + { "x": 1547849100000, "y": null }, + { "x": 1547849160000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849280000, "y": null }, + { "x": 1547849340000, "y": null }, + { "x": 1547849400000, "y": null }, + { "x": 1547849460000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849580000, "y": null }, + { "x": 1547849640000, "y": null }, + { "x": 1547849700000, "y": null }, + { "x": 1547849760000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547849880000, "y": null }, + { "x": 1547849940000, "y": null }, + { "x": 1547850000000, "y": null }, + { "x": 1547850060000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850180000, "y": null }, + { "x": 1547850240000, "y": null }, + { "x": 1547850300000, "y": null }, + { "x": 1547850360000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850480000, "y": null }, + { "x": 1547850540000, "y": null }, + { "x": 1547850600000, "y": null }, + { "x": 1547850660000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547850840000, "y": null }, + { "x": 1547850900000, "y": null }, + { "x": 1547850960000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851080000, "y": null }, + { "x": 1547851140000, "y": null }, + { "x": 1547851200000, "y": null }, + { "x": 1547851260000, "y": null }, + { "x": 1547851320000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.github.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.github.com", + "ip": "192.30.253.113", + "duration": { "us": 581801 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 54 }, + { "x": 1547849220000, "y": 60 }, + { "x": 1547849520000, "y": 60 }, + { "x": 1547849820000, "y": 60 }, + { "x": 1547850120000, "y": 60 }, + { "x": 1547850420000, "y": 60 }, + { "x": 1547850720000, "y": 60 }, + { "x": 1547851020000, "y": 60 }, + { "x": 1547851320000, "y": 5 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 7 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.google.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.google.com", + "ip": "172.217.12.196", + "duration": { "us": 421935 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 54 }, + { "x": 1547849220000, "y": 60 }, + { "x": 1547849520000, "y": 60 }, + { "x": 1547849820000, "y": 60 }, + { "x": 1547850120000, "y": 60 }, + { "x": 1547850420000, "y": 60 }, + { "x": 1547850720000, "y": 60 }, + { "x": 1547851020000, "y": 60 }, + { "x": 1547851320000, "y": 5 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 7 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 1 } + ] + }, + { + "key": { "id": "http@https://www.wikipedia.org/", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T23:02:27.007Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.wikipedia.org", + "ip": "208.80.154.224", + "duration": { "us": 1552649 } + } + }, + "upSeries": [ + { "x": 1547848980000, "y": 5 }, + { "x": 1547849280000, "y": 5 }, + { "x": 1547849580000, "y": 5 }, + { "x": 1547849880000, "y": 5 }, + { "x": 1547850180000, "y": 5 }, + { "x": 1547850480000, "y": 5 }, + { "x": 1547850780000, "y": 5 }, + { "x": 1547851080000, "y": 4 }, + { "x": 1547851380000, "y": null }, + { "x": 1547851680000, "y": null }, + { "x": 1547851980000, "y": null }, + { "x": 1547852280000, "y": 1 } + ], + "downSeries": [ + { "x": 1547848980000, "y": null }, + { "x": 1547849280000, "y": null }, + { "x": 1547849580000, "y": null }, + { "x": 1547849880000, "y": null }, + { "x": 1547850180000, "y": null }, + { "x": 1547850480000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547851080000, "y": null }, + { "x": 1547851380000, "y": null }, + { "x": 1547851680000, "y": null }, + { "x": 1547851980000, "y": null }, + { "x": 1547852280000, "y": null } + ] + }, + { + "key": { "id": "tcp-tcp@localhost:9200", "port": 9200 }, + "ping": { + "timestamp": "2019-01-18T23:03:01.393Z", + "monitor": { + "status": "up", + "type": "tcp", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 1525 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 271 }, + { "x": 1547849220000, "y": 300 }, + { "x": 1547849520000, "y": 300 }, + { "x": 1547849820000, "y": 300 }, + { "x": 1547850120000, "y": 300 }, + { "x": 1547850420000, "y": 300 }, + { "x": 1547850720000, "y": 300 }, + { "x": 1547851020000, "y": 300 }, + { "x": 1547851320000, "y": 26 }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": 110 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851320000, "y": null }, + { "x": 1547851620000, "y": null }, + { "x": 1547851920000, "y": null }, + { "x": 1547852220000, "y": null }, + { "x": 1547852520000, "y": null } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status.json new file mode 100644 index 0000000000000..e8f6b49bf7201 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status.json @@ -0,0 +1,103 @@ +{ + "monitorStatus": [ + { + "timestamp": "2019-01-18T23:03:01.393Z", + "monitor": { + "status": "up", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 1525 }, + "scheme": "tcp" + }, + "tcp": { "port": 9200 } + }, + { + "timestamp": "2019-01-18T22:42:22.385Z", + "monitor": { + "status": "up", + "host": "www.elastic.co", + "ip": "151.101.210.217", + "duration": { "us": 392993 }, + "scheme": "https" + }, + "tcp": { "port": 443 } + }, + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 4494 }, + "scheme": "http" + }, + "tcp": { "port": 12349 } + }, + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "host": "www.google.com", + "ip": "172.217.12.196", + "duration": { "us": 234267 }, + "scheme": "http" + }, + "tcp": { "port": 80 } + }, + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "host": "www.google.com", + "ip": "172.217.12.196", + "duration": { "us": 421935 }, + "scheme": "https" + }, + "tcp": { "port": 443 } + }, + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "host": "www.github.com", + "ip": "192.30.253.113", + "duration": { "us": 581801 }, + "scheme": "https" + }, + "tcp": { "port": 443 } + }, + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "down", + "host": "www.example.com", + "ip": "198.71.248.67", + "duration": { "us": 2479437 }, + "scheme": "http" + }, + "tcp": { "port": 80 } + }, + { + "timestamp": "2019-01-18T23:02:27.006Z", + "monitor": { + "status": "up", + "host": "news.google.com", + "ip": "172.217.10.142", + "duration": { "us": 2822315 }, + "scheme": "https" + }, + "tcp": { "port": 443 } + }, + { + "timestamp": "2019-01-18T23:02:27.007Z", + "monitor": { + "status": "up", + "host": "www.wikipedia.org", + "ip": "208.80.154.224", + "duration": { "us": 1552649 }, + "scheme": "https" + }, + "tcp": { "port": 443 } + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status_by_id.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status_by_id.json new file mode 100644 index 0000000000000..cdea30342a894 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/monitor_status_by_id.json @@ -0,0 +1,15 @@ +{ + "monitorStatus": [ + { + "timestamp": "2019-01-18T23:02:58.384Z", + "monitor": { + "status": "up", + "host": "www.google.com", + "ip": "172.217.12.196", + "duration": { "us": 234267 }, + "scheme": "http" + }, + "tcp": { "port": 80 } + } + ] +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list.json new file mode 100644 index 0000000000000..1ea90ceaa8a8b --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list.json @@ -0,0 +1,147 @@ +{ + "allPings": { + "total": 5834, + "pings": [ + { + "timestamp": "2019-01-18T22:03:03.383Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1350724 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:04.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 567900 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:05.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1022 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:06.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1351 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:07.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1123 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:07.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 872441 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 2775 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 3590 }, + "id": "http@http://localhost:12349/", + "ip": "127.0.0.1", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 94613 }, + "id": "http@http://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 120698 }, + "id": "http@https://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_count.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_count.json new file mode 100644 index 0000000000000..1e78447b4b6c4 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_count.json @@ -0,0 +1,707 @@ +{ + "allPings": { + "total": 5834, + "pings": [ + { + "timestamp": "2019-01-18T22:03:03.383Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1350724 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:04.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 567900 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:05.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1022 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:06.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1351 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:07.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1123 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:07.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 872441 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 2775 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 3590 }, + "id": "http@http://localhost:12349/", + "ip": "127.0.0.1", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 94613 }, + "id": "http@http://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 120698 }, + "id": "http@https://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 218065 }, + "id": "http@https://www.github.com/", + "ip": "192.30.253.112", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:09.389Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1134 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:08.383Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1258747 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:10.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1352 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:33.383Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1385335 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:34.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 738176 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:35.387Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1770 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:36.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1557 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:37.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1779 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:37.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 684949 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 2404 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 5095 }, + "id": "http@http://localhost:12349/", + "ip": "127.0.0.1", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 85079 }, + "id": "http@http://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 131416 }, + "id": "http@https://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 223501 }, + "id": "http@https://www.github.com/", + "ip": "192.30.253.112", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:39.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1280 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:38.387Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1411459 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:48.384Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1375462 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:49.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 830951 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:50.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1067 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:51.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1800 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:52.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 2375 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:52.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 849573 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 3443 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 4244 }, + "id": "http@http://localhost:12349/", + "ip": "127.0.0.1", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 73691 }, + "id": "http@http://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 108425 }, + "id": "http@https://www.google.com/", + "ip": "172.217.11.36", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 152156 }, + "id": "http@https://www.github.com/", + "ip": "192.30.253.112", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:54.385Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 947 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:02:53.383Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1334861 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:13.387Z", + "http": { "response": { "status_code": 301 } }, + "error": { "message": "received status code 301 expecting 200", "type": "validate" }, + "monitor": { + "duration": { "us": 1357178 }, + "id": "http@http://www.example.com", + "ip": "198.71.248.67", + "name": "http", + "scheme": "http", + "status": "down", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:15.387Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1094 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:16.383Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 992 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:16.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 835426 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:17.388Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 1464 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:18.384Z", + "http": null, + "error": null, + "monitor": { + "duration": { "us": 3456 }, + "id": "tcp-tcp@localhost:9200", + "ip": "127.0.0.1", + "name": "tcp", + "scheme": "tcp", + "status": "up", + "type": "tcp" + } + }, + { + "timestamp": "2019-01-18T22:03:18.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 4252 }, + "id": "http@http://localhost:12349/", + "ip": "127.0.0.1", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:18.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 84161 }, + "id": "http@http://www.google.com/", + "ip": "172.217.12.164", + "name": "http", + "scheme": "http", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:18.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 160695 }, + "id": "http@https://www.google.com/", + "ip": "172.217.12.164", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:18.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 247264 }, + "id": "http@https://www.github.com/", + "ip": "192.30.253.112", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_monitor_id.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_monitor_id.json new file mode 100644 index 0000000000000..c812dee0cf428 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_monitor_id.json @@ -0,0 +1,217 @@ +{ + "allPings": { + "total": 798, + "pings": [ + { + "timestamp": "2019-01-18T22:03:04.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 567900 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:07.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 872441 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:34.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 738176 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:37.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 684949 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:49.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 830951 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:52.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 849573 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:16.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 835426 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:46.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 759308 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:01.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 790639 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:55.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 775795 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:58.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 859491 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:40.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 773959 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:43.385Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 483803 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:10.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 849835 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:03:13.387Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 872957 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.210.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_sort.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_sort.json new file mode 100644 index 0000000000000..b73fdb8ada164 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/ping_list_sort.json @@ -0,0 +1,77 @@ +{ + "allPings": { + "total": 798, + "pings": [ + { + "timestamp": "2019-01-18T22:02:31.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 925862 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:34.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 738176 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:37.383Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 684949 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:40.384Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 773959 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + }, + { + "timestamp": "2019-01-18T22:02:43.385Z", + "http": { "response": { "status_code": 200 } }, + "error": null, + "monitor": { + "duration": { "us": 483803 }, + "id": "http@https://www.elastic.co", + "ip": "151.101.202.217", + "name": "http", + "scheme": "https", + "status": "up", + "type": "http" + } + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot.json new file mode 100644 index 0000000000000..1c7241420bac2 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot.json @@ -0,0 +1,141 @@ +{ + "snapshot": { + "up": 8, + "down": 1, + "total": 9, + "histogram": [ + { + "monitorId": "tcp-tcp@localhost:9200", + "data": [ + { "upCount": 271, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 26, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 110, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.elastic.co", + "data": [ + { "upCount": 90, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 8, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 } + ] + }, + { + "monitorId": "http@http://localhost:12349/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 54, "downCount": 6, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 26, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@http://www.example.com", + "data": [ + { "upCount": null, "downCount": 54, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": null, "downCount": 5, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": null, "downCount": 4, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@http://www.google.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 8, "downCount": 1, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.github.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 7, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.google.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 7, "downCount": 1, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://news.google.com/", + "data": [ + { "upCount": 4, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 1, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.wikipedia.org/", + "data": [ + { "upCount": 4, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 1, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_down.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_down.json new file mode 100644 index 0000000000000..3e7162b1dc199 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_down.json @@ -0,0 +1,42 @@ +{ + "snapshot": { + "up": 0, + "down": 1, + "total": 1, + "histogram": [ + { + "monitorId": "http@http://www.example.com", + "data": [ + { "upCount": null, "downCount": 54, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": null, "downCount": 60, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": null, "downCount": 5, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": null, "downCount": 4, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@http://localhost:12349/", + "data": [ + { "upCount": null, "downCount": 6, "x": 1547849520000, "x0": 1547849220000, "y": 1 } + ] + }, + { + "monitorId": "http@http://www.google.com/", + "data": [ + { "upCount": null, "downCount": 1, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.google.com/", + "data": [ + { "upCount": null, "downCount": 1, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_up.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_up.json new file mode 100644 index 0000000000000..e253122381c60 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/snapshot_filtered_by_up.json @@ -0,0 +1,126 @@ +{ + "snapshot": { + "up": 8, + "down": 0, + "total": 8, + "histogram": [ + { + "monitorId": "tcp-tcp@localhost:9200", + "data": [ + { "upCount": 271, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 300, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 26, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 110, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.elastic.co", + "data": [ + { "upCount": 90, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 100, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 8, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 } + ] + }, + { + "monitorId": "http@http://localhost:12349/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 54, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 26, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@http://www.google.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 8, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.github.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 7, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.google.com/", + "data": [ + { "upCount": 54, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 60, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851620000, "x0": 1547851320000, "y": 1 }, + { "upCount": 7, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://news.google.com/", + "data": [ + { "upCount": 4, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 1, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + }, + { + "monitorId": "http@https://www.wikipedia.org/", + "data": [ + { "upCount": 4, "downCount": null, "x": 1547849220000, "x0": 1547848920000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849520000, "x0": 1547849220000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547849820000, "x0": 1547849520000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850120000, "x0": 1547849820000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850420000, "x0": 1547850120000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547850720000, "x0": 1547850420000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851020000, "x0": 1547850720000, "y": 1 }, + { "upCount": 5, "downCount": null, "x": 1547851320000, "x0": 1547851020000, "y": 1 }, + { "upCount": 1, "downCount": null, "x": 1547852820000, "x0": 1547852520000, "y": 1 } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/up_filtered.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/up_filtered.json new file mode 100644 index 0000000000000..2948d8dc5a32f --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/up_filtered.json @@ -0,0 +1,772 @@ +{ + "monitorStatus": { + "monitors": [ + { + "key": { "id": "http@http://localhost:12349/", "port": 12349 }, + "ping": { + "timestamp": "2019-01-19T19:43:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 14914 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 348 }, + { "x": 1547850720000, "y": 125 }, + { "x": 1547852520000, "y": 47 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": 133 }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 303 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 3 } + ], + "downSeries": [ + { "x": 1547848920000, "y": 6 }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": null }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ] + }, + { + "key": { "id": "http@http://www.google.com/", "port": 80 }, + "ping": { + "timestamp": "2019-01-19T19:43:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.google.com", + "ip": "172.217.6.196", + "duration": { "us": 77648 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 354 }, + { "x": 1547850720000, "y": 125 }, + { "x": 1547852520000, "y": 17 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": 3 }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 382 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 3 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": 2 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ] + }, + { + "key": { "id": "http@https://news.google.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-19T11:15:47.844Z", + "monitor": { + "status": "up", + "type": "http", + "host": "news.google.com", + "ip": null, + "duration": { "us": 8548 } + } + }, + "upSeries": [ + { "x": 1547848980000, "y": 30 }, + { "x": 1547850780000, "y": 10 }, + { "x": 1547852580000, "y": 1 }, + { "x": 1547854380000, "y": null }, + { "x": 1547856180000, "y": null }, + { "x": 1547857980000, "y": 2 }, + { "x": 1547859780000, "y": null }, + { "x": 1547861580000, "y": null }, + { "x": 1547863380000, "y": null }, + { "x": 1547865180000, "y": null }, + { "x": 1547866980000, "y": null }, + { "x": 1547868780000, "y": null }, + { "x": 1547870580000, "y": null }, + { "x": 1547872380000, "y": null }, + { "x": 1547874180000, "y": null }, + { "x": 1547875980000, "y": null }, + { "x": 1547877780000, "y": null }, + { "x": 1547879580000, "y": null }, + { "x": 1547881380000, "y": null }, + { "x": 1547883180000, "y": null }, + { "x": 1547884980000, "y": null }, + { "x": 1547886780000, "y": null }, + { "x": 1547888580000, "y": null }, + { "x": 1547890380000, "y": null }, + { "x": 1547892180000, "y": null }, + { "x": 1547893980000, "y": null }, + { "x": 1547895780000, "y": 10 } + ], + "downSeries": [ + { "x": 1547848980000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547852580000, "y": null }, + { "x": 1547854380000, "y": null }, + { "x": 1547856180000, "y": null }, + { "x": 1547857980000, "y": null }, + { "x": 1547859780000, "y": null }, + { "x": 1547861580000, "y": null }, + { "x": 1547863380000, "y": null }, + { "x": 1547865180000, "y": null }, + { "x": 1547866980000, "y": null }, + { "x": 1547868780000, "y": null }, + { "x": 1547870580000, "y": null }, + { "x": 1547872380000, "y": null }, + { "x": 1547874180000, "y": null }, + { "x": 1547875980000, "y": null }, + { "x": 1547877780000, "y": null }, + { "x": 1547879580000, "y": null }, + { "x": 1547881380000, "y": null }, + { "x": 1547883180000, "y": null }, + { "x": 1547884980000, "y": null }, + { "x": 1547886780000, "y": null }, + { "x": 1547888580000, "y": null }, + { "x": 1547890380000, "y": null }, + { "x": 1547892180000, "y": null }, + { "x": 1547893980000, "y": null }, + { "x": 1547895780000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.elastic.co", "port": 443 }, + "ping": { + "timestamp": "2019-01-18T22:42:22.385Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.elastic.co", + "ip": "151.101.210.217", + "duration": { "us": 392993 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 10 }, + { "x": 1547848980000, "y": 20 }, + { "x": 1547849040000, "y": 20 }, + { "x": 1547849100000, "y": 20 }, + { "x": 1547849160000, "y": 20 }, + { "x": 1547849220000, "y": 20 }, + { "x": 1547849280000, "y": 20 }, + { "x": 1547849340000, "y": 20 }, + { "x": 1547849400000, "y": 20 }, + { "x": 1547849460000, "y": 20 }, + { "x": 1547849520000, "y": 20 }, + { "x": 1547849580000, "y": 20 }, + { "x": 1547849640000, "y": 20 }, + { "x": 1547849700000, "y": 20 }, + { "x": 1547849760000, "y": 20 }, + { "x": 1547849820000, "y": 20 }, + { "x": 1547849880000, "y": 20 }, + { "x": 1547849940000, "y": 20 }, + { "x": 1547850000000, "y": 20 }, + { "x": 1547850060000, "y": 20 }, + { "x": 1547850120000, "y": 20 }, + { "x": 1547850180000, "y": 20 }, + { "x": 1547850240000, "y": 20 }, + { "x": 1547850300000, "y": 20 }, + { "x": 1547850360000, "y": 20 }, + { "x": 1547850420000, "y": 20 }, + { "x": 1547850480000, "y": 20 }, + { "x": 1547850540000, "y": 20 }, + { "x": 1547850600000, "y": 20 }, + { "x": 1547850660000, "y": 20 }, + { "x": 1547850720000, "y": 20 }, + { "x": 1547850780000, "y": 20 }, + { "x": 1547850840000, "y": 20 }, + { "x": 1547850900000, "y": 20 }, + { "x": 1547850960000, "y": 20 }, + { "x": 1547851020000, "y": 20 }, + { "x": 1547851080000, "y": 20 }, + { "x": 1547851140000, "y": 20 }, + { "x": 1547851200000, "y": 20 }, + { "x": 1547851260000, "y": 20 }, + { "x": 1547851320000, "y": 8 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547848980000, "y": null }, + { "x": 1547849040000, "y": null }, + { "x": 1547849100000, "y": null }, + { "x": 1547849160000, "y": null }, + { "x": 1547849220000, "y": null }, + { "x": 1547849280000, "y": null }, + { "x": 1547849340000, "y": null }, + { "x": 1547849400000, "y": null }, + { "x": 1547849460000, "y": null }, + { "x": 1547849520000, "y": null }, + { "x": 1547849580000, "y": null }, + { "x": 1547849640000, "y": null }, + { "x": 1547849700000, "y": null }, + { "x": 1547849760000, "y": null }, + { "x": 1547849820000, "y": null }, + { "x": 1547849880000, "y": null }, + { "x": 1547849940000, "y": null }, + { "x": 1547850000000, "y": null }, + { "x": 1547850060000, "y": null }, + { "x": 1547850120000, "y": null }, + { "x": 1547850180000, "y": null }, + { "x": 1547850240000, "y": null }, + { "x": 1547850300000, "y": null }, + { "x": 1547850360000, "y": null }, + { "x": 1547850420000, "y": null }, + { "x": 1547850480000, "y": null }, + { "x": 1547850540000, "y": null }, + { "x": 1547850600000, "y": null }, + { "x": 1547850660000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547850840000, "y": null }, + { "x": 1547850900000, "y": null }, + { "x": 1547850960000, "y": null }, + { "x": 1547851020000, "y": null }, + { "x": 1547851080000, "y": null }, + { "x": 1547851140000, "y": null }, + { "x": 1547851200000, "y": null }, + { "x": 1547851260000, "y": null }, + { "x": 1547851320000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.github.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-19T19:43:58.383Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.github.com", + "ip": "192.30.253.112", + "duration": { "us": 185472 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 354 }, + { "x": 1547850720000, "y": 125 }, + { "x": 1547852520000, "y": 16 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": 3 }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 353 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 3 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": 1 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.google.com/", "port": 443 }, + "ping": { + "timestamp": "2019-01-19T19:43:58.384Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.google.com", + "ip": "172.217.6.196", + "duration": { "us": 123451 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 354 }, + { "x": 1547850720000, "y": 125 }, + { "x": 1547852520000, "y": 16 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": 3 }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 382 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 3 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": 2 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ] + }, + { + "key": { "id": "http@https://www.wikipedia.org/", "port": 443 }, + "ping": { + "timestamp": "2019-01-19T11:15:47.844Z", + "monitor": { + "status": "up", + "type": "http", + "host": "www.wikipedia.org", + "ip": null, + "duration": { "us": 5061 } + } + }, + "upSeries": [ + { "x": 1547848980000, "y": 30 }, + { "x": 1547850780000, "y": 10 }, + { "x": 1547852580000, "y": 1 }, + { "x": 1547854380000, "y": null }, + { "x": 1547856180000, "y": null }, + { "x": 1547857980000, "y": 2 }, + { "x": 1547859780000, "y": null }, + { "x": 1547861580000, "y": null }, + { "x": 1547863380000, "y": null }, + { "x": 1547865180000, "y": null }, + { "x": 1547866980000, "y": null }, + { "x": 1547868780000, "y": null }, + { "x": 1547870580000, "y": null }, + { "x": 1547872380000, "y": null }, + { "x": 1547874180000, "y": null }, + { "x": 1547875980000, "y": null }, + { "x": 1547877780000, "y": null }, + { "x": 1547879580000, "y": null }, + { "x": 1547881380000, "y": null }, + { "x": 1547883180000, "y": null }, + { "x": 1547884980000, "y": null }, + { "x": 1547886780000, "y": null }, + { "x": 1547888580000, "y": null }, + { "x": 1547890380000, "y": null }, + { "x": 1547892180000, "y": null }, + { "x": 1547893980000, "y": null }, + { "x": 1547895780000, "y": 10 } + ], + "downSeries": [ + { "x": 1547848980000, "y": null }, + { "x": 1547850780000, "y": null }, + { "x": 1547852580000, "y": 1 }, + { "x": 1547854380000, "y": null }, + { "x": 1547856180000, "y": null }, + { "x": 1547857980000, "y": null }, + { "x": 1547859780000, "y": null }, + { "x": 1547861580000, "y": null }, + { "x": 1547863380000, "y": null }, + { "x": 1547865180000, "y": null }, + { "x": 1547866980000, "y": null }, + { "x": 1547868780000, "y": null }, + { "x": 1547870580000, "y": null }, + { "x": 1547872380000, "y": null }, + { "x": 1547874180000, "y": null }, + { "x": 1547875980000, "y": null }, + { "x": 1547877780000, "y": null }, + { "x": 1547879580000, "y": null }, + { "x": 1547881380000, "y": null }, + { "x": 1547883180000, "y": null }, + { "x": 1547884980000, "y": null }, + { "x": 1547886780000, "y": null }, + { "x": 1547888580000, "y": null }, + { "x": 1547890380000, "y": null }, + { "x": 1547892180000, "y": null }, + { "x": 1547893980000, "y": null }, + { "x": 1547895780000, "y": null } + ] + }, + { + "key": { "id": "tcp-tcp@localhost:9200", "port": 9200 }, + "ping": { + "timestamp": "2019-01-19T19:43:59.388Z", + "monitor": { + "status": "up", + "type": "tcp", + "host": "localhost", + "ip": "127.0.0.1", + "duration": { "us": 1363 } + } + }, + "upSeries": [ + { "x": 1547848920000, "y": 1771 }, + { "x": 1547850720000, "y": 626 }, + { "x": 1547852520000, "y": 200 }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": 448 }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": 1593 }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": 15 } + ], + "downSeries": [ + { "x": 1547848920000, "y": null }, + { "x": 1547850720000, "y": null }, + { "x": 1547852520000, "y": null }, + { "x": 1547854320000, "y": null }, + { "x": 1547856120000, "y": null }, + { "x": 1547857920000, "y": null }, + { "x": 1547859720000, "y": null }, + { "x": 1547861520000, "y": null }, + { "x": 1547863320000, "y": null }, + { "x": 1547865120000, "y": null }, + { "x": 1547866920000, "y": null }, + { "x": 1547868720000, "y": null }, + { "x": 1547870520000, "y": null }, + { "x": 1547872320000, "y": null }, + { "x": 1547874120000, "y": null }, + { "x": 1547875920000, "y": null }, + { "x": 1547877720000, "y": null }, + { "x": 1547879520000, "y": null }, + { "x": 1547881320000, "y": null }, + { "x": 1547883120000, "y": null }, + { "x": 1547884920000, "y": null }, + { "x": 1547886720000, "y": null }, + { "x": 1547888520000, "y": null }, + { "x": 1547890320000, "y": null }, + { "x": 1547892120000, "y": null }, + { "x": 1547893920000, "y": null }, + { "x": 1547895720000, "y": null }, + { "x": 1547897520000, "y": null }, + { "x": 1547899320000, "y": null }, + { "x": 1547901120000, "y": null }, + { "x": 1547902920000, "y": null }, + { "x": 1547904720000, "y": null }, + { "x": 1547906520000, "y": null }, + { "x": 1547908320000, "y": null }, + { "x": 1547910120000, "y": null }, + { "x": 1547911920000, "y": null }, + { "x": 1547913720000, "y": null }, + { "x": 1547915520000, "y": null }, + { "x": 1547917320000, "y": null }, + { "x": 1547919120000, "y": null }, + { "x": 1547920920000, "y": null }, + { "x": 1547922720000, "y": null }, + { "x": 1547924520000, "y": null }, + { "x": 1547926320000, "y": null } + ] + } + ] + } +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/index.js b/x-pack/test/api_integration/apis/uptime/graphql/index.js new file mode 100644 index 0000000000000..692e2f67347bd --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/index.js @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +export default function ({ getService, loadTestFile }) { + const esArchiver = getService('esArchiver'); + const archive = 'uptime/full_heartbeat'; + + describe('graphql queries', () => { + before('load heartbeat data', () => esArchiver.load(archive)); + after('unload heartbeat index', () => esArchiver.unload(archive)); + // each of these test files imports a GQL query from + // the uptime app and runs it against the live HTTP server, + // verifying the pre-loaded documents are returned in a way that + // matches the snapshots contained in './fixtures' + loadTestFile(require.resolve('./doc_count')); + loadTestFile(require.resolve('./error_list')); + loadTestFile(require.resolve('./filter_bar')); + loadTestFile(require.resolve('./monitor_list')); + loadTestFile(require.resolve('./monitor_status_bar')); + loadTestFile(require.resolve('./ping_list')); + loadTestFile(require.resolve('./snapshot')); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/monitor_list.js b/x-pack/test/api_integration/apis/uptime/graphql/monitor_list.js new file mode 100644 index 0000000000000..eded2ddf39898 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/monitor_list.js @@ -0,0 +1,72 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import monitorList from './fixtures/monitor_list'; +import downFiltered from './fixtures/down_filtered'; +import upFiltered from './fixtures/up_filtered'; +import { getMonitorListQueryString } from '../../../../../plugins/uptime/public/components/queries/monitor_list/get_monitor_list'; + +export default function ({ getService }) { + describe('monitorList query', () => { + const supertest = getService('supertest'); + + it('will fetch a list of all the monitors', async () => { + const getMonitorListQuery = { + operationName: 'MonitorList', + query: getMonitorListQueryString, + variables: { dateRangeStart: 1547805782000, dateRangeEnd: 1547852582000 }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getMonitorListQuery }); + expect(data).to.eql(monitorList); + }); + + it('will fetch a filtered list of all down monitors', async () => { + const getMonitorListQuery = { + operationName: 'MonitorList', + query: getMonitorListQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"monitor.status":{"query":"down","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getMonitorListQuery }); + expect(data).to.eql(downFiltered); + }); + + it('will fetch a filtered list of all up monitors', async () => { + const getMonitorListQuery = { + operationName: 'MonitorList', + query: getMonitorListQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"monitor.status":{"query":"up","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getMonitorListQuery }); + expect(data).to.eql(upFiltered); + }); + + // TODO: add filters for host and port + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/monitor_status_bar.js b/x-pack/test/api_integration/apis/uptime/graphql/monitor_status_bar.js new file mode 100644 index 0000000000000..9547b39e08cf2 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/monitor_status_bar.js @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { omit } from 'lodash'; +import expect from 'expect.js'; +// eslint-disable-next-line max-len +import { getMonitorStatusBarQueryString } from '../../../../../plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar'; +import monitorStatus from './fixtures/monitor_status'; +import monitorStatusById from './fixtures/monitor_status_by_id'; + +export default function ({ getService }) { + describe('monitorStatusBar query', () => { + const supertest = getService('supertest'); + + it('returns the status for all monitors with no ID filtering', async () => { + const getMonitorStatusBarQuery = { + operationName: 'MonitorStatus', + query: getMonitorStatusBarQueryString, + variables: { dateRangeStart: 1547805782000, dateRangeEnd: 1547852582000 }, + }; + const { + body: { + data: { monitorStatus: responseData }, + }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getMonitorStatusBarQuery }); + + expect({ monitorStatus: responseData.map(status => omit(status, 'millisFromNow')) }).to.eql( + monitorStatus + ); + }); + + it('returns the status for only the given monitor', async () => { + const getMonitorStatusBarQuery = { + operationName: 'MonitorStatus', + query: getMonitorStatusBarQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + monitorId: 'http@http://www.google.com/', + }, + }; + const { + body: { + data: { monitorStatus: responseData }, + }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getMonitorStatusBarQuery }); + expect({ monitorStatus: responseData.map(status => omit(status, 'millisFromNow')) }).to.eql(monitorStatusById); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/ping_list.js b/x-pack/test/api_integration/apis/uptime/graphql/ping_list.js new file mode 100644 index 0000000000000..702ac231f24f7 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/ping_list.js @@ -0,0 +1,98 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import { getPingsQueryString } from '../../../../../plugins/uptime/public/components/queries/ping_list/get_pings'; +import pingList from './fixtures/ping_list'; +import pingListCount from './fixtures/ping_list_count'; +import pingListMonitorId from './fixtures/ping_list_monitor_id'; +import pingListSort from './fixtures/ping_list_sort'; + +export default function ({ getService }) { + describe('pingList query', () => { + const supertest = getService('supertest'); + + it('returns a list of pings for the given date range and default size', async () => { + const getPingsQuery = { + operationName: 'PingList', + query: getPingsQueryString, + variables: { dateRangeStart: 1547827200000, dateRangeEnd: 1547852582000 }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getPingsQuery }); + const { allPings: { pings } } = data; + expect(pings).length(10); + expect(data).to.eql(pingList); + }); + + it('returns a list of pings for the date range and given size', async () => { + const SIZE = 50; + const getPingsQuery = { + operationName: 'PingList', + query: getPingsQueryString, + variables: { dateRangeStart: 1547827200000, dateRangeEnd: 1547852582000, size: SIZE }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getPingsQuery }); + const { allPings: { pings } } = data; + expect(pings).length(SIZE); + expect(data).to.eql(pingListCount); + }); + + it('returns a list of pings for a monitor ID', async () => { + const SIZE = 15; + const MONITOR_ID = 'http@https://www.elastic.co'; + const getPingsQuery = { + operationName: 'PingList', + query: getPingsQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + monitorId: MONITOR_ID, + size: SIZE, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getPingsQuery }); + expect(data).to.eql(pingListMonitorId); + }); + + it('returns a list of pings sorted ascending', async () => { + const SIZE = 5; + const MONITOR_ID = 'http@https://www.elastic.co'; + const getPingsQuery = { + operationName: 'PingList', + query: getPingsQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + monitorId: MONITOR_ID, + size: SIZE, + sort: 'asc', + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getPingsQuery }); + expect(data).to.eql(pingListSort); + }); + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/graphql/snapshot.js b/x-pack/test/api_integration/apis/uptime/graphql/snapshot.js new file mode 100644 index 0000000000000..6b07785d049e8 --- /dev/null +++ b/x-pack/test/api_integration/apis/uptime/graphql/snapshot.js @@ -0,0 +1,75 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import expect from 'expect.js'; +import { getSnapshotQueryString } from '../../../../../plugins/uptime/public/components/queries/snapshot/get_snapshot'; +import snapshot from './fixtures/snapshot'; +import snapshotFilteredByDown from './fixtures/snapshot_filtered_by_down'; +import snapshotFilteredByUp from './fixtures/snapshot_filtered_by_up'; + +export default function ({ getService }) { + describe('snapshot query', () => { + const supertest = getService('supertest'); + + it('will fetch a monitor snapshot summary', async () => { + const getSnapshotQuery = { + operationName: 'Snapshot', + query: getSnapshotQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getSnapshotQuery }); + expect(data).to.eql(snapshot); + }); + + it('will fetch a monitor snapshot filtered by down status', async () => { + const getSnapshotQuery = { + operationName: 'Snapshot', + query: getSnapshotQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"monitor.status":{"query":"down","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getSnapshotQuery }); + expect(data).to.eql(snapshotFilteredByDown); + }); + + it('will fetch a monitor snapshot filtered by up status', async () => { + const getSnapshotQuery = { + operationName: 'Snapshot', + query: getSnapshotQueryString, + variables: { + dateRangeStart: 1547805782000, + dateRangeEnd: 1547852582000, + filters: `{"bool":{"must":[{"match":{"monitor.status":{"query":"up","operator":"and"}}}]}}`, + }, + }; + const { + body: { data }, + } = await supertest + .post('/api/uptime/graphql') + .set('kbn-xsrf', 'foo') + .send({ ...getSnapshotQuery }); + expect(data).to.eql(snapshotFilteredByUp); + }); + + // TODO: test for host, port, etc. + }); +} diff --git a/x-pack/test/api_integration/apis/uptime/index.js b/x-pack/test/api_integration/apis/uptime/index.js index 2a0386ce7085a..cde44bd4f56dd 100644 --- a/x-pack/test/api_integration/apis/uptime/index.js +++ b/x-pack/test/api_integration/apis/uptime/index.js @@ -15,5 +15,6 @@ export default function ({ getService, loadTestFile }) { })); loadTestFile(require.resolve('./get_all_pings')); + loadTestFile(require.resolve('./graphql')); }); } diff --git a/x-pack/test/functional/apps/uptime/index.ts b/x-pack/test/functional/apps/uptime/index.ts new file mode 100644 index 0000000000000..ffe0d41d32aa8 --- /dev/null +++ b/x-pack/test/functional/apps/uptime/index.ts @@ -0,0 +1,16 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { KibanaFunctionalTestDefaultProviders } from '../../../types/providers'; + +// tslint:disable-next-line:no-default-export +export default ({ loadTestFile }: KibanaFunctionalTestDefaultProviders) => { + describe('Uptime app', function() { + this.tags('ciGroup6'); + + loadTestFile(require.resolve('./overview')); + }); +}; diff --git a/x-pack/test/functional/apps/uptime/overview.ts b/x-pack/test/functional/apps/uptime/overview.ts new file mode 100644 index 0000000000000..793b55a3d8cee --- /dev/null +++ b/x-pack/test/functional/apps/uptime/overview.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { KibanaFunctionalTestDefaultProviders } from '../../../types/providers'; + +// tslint:disable-next-line:no-default-export +export default ({ getPageObjects, getService }: KibanaFunctionalTestDefaultProviders) => { + const esArchiver = getService('esArchiver'); + // TODO: add UI functional tests + // const pageObjects = getPageObjects(['uptime']); + const archive = 'uptime/full_heartbeat'; + + describe('Overview page', () => { + describe('this is a simple test', () => { + beforeEach(async () => { + await esArchiver.load(archive); + }); + afterEach(async () => await esArchiver.unload(archive)); + + // TODO: add UI functional tests + }); + }); +}; diff --git a/x-pack/test/functional/config.js b/x-pack/test/functional/config.js index d73a24d583985..5f7d011283d32 100644 --- a/x-pack/test/functional/config.js +++ b/x-pack/test/functional/config.js @@ -22,6 +22,7 @@ import { GisPageProvider, StatusPagePageProvider, UpgradeAssistantProvider, + UptimePageProvider, } from './page_objects'; import { @@ -52,6 +53,7 @@ import { AceEditorProvider, GrokDebuggerProvider, UserMenuProvider, + UptimeProvider, } from './services'; // the default export of config files must be a config provider @@ -83,6 +85,7 @@ export default async function ({ readConfigFile }) { resolve(__dirname, './apps/gis'), resolve(__dirname, './apps/status_page'), resolve(__dirname, './apps/upgrade_assistant'), + resolve(__dirname, './apps/uptime') ], // define the name and providers for services that should be @@ -118,6 +121,7 @@ export default async function ({ readConfigFile }) { aceEditor: AceEditorProvider, grokDebugger: GrokDebuggerProvider, userMenu: UserMenuProvider, + uptime: UptimeProvider, }, // just like services, PageObjects are defined as a map of @@ -137,6 +141,7 @@ export default async function ({ readConfigFile }) { gis: GisPageProvider, statusPage: StatusPagePageProvider, upgradeAssistant: UpgradeAssistantProvider, + uptime: UptimePageProvider, }, servers: kibanaFunctionalConfig.get('servers'), @@ -198,6 +203,9 @@ export default async function ({ readConfigFile }) { pathname: '/app/canvas', hash: '/', }, + uptime: { + pathname: '/app/uptime', + } }, // choose where esArchiver should load archives from diff --git a/x-pack/test/functional/es_archives/uptime/full_heartbeat/data.json.gz b/x-pack/test/functional/es_archives/uptime/full_heartbeat/data.json.gz new file mode 100644 index 0000000000000000000000000000000000000000..03d1037142be525a50e04aafe4c60fa91d658ccd GIT binary patch literal 456984 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

b+ta+?*jv!TlrOHuOsTR z<>`7-Z4sFrSGZ~XP#QyYvdutO?oSqPy9ODU67~C86sq~Cx;-!TPrqZRnnD8}byq5c z&pFMM59O%!%X)segze2yl>r81C$1F^^B^0c3eV+a)lebmGyf-v zZMz))eJo(Lq&lbLzns+|5G?EhDUX4=Zf;)c({+q-0UAI`2|FEs$y?YcWdwl2I5cgA z^VK@`BZyZq>h1xg9=Qn(#aI`r6H;07z&fW+7yySIrFXdbRyJV|>~EXbAsWc6Ra|VE zDCGuM(m`<5JsH36rP}&{Yrqp|VWAIr!3{JC9z?|^6Ey;rU(MUv`ay=as*SJ2(ur?; z**hxS_{z+oyUNB-(y+)jOk6sT#umj~I=zw}1~47i@i?5aQ6e#5Dgi>RtGl3d>lufV zObqZ~FhtaKppX}0rW={a>3sw*#N^}HZXdp1ez-q=|KH#L_1oWm|DRv}`R~7f{d}n0 zFK)Wvdb;7r+n-PK%C_u}3=M(-RJsF{v_)kfLa;?5gD&Axp1v-de^cmfe(Y!LN&5`lL#z3A-`_(I2{lJEF6lgg{1nh#$xvOER(Z?r6H#`MdW0IsQ(z48mD z{|r?eIQrzkjdE1K-?&`E_K)BG_)lt)h0}QxryE6VQ(Vk=CE5LxMTvH$-{x!eaI=7* z;%x)R4oluP4OY|b8m$B=k0pbRx%4{@-=(QA=tb1Kd6&F5luCoJ0KR^%4nF!n6C2|> z#38AAd|&gw{qv81>@Rw7&%YXm|2O>;-&eM9i?RJfpDPOYi=DazcE1>Lt4?f;SzW>Z z{qIe=`@RO#PxIS<{xkhfr~mlx-~P{UzyIIg{`Oz%PxW8(iTy89@L#|Ezkf}i;P3zV z`+wcQ7Jr)oBH?{*mEF#;0Y19@_#>h*;AtooMp6#5W{JFY(a7tRm+AbEaN2rkIx{jS zt?(dkR&Cgs1W)RVAoz3rbs$h8*$;ZXr^_b$OiCvH3gNBpTBRr|_sygD69)r%L4U^$r=N0?KB_1e0ABD0rlxdlk+Ds)V)z4AKGX%3ZC}I&|@~4&u}XN)$=0ycQ!Y4V%2Os^BgkW$!z1 zxzSv@*BR>mJ(sdiVyAaAX{~|WVE`;8$QPg_5?k|)HzmkbNcuu?)4>;P}WGm@z8 zDH=ULn;R$4a{{)ScN;txk+9LuNK#RCy^w@0i4-hbh^E_vN|Q3Imy8&YG%wK>yF%>A zP>cMiDgaD_*~x38_+KG&dwMq%W?b+ug9ZB*4u41CcpLInI&oE9oVaRKLh@M4+TLI* z3*D>0R_CTSt}X4bICsP;F|AMLx+O*!u*xs%xL`FseSrn09Z7Z!q`v2zIA2ciM0sV( zMO)cAIvw*ml0AmP%4{{?Bu0JWhO;MAQYkUwGg)d?pxvs1{Whg|Q>2g8Ww$pSIfW(w z`tGTc&sAIXJgQ*6j%v4!=rGlz0dJQ$uu{xI{Htx)9T0yyN00}%Qv7jLujd@}VpU!1 zGqdaR0(z=<$b!U+U>Zk5>9HZrQ71%`aLQw64A{{!nZHNp^b*k-%`7YtFUn*VV+5>r zHOfR(wlF=8wYo`l-?ebeR7qFaj@gK>+et_2W^#&i?O6Yi@4?>wK_>^8Hw3=wsIm^0 zG=Vj%PSFsqrp=x@s-yr%m>k+!%Uwta=zmmQKTE!A3Fs$IC{Xx1Ckdmhb^+XHD4Tx~ z5fh+ztHy~uRA(iu#Cc((2W8Hubv#II_k8*$Jjiz8!)&{F2SCayM5KgtzrG*Q+srUvPnq(w(QjoX3G_`XPYxJ#G29l#raG8_bK&`|GJPlxiKK~@y7SI{jgl(Hj7Kn4r zDxWD@Ljc}M8~0i^4jUUi&Gq`^Ga6BckX2g-O_o0Rqs&EkQ)-iSR+Oxc)5X7?pjya4 z-Bv7TEJec+Qd9tss|YrCq~(Mr@r25kcEjRR07V0YYVt0W0bX}UZiQ)}$pvvHWvRV4kXMNYU>Rp>Fi zS5&k!S)>bZ56|PbuVjiwm63Y!LO>aSMx~C>s0P?E54w9yv+wLjU(9nV4YgwzxFBs= zaH~&DmqWwzz`i>N{kad$O-HpjL9o(p)1xnx`OD8!=bG4IG{0s&8;)c$1v7=JDxMlz zsVOFJSTZ~yb`)?xtplZw<>U2Wa)#I=+vDk}7ce==fU3%vK&4FYHxBne=1@hn($?t2 z)24kGI-Opy1}}Zv1uOUzT357Sz5bop9U~KbNasHn*RX#(cV@|UXG=Z;e!QKt zwH(zU9O<7j2BtmSK?j@*f`ku*i~DbSNyqGTU7Hhe)2!=r>fkm@2fXE^Z}LpNL0`vx zCF6`t@n4ULHAY!Ini1 zBjI~6Qulq3!e~i$DIZ;sP~}m%QrFru<;bm zQ1M1n&Bdv6)!<#IQ)Dz*0~BJ}9q0Lxq!Z${Q){9PHMazUZK9V8uu3iBa} z!Rwd{`l=XVsU*kD$d)!ZJjeGO)imsk*4ibiZ`aLO=aUAAUh8O7klf4|i>5^mK??Ll zkDPs6$Bqt%)lId5D8m#QStz%98Q&3-F?LxT1f}X*IBb%IUBs{NO}W0Sj2<$`BH{KJ z?jJ|Bf>~z77;f2sjuY_dGBgJL7z&&v2s%LkY?8u#TnRaqo~5NfX_}a2D2i*|V$V#* z?y|8*jC7;kyaeiEt&F+^EE40FP?0^0#Hdhv&(=h}h;+h>$N)L)MHp<#@ET^vc9h|@ z5y~&?u3EZlYEm^e2&6eg&n;Y47ks}rUCJD%P0!W>_i)-q6`c$<$d)!J2_GGU)=2y= zi@D4BjumAeBfdMz6{ zlkTI&c$PSi&ehWd;~!FGJhiS<+cMx!oVW%j&OAp%iu^;|Fl8cwP7o2aUju{#>6kG_ za4JWO3sq;A@b0b2OI-Sv4ga;$+_tELoZiY7wPM{ExP2XBc`{y#u_Om z$4(=;lOl~-`vt+>+Sz$x!UR-i>f{AJOyIbmwzOa9LA!_4Fpt zR*`Qzs<#UO1|c!+&r*^$s&PvjElk@E#m9p3STd23vfEMp@JxhGX zY^CL)T0xpUj10>%W2f^ltm>?3^90J`*ltBG8%KK;;WE0KnQoo`s4PGuzU8HN#W{2( zXy=?iTFl8FD-s&DNeQKv@TXWaDGyGDoZ+hl`KyM-?#s5(oW*hF6IV=48z3A!q4 zx6ASz%Zl@ zI3@*BfUTMO0sEL#F6Xr6!~M$zsa)u-?!2@6w*NapYCvm?wF=kjrLH9t^mZ$t&$### zX|!e;KQ41CxaW;aJ0o$B-T|nsSy*gx3DoftI89s@q!KuP!K9OUs$ErYj(s=N*EZEq zB=g2=T@|mJ=dj0*=DhB)ThmdX_Hs=<`0mlhpo_SYs-G!KCaHMC?=x*#Atz;V@6aNr zt@2s#tn#~Bpc(;pNzw;2OUI-0X?TP-G&1RwH%~|xQ_EIv@{J`9~{BtMSoJ9uog>Nyh&o~hEQWw$I(HwiKaXwpu~kw8mU z@<^I3a(#Y7UbWz9y3!%kXfkP}2gvcw7Cg#_F{Mc(2u1GFEiLIei|ev2ZP&u_t-Iijt-^JHE}8Gr<6p>Sv6TV2Gq%N24fwFswssY(fLk5EN6?@$?Fd zH=vKR#Rmy-tE)JMO;Zd*2HI+8~XTGN8VR5xnnsiCE zBkk~ZzH7RgSx2JDKY&3m`23UgE|78|0CU{Er!EFSIs{$%#ja(;$NgweAQnug0HJ-X zc27ufu<{tI;^NN`f#MYvL-7@iEPva)8gkAvgdPpVZZjfu&18-bBjop?rv*{YjpLWo z29Qk7MhqZRTAwA8JBGEO_9B@U&?w2OO)!nr%6m%B_hqEB!<(!})QKlPNk442BIQgQ zEG=gj=9Jk}DV;T?7G3`U)<+1AZ}&RZP@Ser6fl{GG0FhzAP!;x>Eh_-QFBLbJl1y~ zRjfX$taNZx?>n5R^?s&^9#vGf7;k$sg#04n)ICSF5z_?9J)eF8J>}b{sa-GHJ~4hq z3*PE2Eh=OP5y0=K3kP6S!mMEWag2>(n4mgeU zB$e5O=4%a1(;%S-tzY3q9%|;c5A{Q)+}ER8&JkH4%i@jts`Cr#5D0!s7{q-}1u)8^ zHKuW#?jdFq&;e7Vs)St;DJ*uHWSy4+H*PPlWrtr`?C!aF^*%q=D!Zqe9P;9-hss;w z);MQRcE(hmEL$kmhid+`GOr`Y#Z2j@c2SHra=ZkM26huZbke6aWmK%;l&|48UCN?` z{BsBCYpA73l7Q8wXiOtsp`JS_Q6gm&$*U-;pNi$xL@E*x<{`XA23^|6px!^OEeQ&Z zgG}c35tq4UPm9(5wt+8gBx*^vIrGe660@;-SqjMAZz_%eoXhCIS%c%Y9dZLXXjJkA`OXh>ctUY9keq~03xq`$NhO?U8@EUL$My@kmU{& zfvM52fnA@eerQnFf4xHywl;+SAAY2y|pU%*__#)Ck* zCxLSBG-Q-X^>$fBEV$_)f!)XfkF(&meeJe0C}P1Kw#%9$P5Z!kUGKTBXOi%m>{^=L zpqD6RNxFQKuL&uYi7y%+wH;&w(UqTvutP3lu0wl2s{0IdIAu5;0#voeFpA47(uHHo zGi=Pd9#y<3cw(sAUnvq8h0eu$S=KqcO|5dgbWJkh7&Anp|9Vuvo75I*=v#XvvY?{| z7d~bFs=*tHvX4g3eMq=igXtf`z_a&OMhcN%BZ88BW0`RE2aZZ>Vrj z-=0p@+}XOkboB}AeAwhL6^?H+=)2l@qY{w#>F$b_h@rlNz>}Z%^7+xa&I&$^`Ic{S zYqLNsGT3M0Z9i zC&A*5%XjyjI@DIW$}0AVO$e?op=p&ZFk?hzTSg<2SJ_gco&k>n60WriBQ=RRg?1a_ z0vgf4)=|#5AVK&3=B-m|VDz_?4pQ;cwMwW2r*^Gz-1O0J@XTJ3C6&4vif5bWA2;J5 zVGfpgq#{D(0dku|Z?X%$dU9L* zahsDO>%QxOHq0#O9;y(4&8ld#L^?E|8o#%vFI_MW^(r5vf43}mN%s(MYiI&MC{MRT zEQ<00cSK+)S{!{MI~iDMD@k{!FPKaV(7=lhBY&^c%%<09zv+^F zME_XU->WZ6P9gWTAfNuHzXEPLi(=-u7n^SaFT~OkIV8MSlC?*Ion9iT<3^eB;mJSR!Iiw10xm;Hn08MdGYef%cSBb)NQ9C~a+?yPW7+IE=J6JMLA`xU&Vn z-;h;;p3d@nAvf28_T|kmbMGh4?zJYj1(}XgC>nbWlgrQ#4jYwJ^FT3V{G>-Smos+k zdQ{y$Zt%G-kX4@o*9^!^T69w`q675jS+dn{Cztpe)JDF$nkv`qQ8Q7{%)ol70^fA{11zztA6Yw=3z$~`x)(1i+&Xu)8# zm0}$jT%gBa?D(QcU%`D5Hgj>uhAl!p&5Y=znbGJ}+fmMLC|oy1jeuTmwnqQ*GG(Cm z^#?1xVn2JlXTlVw-z)DcrC9o6NF*o=TsztF>Kfilwo5m90S9*Z_P;4UIE5t zv=Lx7r?rk6L@v)zwcngzqqMt>8WhtT;S4#I`E*rljMa0Q1)+ZYQUN{eK*|r$d^4;D?R%nCpDui zt71+a%mkoCSN*Hv8dM4X8}YBo{;K`-zwS0Vn+mewWelP;9)OpTLLiMJcPR~x%xrC5 zcnUK#v^2vjXJ+ZlnwFEGYKBozxMs)&x*axw(pgt`@!KE&Nvwnm3QX`f z6!i+bKeb=*%<3p<_w1)ndT(eH-3lYwS4CFIKly%eq2Dh^FO-tCW7!TunwecQMOtn$ zN)X${$K+t}bF7U|qq32j;}F?S@^%sPTT*lyTzq3k@y<}g>eCmPsDsji^AD#(t}gPn zM6ayb)Wk6oo;8E}i2kuo4DhiRfrE5!U2i$5#v^cE2s#Kdm$x%7$(|2`Nk`#Zfz{~@ z-4=OgJ&)>=acrxcX%XE1^J)A`29q)L%%*P_vi+Ph(&trLR2#LKk5~oV9C3_mZfxG+ z<{iiljb4p0guuA!hMHM{f-`w5&`(>Q7c0JB(cTILPYIKmW5~?6#Bkg7s^})aRi72kv9T1=&TFLqi7jyTo0a5IszMIhjMRqJH87tM-e`J$O9as{=8v7ixfQ=JD$qFk>_qo}AFSH}Pd5>V? z#b)3tAIv>|xCV!AjpL?oCe9a5q=_0PlunVIPH~>P8f8Kh5WF*vjLz7_1*@gErnDkS z@Xpcr-JW}^SSbWE=G1g3zmlicEB9Q#<;$Ub4?Qm0cvb}0AChg3QlhP@%ZaNo|WbnYn{ zcaLh1C<`@P5>3XIY)PiS84CHFtpjn((kg*O$2y?tI}fisdcTkrw|Cw%rfj|)(E&|-SryElvp6l9D zLwGVO%fL;)F=!UK_K*x*M3uvW?>VX=f2jf~FOQ|13B3Chnj?6AGi)9T@{HdB*=zK4 zR7ie(f&B0u(_y24vn=vyesm@gx{@&4n9h_nl5a4waV((u)A3aHSo*~4o#Aez(j+MmJUhndSli)>lAvt~PzDb-oUH2Ux5d$G!Qt3YPva3`;D&?y^ zQV(J+jl+o3+;dbP zMO?jjCvlO}22RcNDgJ7v)pe-RM3GQX35zoZ?@{tNvrcOi5(dd=qmG%MZO6ZQdz;N@ zSQ>qEBx3^|EL5B>^Dq?YvR^F#a3 zfMuCNl4L-Wh2B%U^h{)_Rs`-vb9|VZIZKx*yCJkhKH4=o8*iGlVI?^OX>YyYJ~m5$ z+WNk?B%E1eL%x}G^D7y-4F=d@b_>Y?_SEL>o-3IKU!7ig1>e1C)o4^lSk=I5D|mvi z`sP`6?Hb#pceY+l&Grek4&oRJBnC_Ew2_)ALslOfALHe)sb@Y}W%t8hbI<%uW8_uz z$%`am+|)$B!PYTd`4+9NT=}A4q%vR!VcmvQ*;Jwc0ws1v5^>EdO~OhD9jm;%Y9;A* zIGQc{y}0#5=xtNvS{2BSN*#|Ms3Ia?PwdqYZ0IlCPvo%ekmz~}wewUSllrHRFuLb~ zt9J5ZgDb~m1Sh}aOjxx>0Kb`&Upv&PBeOE)ow+16zr6ZMVs}n}2Q>Yk#BrLxU?_a$ z1$H`XuWfWZaA`l1nVjDBp0oNghkG9(>bY~@@2w4>bZs-Hc&FalX;ym0mtqzuAz^3` zjP1u!ZGt&6aQBGzx2edM91Y9yi4FSHIXQ8KK8>s^ z1P~;6Og)-79kh0ht4R1TPG>hoee1^Tf2s?plIk2)61bhw(_t2{TfT{QfZ~OP?-3ib zzC#y0!!KYE2e2Bh3`PoNFH>oDnKXq{t=&?4eje32Zp0G>XxFp}a7bc*z$W)+li zMv8WszTiPHQs>4d!6Kb_Pk;{T^o~|P_nSk`iS)hOx>?Cfatz z|FXL`{!cmK}@&r1&N||k~d5Z znaYru!VlV?))OqxL1Ujv&Wi@2L2AV#2chqqcacvWfhNuoajRWC6O0yJO=u~{%#1;8 z%MHF8wT45@LN%+{m+G9Px5}!00`xkXDe5T&Jt|`*iY~A*N`fA>rvgsD-D{e4dUljy+X5YZx<|5LM;RHRhnkb)Xgq-L^+M!w-$zQdTam6mbb&kwq_BYk(r< zh44C>egk^nG+)Q0Bqnm1hpUY5c~jlEeS0^KCqa$tJWF^xFuhISRs@mAU?x&+_+B;AI$ z4Ptmu(a&ju&jB!}p!7}^h67v&Mwb~oRxg8CPh+E$65ysz-wAynX}1czw^%ii##-Nl zfKf8_gOCwV55p*#n)JqulCHV&>Z@>6IYwGC@sDSuaBWyfp7&?aJ%a_AbJU@|(P+=3 z3Z`Sm@l$%jGtP@zR~dm}$VzDouLIjtMCx&>>W`!P4r{?2MGuuL%zPW%4LjBvp|XmE z*2qp{k(XsAs~~l&a{=vD)V}c(Fl}NG53t&kU*qN&2&$%T021v$xtn7Re-uAgVee(! z2evw9X+~f6K4RHQ>-8zi#a*#a^AV$+Gi(rqCuazc;ziN*sJgGC`sVxEX8q=6jT25& z&dJ8K{k7l(lRiW;uGdobEAAV``A(SM~D3yo_<6;%=TnvTdxh zGKuZ96Em|M3FIdzf+$n3a2l#3MMZuJXDO>U-Mp?0tU;cRL!q@s>6b0b;#5$_4wNqe z#xKG2FM820PxEp;_AEfR1kCSe8}OC);~ekE%^bz_&>`KP%GCQ7WI0l6B>E`333q-s zF%HJlgw5#5R{9H{idd80P>Z6LlKg0XOu)M1b+d{F9e$|mtI zk+L=~w$#3^q0xq;21A@8uh>rxWI&zqgx03Hc%ylN8gG{+bI-C-pBhgp__gNuABqzG z6PLo#=`Dg5BMo!KBGs1-Hs3@QzD)|=JxBE?^Flxjr$U>uR;mHSn&5#`eXQ!YfQhlL;cATR#v3jIV#+mK_q4`2 zQ`KN{A#V^jOAL`oT4btPIJ(45RqI%>uid=+RINY4RJB!$JctOsJj{fVL{@l2u%l8{ zo6t$No6{H8J^X%S7>0Y0pY=tjY2iIDI!aW@#tbNHPVp)$dQ)1m&JQD8w>3xO+~4w% z2Dvlfi69)+BL{Nzce%#ew48Vd=49r8(Rp8$4kVJH$Ra~z&>_|*P+(vQb)G;$z8#;v zq6mBI&J^L>_)en~;qFIO?(?$~Avx5z&*AAMXpzoia#~!Qzvy4qlL6CCHgV~)ydLIf zT-tHb!M}adz2VibrCri}z1fg;mc&($2Xumu2>|MFa3H6kfN3z27b+&g*@{zijrD&j zXSkE|MR_;zITT+u(lMOFCT=>aH`ei?=-2zRl+GnL`k0SYlISSQMH2fNFE3}*BB|Z; zK!R;LFa#ze;ySVF8faL=#pmrgvjna3l8QNH=>$hvwE-$Erg;EAiOTYS_X{;W- z08k`$nV`)<$F^d_Hs_U#Qi^SYGhi6K$c3_O1U4ms&B7U_wAVqN@kl@XIMUN)ui=vk zm*vs18hKF1M|OcjP7}vRnR%Ufsf{HkF|REWNz7}n1Lif*96T#iX0j>RjD|DM@^x9= zQTVZvUTw^n@A%kCp@Aw&nnVrG=)&B>%cG_1%?&LwNH^R$WrYBksj)GErw%x@MxT$C zehyc0`pjnopm>F-qZ>Q*+Fi=;m36C8%#VFs*Qzncp8Ddd(P;61qn1$m?yIUsmE7H> z{0WA#D`K|Uqq;DUZ?oZfdEmYXKh^Y}?|=HcEY=WNlqziA3K%5m-pz^JZ_Qc@3u`uE zZ-yS0-FB2o!&-T{dCQW=h?L!|7LSw1N z&y)a8PeJpQwR!pt<*nr2Vd32bgX!viIz#jNoTPOSR!$Xm#ayUB>K~Ohb@06F-_v~$ zonpc~rm8aS6j8Ajk9RHJm>;v&YCopEe5x9B8-u3-29{>)@5d;jmZM6i44$6idfI5N zPG9NO1w!_`Ihru+NrIYIceg+q8;mEj_@rj5luuAg6OzDkY10KG|bkCI>`x*_hRLd{+&Ac5MBws0n*H{Y=vN1kf-54~> zO^e8jQ~W+-P5y~52w0L^0GwI;r%Y%1SP2v}d5pHaC!1zBJ9@@LKkkwSYbU}w31G|_ zfV}g@nb0EzRG9cKvrojvImr@?`O#`TiVt+{4A&-0#T!$@Qb3+_eaFmFVgJRT*fld-%T;Ex(0An; zY!a}RCZi=ULbM>W_-2>be3DPj-StQdvN;B&VJZj0frzaOf@=rbE$FzSSUk?Y8cutBCd{6SyT!L?>KDlEuZin7vgw

vM**!O} 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 literal 0 HcmV?d00001 diff --git a/x-pack/test/functional/es_archives/uptime/full_heartbeat/mappings.json b/x-pack/test/functional/es_archives/uptime/full_heartbeat/mappings.json new file mode 100644 index 0000000000000..e880fbec4efa4 --- /dev/null +++ b/x-pack/test/functional/es_archives/uptime/full_heartbeat/mappings.json @@ -0,0 +1,535 @@ +{ + "type": "index", + "value": { + "index": "heartbeat-6.7.0", + "settings": { + "index": { + "number_of_shards": "1", + "analysis": { + "analyzer": { + "url": { + "type": "standard", + "max_token_length": "1000", + "tokenizer": "uax_url_email" + } + } + }, + "number_of_replicas": "0" + } + }, + "mappings": { + "doc": { + "_meta": { + "version": "6.7.0" + }, + "dynamic_templates": [ + { + "fields": { + "path_match": "fields.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" + } + } + }, + { + "docker.container.labels": { + "path_match": "docker.container.labels.*", + "match_mapping_type": "string", + "mapping": { + "type": "keyword" + } + } + }, + { + "strings_as_keyword": { + "match_mapping_type": "string", + "mapping": { + "ignore_above": 1024, + "type": "keyword" + } + } + } + ], + "date_detection": false, + "properties": { + "@timestamp": { + "type": "date" + }, + "beat": { + "properties": { + "hostname": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "timezone": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "cloud": { + "properties": { + "availability_zone": { + "type": "alias", + "path": "meta.cloud.availability_zone" + }, + "instance": { + "properties": { + "id": { + "type": "alias", + "path": "meta.cloud.instance_id" + }, + "name": { + "type": "alias", + "path": "meta.cloud.instance_name" + } + } + }, + "machine": { + "properties": { + "type": { + "type": "alias", + "path": "meta.cloud.machine_type" + } + } + }, + "project": { + "properties": { + "id": { + "type": "alias", + "path": "meta.cloud.project_id" + } + } + }, + "provider": { + "type": "alias", + "path": "meta.cloud.provider" + }, + "region": { + "type": "alias", + "path": "meta.cloud.region" + } + } + }, + "container": { + "properties": { + "id": { + "type": "alias", + "path": "docker.container.id" + }, + "image": { + "properties": { + "name": { + "type": "alias", + "path": "docker.container.image" + } + } + }, + "name": { + "type": "alias", + "path": "docker.container.name" + } + } + }, + "docker": { + "properties": { + "container": { + "properties": { + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "labels": { + "type": "object" + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + } + } + }, + "error": { + "properties": { + "code": { + "type": "long" + }, + "message": { + "type": "text", + "norms": false + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "event": { + "properties": { + "dataset": { + "type": "keyword", + "ignore_above": 1024 + }, + "timezone": { + "type": "alias", + "path": "beat.timezone" + } + } + }, + "fields": { + "type": "object" + }, + "host": { + "properties": { + "architecture": { + "type": "keyword", + "ignore_above": 1024 + }, + "hostname": { + "type": "alias", + "path": "beat.hostname" + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "mac": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "os": { + "properties": { + "build": { + "type": "keyword", + "ignore_above": 1024 + }, + "family": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "platform": { + "type": "keyword", + "ignore_above": 1024 + }, + "version": { + "type": "keyword", + "ignore_above": 1024 + } + } + } + } + }, + "http": { + "properties": { + "response": { + "properties": { + "status_code": { + "type": "long" + } + } + }, + "rtt": { + "properties": { + "content": { + "properties": { + "us": { + "type": "long" + } + } + }, + "response_header": { + "properties": { + "us": { + "type": "long" + } + } + }, + "total": { + "properties": { + "us": { + "type": "long" + } + } + }, + "validate": { + "properties": { + "us": { + "type": "long" + } + } + }, + "validate_body": { + "properties": { + "us": { + "type": "long" + } + } + }, + "write_request": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "url": { + "type": "text", + "norms": false, + "fields": { + "raw": { + "type": "keyword", + "ignore_above": 1024 + } + } + } + } + }, + "icmp": { + "properties": { + "requests": { + "type": "long" + }, + "rtt": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "kubernetes": { + "properties": { + "annotations": { + "type": "object" + }, + "container": { + "properties": { + "image": { + "type": "keyword", + "ignore_above": 1024 + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "labels": { + "type": "object" + }, + "namespace": { + "type": "keyword", + "ignore_above": 1024 + }, + "node": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "pod": { + "properties": { + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "uid": { + "type": "keyword", + "ignore_above": 1024 + } + } + } + } + }, + "meta": { + "properties": { + "cloud": { + "properties": { + "availability_zone": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "instance_name": { + "type": "keyword", + "ignore_above": 1024 + }, + "machine_type": { + "type": "keyword", + "ignore_above": 1024 + }, + "project_id": { + "type": "keyword", + "ignore_above": 1024 + }, + "provider": { + "type": "keyword", + "ignore_above": 1024 + }, + "region": { + "type": "keyword", + "ignore_above": 1024 + } + } + } + } + }, + "monitor": { + "properties": { + "duration": { + "properties": { + "us": { + "type": "long" + } + } + }, + "host": { + "type": "keyword", + "ignore_above": 1024 + }, + "id": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "name": { + "type": "keyword", + "ignore_above": 1024 + }, + "scheme": { + "type": "keyword", + "ignore_above": 1024 + }, + "status": { + "type": "keyword", + "ignore_above": 1024 + }, + "type": { + "type": "keyword", + "ignore_above": 1024 + } + } + }, + "resolve": { + "properties": { + "host": { + "type": "keyword", + "ignore_above": 1024 + }, + "ip": { + "type": "ip" + }, + "rtt": { + "properties": { + "us": { + "type": "long" + } + } + } + } + }, + "socks5": { + "properties": { + "rtt": { + "properties": { + "connect": { + "properties": { + "us": { + "type": "long" + } + } + } + } + } + } + }, + "tags": { + "type": "keyword", + "ignore_above": 1024 + }, + "tcp": { + "properties": { + "port": { + "type": "long" + }, + "rtt": { + "properties": { + "connect": { + "properties": { + "us": { + "type": "long" + } + } + }, + "validate": { + "properties": { + "us": { + "type": "long" + } + } + } + } + } + } + }, + "tls": { + "properties": { + "certificate_not_valid_after": { + "type": "date" + }, + "certificate_not_valid_before": { + "type": "date" + }, + "rtt": { + "properties": { + "handshake": { + "properties": { + "us": { + "type": "long" + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/x-pack/test/functional/page_objects/index.js b/x-pack/test/functional/page_objects/index.js index b42a5dd63870e..058accf9c15c4 100644 --- a/x-pack/test/functional/page_objects/index.js +++ b/x-pack/test/functional/page_objects/index.js @@ -17,3 +17,4 @@ export { InfraHomePageProvider } from './infra_home_page'; export { GisPageProvider } from './gis_page'; export { StatusPagePageProvider } from './status_page'; export { UpgradeAssistantProvider } from './upgrade_assistant'; +export { UptimePageProvider } from './uptime_page'; diff --git a/x-pack/test/functional/page_objects/uptime_page.ts b/x-pack/test/functional/page_objects/uptime_page.ts new file mode 100644 index 0000000000000..de5470f60bc3a --- /dev/null +++ b/x-pack/test/functional/page_objects/uptime_page.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { KibanaFunctionalTestDefaultProviders } from '../../types/providers'; + +export const UptimePageProvider = ({ + getPageObjects, + getService, +}: KibanaFunctionalTestDefaultProviders) => { + const pageObject = getPageObjects(['common']); + const uptimeService = getService('uptime'); + + return { + async goToUptimeOverview() { + await pageObject.common.navigateToApp('uptime'); + await uptimeService.assertExists(); + }, + }; +}; diff --git a/x-pack/test/functional/services/index.js b/x-pack/test/functional/services/index.js index 434384e279a55..5c5fd4173c6b7 100644 --- a/x-pack/test/functional/services/index.js +++ b/x-pack/test/functional/services/index.js @@ -11,3 +11,4 @@ export { RandomProvider } from './random'; export { AceEditorProvider } from './ace_editor'; export { GrokDebuggerProvider } from './grok_debugger'; export { UserMenuProvider } from './user_menu'; +export { UptimeProvider } from './uptime'; diff --git a/x-pack/test/functional/services/uptime.ts b/x-pack/test/functional/services/uptime.ts new file mode 100644 index 0000000000000..ba959db070bb0 --- /dev/null +++ b/x-pack/test/functional/services/uptime.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License; + * you may not use this file except in compliance with the Elastic License. + */ + +import { KibanaFunctionalTestDefaultProviders } from '../../types/providers'; + +export const UptimeProvider = ({ getService }: KibanaFunctionalTestDefaultProviders) => { + const testSubjects = getService('testSubjects'); + + return { + async assertExists(key: string) { + if (!(await testSubjects.exists(key))) { + throw new Error(`Couldn't find expected element with key "${key}".`); + } + }, + }; +}; From 737af0575a667c46a107ef432c3c8053c5675ac0 Mon Sep 17 00:00:00 2001 From: Justin Kambic Date: Sat, 26 Jan 2019 01:43:39 -0500 Subject: [PATCH 04/58] Add HB 7.0 data for API tests. --- .../get_monitor_status_bar.ts | 29 +- .../elasticsearch_monitors_adapter.ts | 4 +- .../uptime/graphql/fixtures/doc_count.json | 2 +- .../uptime/full_heartbeat/data.json.gz | Bin 456984 -> 193237 bytes .../uptime/full_heartbeat/mappings.json | 1201 ++++++++++++++--- 5 files changed, 1061 insertions(+), 175 deletions(-) diff --git a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts index d087e5a785127..d8c6104e287dd 100644 --- a/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts +++ b/x-pack/plugins/uptime/public/components/queries/monitor_status_bar/get_monitor_status_bar.ts @@ -8,23 +8,22 @@ import gql from 'graphql-tag'; export const getMonitorStatusBarQueryString = ` query MonitorStatus($dateRangeStart: String!, $dateRangeEnd: String!, $monitorId: String) { - monitorStatus: getLatestMonitors( - dateRangeStart: $dateRangeStart - dateRangeEnd: $dateRangeEnd - monitorId: $monitorId - ) { - timestamp - millisFromNow - monitor { - status - duration { - us - } - } - url { - full + monitorStatus: getLatestMonitors( + dateRangeStart: $dateRangeStart + dateRangeEnd: $dateRangeEnd + monitorId: $monitorId + ) { + timestamp + millisFromNow + monitor { + status + duration { + us } } + url { + full + } } } `; diff --git a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts index dee1d7a4a3cdd..22f1817e75830 100644 --- a/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts +++ b/x-pack/plugins/uptime/server/lib/adapters/monitors/elasticsearch_monitors_adapter.ts @@ -354,7 +354,9 @@ export class ElasticsearchMonitorsAdapter implements UMMonitorsAdapter { port: { terms: { field: 'url.port', - _key: 'asc', + order: { + _key: 'asc', + }, }, }, scheme: { diff --git a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json index 096e326f976a5..63066b02059d9 100644 --- a/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json +++ b/x-pack/test/api_integration/apis/uptime/graphql/fixtures/doc_count.json @@ -1 +1 @@ -{ "getDocCount": { "count": 10000 } } +{ "getDocCount": { "count": 2720 } } diff --git a/x-pack/test/functional/es_archives/uptime/full_heartbeat/data.json.gz b/x-pack/test/functional/es_archives/uptime/full_heartbeat/data.json.gz index 03d1037142be525a50e04aafe4c60fa91d658ccd..23f45960fcebdf44edc6ecc57bd9f844d4c0d1c2 100644 GIT binary patch literal 193237 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