[Synthetics] Refactor cardinality test runs query (#166608)

This commit is contained in:
Shahzad 2023-09-26 12:12:24 +02:00 committed by GitHub
parent fd1a1f93f3
commit 59c5eb0988
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
11 changed files with 31 additions and 28 deletions

View file

@ -858,6 +858,7 @@ export class LensAttributes {
dataType: 'number',
isBucketed: false,
label: label || 'Count of records',
customLabel: true,
operationType: 'count',
scale: 'ratio',
sourceField: RECORDS_FIELD,

View file

@ -14,6 +14,7 @@ import {
PERCENTILE,
ReportTypes,
FORMULA_COLUMN,
RECORDS_FIELD,
} from '../constants';
import {
CLS_LABEL,
@ -124,8 +125,8 @@ export function getSyntheticsKPIConfig({ dataView }: ConfigProps): SeriesConfig
},
{
label: 'Total runs',
id: 'monitor.check_group',
field: 'monitor.check_group',
id: 'total_test_runs',
field: RECORDS_FIELD,
columnType: OPERATION_COLUMN,
columnFilters: [
{

View file

@ -103,8 +103,9 @@ export function getSyntheticsSingleMetricConfig({ dataView }: ConfigProps): Seri
titlePosition: 'bottom',
},
columnType: FORMULA_COLUMN,
formula: "unique_count(monitor.check_group, kql='summary: *')",
format: 'number',
field: RECORDS_FIELD,
columnFilter: { language: 'kuery', query: 'summary: *' },
},
{
id: 'monitor_successful',
@ -114,9 +115,9 @@ export function getSyntheticsSingleMetricConfig({ dataView }: ConfigProps): Seri
metricStateOptions: {
titlePosition: 'bottom',
},
columnType: FORMULA_COLUMN,
formula: 'unique_count(monitor.check_group, kql=\'monitor.status: "up"\')',
format: 'number',
field: RECORDS_FIELD,
columnFilter: { language: 'kuery', query: 'summary.down: 0' },
},
{
id: 'monitor_errors',

View file

@ -54,6 +54,7 @@ export const sampleAttributeCoreWebVital = {
sourceField: 'user_agent.os.name',
},
'y-axis-column-1': {
customLabel: true,
dataType: 'number',
filter: {
language: 'kuery',
@ -67,6 +68,7 @@ export const sampleAttributeCoreWebVital = {
sourceField: RECORDS_FIELD,
},
'y-axis-column-2': {
customLabel: true,
dataType: 'number',
filter: {
language: 'kuery',
@ -79,6 +81,7 @@ export const sampleAttributeCoreWebVital = {
sourceField: RECORDS_FIELD,
},
'y-axis-column-layer0-0': {
customLabel: true,
dataType: 'number',
filter: {
language: 'kuery',

View file

@ -50,6 +50,7 @@ export const sampleAttributeKpi = {
},
isBucketed: false,
label: 'test-series',
customLabel: true,
operationType: 'count',
scale: 'ratio',
sourceField: RECORDS_FIELD,

View file

@ -18,7 +18,7 @@ export const MonitorForm: React.FC<{
defaultValues?: SyntheticsMonitor;
space?: string;
readOnly?: boolean;
canUsePublicLocations: boolean;
canUsePublicLocations?: boolean;
}> = ({ children, defaultValues, space, readOnly = false, canUsePublicLocations }) => {
const methods = useFormWrapped({
mode: 'onSubmit',

View file

@ -26,7 +26,7 @@ export const ActionBar = ({
canUsePublicLocations = true,
}: {
readOnly: boolean;
canUsePublicLocations: boolean;
canUsePublicLocations?: boolean;
}) => {
const { monitorId } = useParams<{ monitorId: string }>();
const history = useHistory();

View file

@ -32,11 +32,11 @@ export const MonitorTestRunsSparkline = ({ monitorIds }: { monitorIds: string[]
'monitor.id': monitorIds.length > 0 ? monitorIds : ['false-monitor-id'], // Show no data when monitorIds is empty
},
dataType: 'synthetics' as const,
selectedMetricField: 'monitor.check_group',
selectedMetricField: 'total_test_runs',
filters: [],
name: labels.TEST_RUNS_LABEL,
color: theme.eui.euiColorVis1,
operationType: 'unique_count',
operationType: 'count',
},
];
// eslint-disable-next-line react-hooks/exhaustive-deps

View file

@ -7,31 +7,32 @@
import React, { useState } from 'react';
import { i18n } from '@kbn/i18n';
import { EuiPopover } from '@elastic/eui';
import styled from 'styled-components';
import {
EuiPopover,
EuiDescriptionListTitle,
EuiDescriptionListDescription,
EuiButtonEmpty,
} from '@elastic/eui';
import { Ping } from '../../../../../../common/runtime_types';
import { PingRedirects } from '../../ping_list/ping_redirects';
import { MonListDescription, MonListTitle } from './status_bar';
interface Props {
monitorStatus: Ping | null;
}
const RedirectBtn = styled.span`
cursor: pointer;
`;
export const MonitorRedirects: React.FC<Props> = ({ monitorStatus }) => {
const list = monitorStatus?.http?.response?.redirects;
const [isPopoverOpen, setIsPopoverOpen] = useState(false);
const button = (
<MonListDescription>
<RedirectBtn
<EuiDescriptionListDescription>
<EuiButtonEmpty
className="euiLink euiLink--primary"
onClick={() => setIsPopoverOpen(!isPopoverOpen)}
data-test-subj="uptimeMonitorRedirectInfo"
iconType="arrowDown"
iconSide="right"
>
{i18n.translate('xpack.uptime.monitorList.redirects.title.number', {
defaultMessage: '{number}',
@ -39,13 +40,13 @@ export const MonitorRedirects: React.FC<Props> = ({ monitorStatus }) => {
number: list?.length ?? 0,
},
})}
</RedirectBtn>
</MonListDescription>
</EuiButtonEmpty>
</EuiDescriptionListDescription>
);
return list ? (
<>
<MonListTitle>Redirects</MonListTitle>
<EuiDescriptionListTitle>Redirects</EuiDescriptionListTitle>
<EuiPopover
button={button}
isOpen={isPopoverOpen}

View file

@ -24,7 +24,6 @@ import { DYNAMIC_SETTINGS_DEFAULT_ATTRIBUTES } from '../../constants/settings';
import { DynamicSettingsAttributes } from '../../runtime_types/settings';
import { settingsObjectId, umDynamicSettings } from './saved_objects/uptime_settings';
import { API_URLS } from '../../../common/constants';
import { UptimeServerSetup } from './adapters';
export type { UMServerLibs } from '../uptime_server';
@ -287,7 +286,3 @@ export function debugESCall({
}
console.log(`\n`);
}
export const isTestUser = (server: UptimeServerSetup) => {
return server.config.service?.username === 'localKibanaIntegrationTestsUser';
};

View file

@ -7,7 +7,7 @@
import { KibanaResponse } from '@kbn/core-http-router-server-internal';
import { UMKibanaRouteWrapper } from './types';
import { isTestUser, UptimeEsClient } from '../lib/lib';
import { UptimeEsClient } from '../lib/lib';
export const uptimeRouteWrapper: UMKibanaRouteWrapper = (uptimeRoute, server) => ({
...uptimeRoute,
@ -24,7 +24,7 @@ export const uptimeRouteWrapper: UMKibanaRouteWrapper = (uptimeRoute, server) =>
{
request,
uiSettings: coreContext.uiSettings,
isDev: Boolean(server.isDev && !isTestUser(server)),
isDev: Boolean(server.isDev),
}
);