[8.6] [FTRs] Execution Context: fix no data flakiness (#149406) (#149425)

# Backport

This will backport the following commits from `main` to `8.6`:
- [[FTRs] Execution Context: fix no data flakiness
(#149406)](https://github.com/elastic/kibana/pull/149406)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Alejandro Fernández
Haro","email":"alejandro.haro@elastic.co"},"sourceCommit":{"committedDate":"2023-01-24T14:03:37Z","message":"[FTRs]
Execution Context: fix no data flakiness (#149406)\n\nResolves
https://github.com/elastic/kibana/issues/112102","sha":"09c11131271bec1b794d5a472294e6e125116f4d","branchLabelMapping":{"^v8.7.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["Team:Core","release_note:skip","backport:all-open","v8.7.0"],"number":149406,"url":"https://github.com/elastic/kibana/pull/149406","mergeCommit":{"message":"[FTRs]
Execution Context: fix no data flakiness (#149406)\n\nResolves
https://github.com/elastic/kibana/issues/112102","sha":"09c11131271bec1b794d5a472294e6e125116f4d"}},"sourceBranch":"main","suggestedTargetBranches":[],"targetPullRequestStates":[{"branch":"main","label":"v8.7.0","labelRegex":"^v8.7.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/149406","number":149406,"mergeCommit":{"message":"[FTRs]
Execution Context: fix no data flakiness (#149406)\n\nResolves
https://github.com/elastic/kibana/issues/112102","sha":"09c11131271bec1b794d5a472294e6e125116f4d"}},{"url":"https://github.com/elastic/kibana/pull/149417","number":149417,"branch":"7.17","state":"OPEN"}]}]
BACKPORT-->
This commit is contained in:
Alejandro Fernández Haro 2023-01-26 10:50:29 +01:00 committed by GitHub
parent 923a6abc9d
commit c3ca358e34
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -10,7 +10,7 @@ import type { FtrProviderContext } from '../ftr_provider_context';
import { assertLogContains, forceSyncLogFile, isExecutionContextLog } from '../test_utils';
export default function ({ getService, getPageObjects }: FtrProviderContext) {
const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home']);
const PageObjects = getPageObjects(['common', 'dashboard', 'header', 'home', 'timePicker']);
const retry = getService('retry');
describe('Browser apps', () => {
@ -33,6 +33,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
describe('discover app', () => {
before(async () => {
await PageObjects.common.navigateToApp('discover');
await PageObjects.timePicker.setCommonlyUsedTime('Last_7 days');
await PageObjects.header.waitUntilLoadingHasFinished();
await forceSyncLogFile();
});
@ -48,59 +49,56 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
}
it('propagates context for Discover', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: (record) =>
Boolean(record.http?.request?.id?.includes('kibana:application:discover')),
retry,
describe('propagates context for Discover', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: (record) =>
Boolean(record.http?.request?.id?.includes('kibana:application:discover')),
retry,
});
});
await assertLogContains({
description: 'execution context propagates to Kibana logs (fetch documents)',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'discover',
url: '/app/discover',
child: {
it('propagates to Kibana logs (fetch documents)', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs (fetch documents)',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'discover',
url: '/app/discover',
type: 'application',
page: 'app',
id: 'new',
description: 'fetch documents',
},
}),
retry,
});
/*
await assertLogContains({
description:
'execution context propagates to Kibana logs (fetch chart data and total hits)',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'discover',
url: '/app/discover',
child: {
name: 'discover',
url: '/app/discover',
type: 'application',
page: 'app',
id: 'new',
description: 'fetch chart data and total hits',
child: {
type: 'lens',
name: 'lnsXY',
id: 'unifiedHistogramLensComponent',
description: 'Edit visualization',
url: '/app/lens#/edit_by_value',
name: 'discover',
url: '/app/discover',
type: 'application',
page: 'app',
id: 'new',
description: 'fetch documents',
},
},
}),
retry,
}),
retry,
});
});
it('propagates to Kibana logs (fetch chart data and total hits)', async () => {
await assertLogContains({
description:
'execution context propagates to Kibana logs (fetch chart data and total hits)',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'discover',
url: '/app/discover',
child: {
name: 'discover',
url: '/app/discover',
type: 'application',
page: 'app',
id: 'new',
description: 'fetch chart data and total hits',
},
}),
retry,
});
});
*/
});
});
@ -108,6 +106,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
before(async () => {
await PageObjects.common.navigateToApp('dashboard');
await PageObjects.dashboard.loadSavedDashboard('[Flights] Global Flight Dashboard');
await PageObjects.timePicker.setCommonlyUsedTime('Last_7 days');
await PageObjects.dashboard.waitForRenderComplete();
await PageObjects.header.waitUntilLoadingHasFinished();
await forceSyncLogFile();
@ -158,138 +157,194 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
}
describe('propagates context for Lens visualizations', () => {
it('lnsXY', async () => {
describe('lnsXY', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsXY:086ac2e9-dd16-4b45-92b8-1e43ff7e3f65'
),
retry,
});
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsXY',
id: '086ac2e9-dd16-4b45-92b8-1e43ff7e3f65',
description: '[Flights] Flight count',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
});
describe('lnsMetric', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsLegacyMetric:b766e3b8-4544-46ed-99e6-9ecc4847e2a2'
),
retry,
});
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsLegacyMetric',
id: 'b766e3b8-4544-46ed-99e6-9ecc4847e2a2',
description: '',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
});
describe('lnsDatatable', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsDatatable:fb86b32f-fb7a-45cf-9511-f366fef51bbd'
),
retry,
});
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsDatatable',
id: 'fb86b32f-fb7a-45cf-9511-f366fef51bbd',
description: 'Cities by delay, cancellation',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
});
describe('lnsPie', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsPie:5d53db36-2d5a-4adc-af7b-cec4c1a294e0'
),
retry,
});
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsPie',
id: '5d53db36-2d5a-4adc-af7b-cec4c1a294e0',
description: '[Flights] Delay Type',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
});
});
describe('propagates context for built-in Discover', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsXY:086ac2e9-dd16-4b45-92b8-1e43ff7e3f65'
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;search:discover:571aaf70-4c88-11e8-b3d7-01146121b73d'
),
retry,
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsXY',
id: '086ac2e9-dd16-4b45-92b8-1e43ff7e3f65',
description: '[Flights] Flight count',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
it('lnsMetric', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsLegacyMetric:b766e3b8-4544-46ed-99e6-9ecc4847e2a2'
),
retry,
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
type: 'dashboard',
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsLegacyMetric',
id: 'b766e3b8-4544-46ed-99e6-9ecc4847e2a2',
description: '',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
it('lnsDatatable', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsDatatable:fb86b32f-fb7a-45cf-9511-f366fef51bbd'
),
retry,
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsDatatable',
id: 'fb86b32f-fb7a-45cf-9511-f366fef51bbd',
description: 'Cities by delay, cancellation',
url: '/app/lens#/edit_by_value',
},
},
}),
retry,
});
});
it('lnsPie', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;lens:lnsPie:5d53db36-2d5a-4adc-af7b-cec4c1a294e0'
),
retry,
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'lens',
name: 'lnsPie',
id: '5d53db36-2d5a-4adc-af7b-cec4c1a294e0',
description: '[Flights] Delay Type',
url: '/app/lens#/edit_by_value',
type: 'search',
name: 'discover',
id: '571aaf70-4c88-11e8-b3d7-01146121b73d',
description: '[Flights] Flight Log',
url: '/app/discover#/view/571aaf70-4c88-11e8-b3d7-01146121b73d',
},
},
}),
@ -298,169 +353,151 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
});
it('propagates context for built-in Discover', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;search:discover:571aaf70-4c88-11e8-b3d7-01146121b73d'
),
retry,
describe('propagates context for TSVB visualizations', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId('agg_based:metrics:bcb63b50-4c89-11e8-b3d7-01146121b73d'),
retry,
});
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
child: {
type: 'dashboard',
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'search',
name: 'discover',
id: '571aaf70-4c88-11e8-b3d7-01146121b73d',
description: '[Flights] Flight Log',
url: '/app/discover#/view/571aaf70-4c88-11e8-b3d7-01146121b73d',
},
},
}),
retry,
});
});
it('propagates context for TSVB visualizations', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId('agg_based:metrics:bcb63b50-4c89-11e8-b3d7-01146121b73d'),
retry,
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
page: 'app',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'agg_based',
name: 'metrics',
id: 'bcb63b50-4c89-11e8-b3d7-01146121b73d',
description: '[Flights] Delays & Cancellations',
url: '/app/visualize#/edit/bcb63b50-4c89-11e8-b3d7-01146121b73d',
},
}),
retry,
});
});
it('propagates context for Vega visualizations', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:vega:ed78a660-53a0-11e8-acbd-0be0ad9d822b'
),
retry,
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'agg_based',
name: 'vega',
id: 'ed78a660-53a0-11e8-acbd-0be0ad9d822b',
description: '[Flights] Airport Connections (Hover Over Airport)',
url: '/app/visualize#/edit/ed78a660-53a0-11e8-acbd-0be0ad9d822b',
name: 'metrics',
id: 'bcb63b50-4c89-11e8-b3d7-01146121b73d',
description: '[Flights] Delays & Cancellations',
url: '/app/visualize#/edit/bcb63b50-4c89-11e8-b3d7-01146121b73d',
},
},
}),
retry,
}),
retry,
});
});
});
it('propagates context for Tag Cloud visualization', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:tagcloud:293b5a30-4c8f-11e8-b3d7-01146121b73d'
),
retry,
describe('propagates context for Vega visualizations', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:vega:ed78a660-53a0-11e8-acbd-0be0ad9d822b'
),
retry,
});
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'application',
child: {
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
type: 'application',
child: {
type: 'agg_based',
name: 'tagcloud',
id: '293b5a30-4c8f-11e8-b3d7-01146121b73d',
description: '[Flights] Destination Weather',
url: '/app/visualize#/edit/293b5a30-4c8f-11e8-b3d7-01146121b73d',
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'agg_based',
name: 'vega',
id: 'ed78a660-53a0-11e8-acbd-0be0ad9d822b',
description: '[Flights] Airport Connections (Hover Over Airport)',
url: '/app/visualize#/edit/ed78a660-53a0-11e8-acbd-0be0ad9d822b',
},
},
},
}),
retry,
}),
retry,
});
});
});
it('propagates context for Vertical bar visualization', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:histogram:9886b410-4c8b-11e8-b3d7-01146121b73d'
),
retry,
describe('propagates context for Tag Cloud visualization', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:tagcloud:293b5a30-4c8f-11e8-b3d7-01146121b73d'
),
retry,
});
});
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
child: {
type: 'dashboard',
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
name: 'dashboards',
url: '/app/dashboards',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
type: 'application',
child: {
type: 'agg_based',
name: 'histogram',
id: '9886b410-4c8b-11e8-b3d7-01146121b73d',
description: '[Flights] Delay Buckets',
url: '/app/visualize#/edit/9886b410-4c8b-11e8-b3d7-01146121b73d',
name: 'dashboards',
url: '/app/dashboards',
type: 'dashboard',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'agg_based',
name: 'tagcloud',
id: '293b5a30-4c8f-11e8-b3d7-01146121b73d',
description: '[Flights] Destination Weather',
url: '/app/visualize#/edit/293b5a30-4c8f-11e8-b3d7-01146121b73d',
},
},
},
}),
retry,
}),
retry,
});
});
});
describe('propagates context for Vertical bar visualization', () => {
it('propagates to Elasticsearch via "x-opaque-id" header', async () => {
await assertLogContains({
description: 'execution context propagates to Elasticsearch via "x-opaque-id" header',
predicate: checkHttpRequestId(
'dashboard:dashboards:7adfa750-4c81-11e8-b3d7-01146121b73d;agg_based:histogram:9886b410-4c8b-11e8-b3d7-01146121b73d'
),
retry,
});
});
it('propagates to Kibana logs', async () => {
await assertLogContains({
description: 'execution context propagates to Kibana logs',
predicate: checkExecutionContextEntry({
type: 'application',
name: 'dashboards',
url: '/app/dashboards',
child: {
type: 'dashboard',
name: 'dashboards',
url: '/app/dashboards',
page: 'app',
id: '7adfa750-4c81-11e8-b3d7-01146121b73d',
description: '[Flights] Global Flight Dashboard',
child: {
type: 'agg_based',
name: 'histogram',
id: '9886b410-4c8b-11e8-b3d7-01146121b73d',
description: '[Flights] Delay Buckets',
url: '/app/visualize#/edit/9886b410-4c8b-11e8-b3d7-01146121b73d',
},
},
}),
retry,
});
});
});
});