diff --git a/x-pack/test/apm_api_integration/basic/tests/observability_overview/has_data.ts b/x-pack/test/apm_api_integration/basic/tests/observability_overview/has_data.ts index 127721e8e2112..6d0d2d3042625 100644 --- a/x-pack/test/apm_api_integration/basic/tests/observability_overview/has_data.ts +++ b/x-pack/test/apm_api_integration/basic/tests/observability_overview/has_data.ts @@ -10,6 +10,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + describe('Has data', () => { describe('when data is not loaded', () => { it('returns false when there is no data', async () => { @@ -28,8 +30,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('returns true when there is at least one document on transaction, error or metrics indices', async () => { const response = await supertest.get('/api/apm/observability_overview/has_data'); diff --git a/x-pack/test/apm_api_integration/basic/tests/observability_overview/observability_overview.ts b/x-pack/test/apm_api_integration/basic/tests/observability_overview/observability_overview.ts index 96ac3c3a5e494..6153ddd46a5b4 100644 --- a/x-pack/test/apm_api_integration/basic/tests/observability_overview/observability_overview.ts +++ b/x-pack/test/apm_api_integration/basic/tests/observability_overview/observability_overview.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import expect from '@kbn/expect'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -11,9 +12,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:00:00.000Z'); - const end = encodeURIComponent('2020-06-29T10:00:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const bucketSize = '60s'; describe('Observability overview', () => { @@ -23,37 +27,58 @@ export default function ApiTest({ getService }: FtrProviderContext) { `/api/apm/observability_overview?start=${start}&end=${end}&bucketSize=${bucketSize}` ); expect(response.status).to.be(200); - expectSnapshot(response.body).toMatchInline(` - Object { - "serviceCount": 0, - "transactionCoordinates": Array [], - } - `); + + expect(response.body.serviceCount).to.be(0); + expect(response.body.transactionCoordinates.length).to.be(0); }); }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('returns the service count and transaction coordinates', async () => { const response = await supertest.get( `/api/apm/observability_overview?start=${start}&end=${end}&bucketSize=${bucketSize}` ); expect(response.status).to.be(200); - expectSnapshot(response.body).toMatchInline(` - Object { - "serviceCount": 3, - "transactionCoordinates": Array [ - Object { - "x": 1593413220000, - "y": 0.016666666666666666, - }, - Object { - "x": 1593413280000, - "y": 1.0458333333333334, - }, - ], - } + + expect(response.body.serviceCount).to.be.greaterThan(0); + expect(response.body.transactionCoordinates.length).to.be.greaterThan(0); + + expectSnapshot(response.body.serviceCount).toMatchInline(`7`); + + expectSnapshot(response.body.transactionCoordinates.length).toMatchInline(`60`); + + expectSnapshot( + response.body.transactionCoordinates + .slice(0, 5) + .map(({ x, y }: { x: number; y: number }) => ({ + x: new Date(x).toISOString(), + y, + })) + ).toMatchInline(` + Array [ + Object { + "x": "2020-09-10T06:00:00.000Z", + "y": 1.2166666666666666, + }, + Object { + "x": "2020-09-10T06:01:00.000Z", + "y": 0.5, + }, + Object { + "x": "2020-09-10T06:02:00.000Z", + "y": 1.0333333333333334, + }, + Object { + "x": "2020-09-10T06:03:00.000Z", + "y": 0.55, + }, + Object { + "x": "2020-09-10T06:04:00.000Z", + "y": 1.15, + }, + ] `); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/service_maps/service_maps.ts b/x-pack/test/apm_api_integration/basic/tests/service_maps/service_maps.ts index b0e503eb7d1eb..d729680154c1d 100644 --- a/x-pack/test/apm_api_integration/basic/tests/service_maps/service_maps.ts +++ b/x-pack/test/apm_api_integration/basic/tests/service_maps/service_maps.ts @@ -5,22 +5,28 @@ */ import expect from '@kbn/expect'; +import { expectSnapshot } from '../../../common/match_snapshot'; +import archives_metadata from '../../../common/archives_metadata'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; export default function serviceMapsApiTests({ getService }: FtrProviderContext) { const supertest = getService('supertest'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); describe('Service Maps', () => { it('is only be available to users with Platinum license (or higher)', async () => { const response = await supertest.get(`/api/apm/service-map?start=${start}&end=${end}`); expect(response.status).to.be(403); - expect(response.body.message).to.be( - "In order to access Service Maps, you must be subscribed to an Elastic Platinum license. With it, you'll have the ability to visualize your entire application stack along with your APM data." + + expectSnapshot(response.body.message).toMatchInline( + `"In order to access Service Maps, you must be subscribed to an Elastic Platinum license. With it, you'll have the ability to visualize your entire application stack along with your APM data."` ); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/services/agent_name.ts b/x-pack/test/apm_api_integration/basic/tests/services/agent_name.ts index a87d080e564a2..ee835fde680e0 100644 --- a/x-pack/test/apm_api_integration/basic/tests/services/agent_name.ts +++ b/x-pack/test/apm_api_integration/basic/tests/services/agent_name.ts @@ -39,6 +39,7 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); + expect(response.body).to.eql({ agentName: 'nodejs' }); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/services/top_services.ts b/x-pack/test/apm_api_integration/basic/tests/services/top_services.ts index 116b2987db32a..c5027565fd6b9 100644 --- a/x-pack/test/apm_api_integration/basic/tests/services/top_services.ts +++ b/x-pack/test/apm_api_integration/basic/tests/services/top_services.ts @@ -33,7 +33,9 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expect(response.body).to.eql({ hasHistoricalData: false, hasLegacyData: false, items: [] }); + expect(response.body.hasHistoricalData).to.be(false); + expect(response.body.hasLegacyData).to.be(false); + expect(response.body.items.length).to.be(0); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/services/transaction_types.ts b/x-pack/test/apm_api_integration/basic/tests/services/transaction_types.ts index a6c6bad21a8b7..1221ce0198d82 100644 --- a/x-pack/test/apm_api_integration/basic/tests/services/transaction_types.ts +++ b/x-pack/test/apm_api_integration/basic/tests/services/transaction_types.ts @@ -5,6 +5,7 @@ */ import expect from '@kbn/expect'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -12,9 +13,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); describe('Transaction types', () => { describe('when data is not loaded ', () => { @@ -30,8 +34,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('handles empty state', async () => { const response = await supertest.get( @@ -39,11 +43,13 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); + expect(response.body.transactionTypes.length).to.be.greaterThan(0); + expectSnapshot(response.body).toMatchInline(` Object { "transactionTypes": Array [ - "request", "Worker", + "request", ], } `); diff --git a/x-pack/test/apm_api_integration/basic/tests/settings/agent_configuration.ts b/x-pack/test/apm_api_integration/basic/tests/settings/agent_configuration.ts index 27023d16f57ca..70ddf276ab35c 100644 --- a/x-pack/test/apm_api_integration/basic/tests/settings/agent_configuration.ts +++ b/x-pack/test/apm_api_integration/basic/tests/settings/agent_configuration.ts @@ -6,6 +6,7 @@ import expect from '@kbn/expect'; import { omit, orderBy } from 'lodash'; +import { expectSnapshot } from '../../../common/match_snapshot'; import { AgentConfigurationIntake } from '../../../../../plugins/apm/common/agent_configuration/configuration_types'; import { AgentConfigSearchParams } from '../../../../../plugins/apm/server/routes/settings/agent_configuration'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -16,6 +17,8 @@ export default function agentConfigurationTests({ getService }: FtrProviderConte const log = getService('log'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + function getServices() { return supertestRead .get(`/api/apm/settings/agent-configuration/services`) @@ -125,31 +128,46 @@ export default function agentConfigurationTests({ getService }: FtrProviderConte }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('returns all services', async () => { const { body } = await getServices(); - expect(body).to.eql([ - 'ALL_OPTION_VALUE', - 'client', - 'opbeans-dotnet', - 'opbeans-go', - 'opbeans-java', - 'opbeans-node', - 'opbeans-python', - 'opbeans-ruby', - 'opbeans-rum', - ]); + expectSnapshot(body).toMatchInline(` + Array [ + "ALL_OPTION_VALUE", + "opbeans-dotnet", + "opbeans-go", + "opbeans-java", + "opbeans-node", + "opbeans-python", + "opbeans-ruby", + "opbeans-rum", + ] + `); }); - it('returns the environments', async () => { + it('returns the environments, all unconfigured', async () => { const { body } = await getEnvironments('opbeans-node'); - expect(body).to.eql([ - { name: 'ALL_OPTION_VALUE', alreadyConfigured: false }, - { name: 'testing', alreadyConfigured: false }, - { name: 'production', alreadyConfigured: false }, - ]); + + expect(body.map((item: { name: string }) => item.name)).to.contain('ALL_OPTION_VALUE'); + + expect( + body.every((item: { alreadyConfigured: boolean }) => item.alreadyConfigured === false) + ).to.be(true); + + expectSnapshot(body).toMatchInline(` + Array [ + Object { + "alreadyConfigured": false, + "name": "ALL_OPTION_VALUE", + }, + Object { + "alreadyConfigured": false, + "name": "testing", + }, + ] + `); }); it('returns the agent names', async () => { diff --git a/x-pack/test/apm_api_integration/basic/tests/settings/custom_link.ts b/x-pack/test/apm_api_integration/basic/tests/settings/custom_link.ts index 2acc6522bf479..a1c647a854bf6 100644 --- a/x-pack/test/apm_api_integration/basic/tests/settings/custom_link.ts +++ b/x-pack/test/apm_api_integration/basic/tests/settings/custom_link.ts @@ -14,6 +14,8 @@ export default function customLinksTests({ getService }: FtrProviderContext) { const log = getService('log'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + function searchCustomLinks(filters?: any) { const path = URL.format({ pathname: `/api/apm/settings/custom_links`, @@ -142,8 +144,8 @@ export default function customLinksTests({ getService }: FtrProviderContext) { }); describe('transaction', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('fetches a transaction sample', async () => { const response = await supertestRead.get( diff --git a/x-pack/test/apm_api_integration/basic/tests/traces/__snapshots__/top_traces.snap b/x-pack/test/apm_api_integration/basic/tests/traces/__snapshots__/top_traces.snap index 5557e0828a338..2d382fa5fa4d3 100644 --- a/x-pack/test/apm_api_integration/basic/tests/traces/__snapshots__/top_traces.snap +++ b/x-pack/test/apm_api_integration/basic/tests/traces/__snapshots__/top_traces.snap @@ -3,301 +3,598 @@ exports[`Top traces when data is loaded returns the correct buckets 1`] = ` Array [ Object { - "averageResponseTime": 2577, + "averageResponseTime": 3853, "impact": 0, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /throw-error", + "service.name": "opbeans-ruby", + "transaction.name": "Api::OrdersController#create", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.016666666666666666, }, Object { - "averageResponseTime": 3147, - "impact": 0.06552270160444405, + "averageResponseTime": 5420, + "impact": 0.0013411780236742999, "key": Object { "service.name": "opbeans-java", "transaction.name": "APIRestController#orders", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.016666666666666666, }, Object { - "averageResponseTime": 3392.5, - "impact": 0.09374344413758617, + "averageResponseTime": 4135.5, + "impact": 0.0037813174911251156, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#order", + "service.name": "opbeans-node", + "transaction.name": "GET /api/types", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 4713.5, - "impact": 0.24559517890858723, + "averageResponseTime": 11058, + "impact": 0.006166680064182087, "key": Object { "service.name": "opbeans-java", - "transaction.name": "APIRestController#product", + "transaction.name": "APIRestController#products", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.016666666666666666, + }, + Object { + "averageResponseTime": 6014, + "impact": 0.0069968923698388, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "POST /api/orders", + }, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 4757, - "impact": 0.25059559560997896, + "averageResponseTime": 13540, + "impact": 0.00829099649989339, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.product", + }, + "transactionsPerMinute": 0.016666666666666666, + }, + Object { + "averageResponseTime": 8710, + "impact": 0.011611845722520248, "key": Object { "service.name": "opbeans-node", - "transaction.name": "GET /api/products/:id/customers", + "transaction.name": "GET /api/types/:id", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 6787, - "impact": 0.4839483750082622, + "averageResponseTime": 10157, + "impact": 0.014088788415891928, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#products", + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.product_type", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 4749.666666666667, - "impact": 0.5227447114845778, + "averageResponseTime": 6944.333333333333, + "impact": 0.014532994793867014, "key": Object { "service.name": "opbeans-node", "transaction.name": "GET /api/orders/:id", }, - "transactionsPerMinute": 0.75, + "transactionsPerMinute": 0.05, }, Object { - "averageResponseTime": 7624.5, - "impact": 0.5802207655235637, + "averageResponseTime": 8438.333333333334, + "impact": 0.018369089179385976, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /api/orders", + "service.name": "opbeans-java", + "transaction.name": "APIRestController#customer", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.05, }, Object { - "averageResponseTime": 5098, - "impact": 0.582807187955318, + "averageResponseTime": 13202, + "impact": 0.019301152273056246, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /api/stats", + "service.name": "opbeans-java", + "transaction.name": "APIRestController#customers", }, - "transactionsPerMinute": 0.75, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 8181, - "impact": 0.6441916136689552, + "averageResponseTime": 9311, + "impact": 0.020609806515684198, "key": Object { "service.name": "opbeans-node", - "transaction.name": "GET /api/types/:id", + "transaction.name": "GET /api/products/:id", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.05, }, Object { - "averageResponseTime": 20011, - "impact": 0.853921734857215, + "averageResponseTime": 14019, + "impact": 0.020699674858049102, "key": Object { "service.name": "opbeans-node", - "transaction.name": "POST /api", + "transaction.name": "GET /api/customers/:id", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 0.03333333333333333, + }, + Object { + "averageResponseTime": 28176, + "impact": 0.020817787536585832, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "POST opbeans.views.post_order", + }, + "transactionsPerMinute": 0.016666666666666666, }, Object { - "averageResponseTime": 6583, - "impact": 1.2172278724376455, + "averageResponseTime": 9298.75, + "impact": 0.02853705020124346, "key": Object { "service.name": "opbeans-node", "transaction.name": "GET /api/products", }, - "transactionsPerMinute": 1, + "transactionsPerMinute": 0.06666666666666667, }, Object { - "averageResponseTime": 33097, - "impact": 1.6060533780113861, + "averageResponseTime": 7441.6, + "impact": 0.028548176757917213, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /api/products/top", + "service.name": "opbeans-java", + "transaction.name": "APIRestController#order", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 0.08333333333333333, }, Object { - "averageResponseTime": 4825, - "impact": 1.6450221426498186, + "averageResponseTime": 6260.166666666667, + "impact": 0.028850305566058266, "key": Object { "service.name": "opbeans-java", "transaction.name": "APIRestController#topProducts", }, - "transactionsPerMinute": 1.75, + "transactionsPerMinute": 0.1, }, Object { - "averageResponseTime": 35846, - "impact": 1.7640550505645587, + "averageResponseTime": 7656.2, + "impact": 0.029466545627989022, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /log-error", + "service.name": "opbeans-java", + "transaction.name": "APIRestController#customerWhoBought", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 0.08333333333333333, + }, + Object { + "averageResponseTime": 7016.5, + "impact": 0.032734329734171834, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::OrdersController#show", + }, + "transactionsPerMinute": 0.1, }, Object { - "averageResponseTime": 3742.153846153846, - "impact": 2.4998634943716573, + "averageResponseTime": 21102.5, + "impact": 0.03282505396551165, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.customer", + }, + "transactionsPerMinute": 0.03333333333333333, + }, + Object { + "averageResponseTime": 14443.333333333334, + "impact": 0.033787929062278454, "key": Object { "service.name": "opbeans-java", - "transaction.name": "APIRestController#customerWhoBought", + "transaction.name": "APIRestController#stats", }, - "transactionsPerMinute": 3.25, + "transactionsPerMinute": 0.05, }, Object { - "averageResponseTime": 3492.9285714285716, - "impact": 2.5144049360435208, + "averageResponseTime": 2828.0625, + "impact": 0.0354303800051189, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET static file", + "service.name": "opbeans-java", + "transaction.name": "ResourceHttpRequestHandler", + }, + "transactionsPerMinute": 0.26666666666666666, + }, + Object { + "averageResponseTime": 9920.8, + "impact": 0.03915777649082508, + "key": Object { + "service.name": "opbeans-java", + "transaction.name": "APIRestController#product", }, - "transactionsPerMinute": 3.5, + "transactionsPerMinute": 0.08333333333333333, }, Object { - "averageResponseTime": 26992.5, - "impact": 2.8066131947777255, + "averageResponseTime": 16860.333333333332, + "impact": 0.03999398001930612, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.orders", + }, + "transactionsPerMinute": 0.05, + }, + Object { + "averageResponseTime": 10264.8, + "impact": 0.04062990552765966, "key": Object { "service.name": "opbeans-node", + "transaction.name": "GET /api/products/top", + }, + "transactionsPerMinute": 0.08333333333333333, + }, + Object { + "averageResponseTime": 8818.833333333334, + "impact": 0.04198991310878184, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.order", + }, + "transactionsPerMinute": 0.1, + }, + Object { + "averageResponseTime": 4649.307692307692, + "impact": 0.04843304531185787, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/types/:id", + }, + "transactionsPerMinute": 0.21666666666666667, + }, + Object { + "averageResponseTime": 30425, + "impact": 0.048783103902593536, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.products", + }, + "transactionsPerMinute": 0.03333333333333333, + }, + Object { + "averageResponseTime": 4215.2, + "impact": 0.05081840788491484, + "key": Object { + "service.name": "opbeans-go", "transaction.name": "GET /api/types", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.25, }, Object { - "averageResponseTime": 13516.5, - "impact": 2.8112687551548836, + "averageResponseTime": 7333.777777777777, + "impact": 0.053194355679247865, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /api/products/:id", + "service.name": "opbeans-ruby", + "transaction.name": "Api::StatsController#index", + }, + "transactionsPerMinute": 0.15, + }, + Object { + "averageResponseTime": 7562.111111111111, + "impact": 0.05495320752267524, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::TypesController#index", + }, + "transactionsPerMinute": 0.15, + }, + Object { + "averageResponseTime": 5459.307692307692, + "impact": 0.057445556217595194, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/products", + }, + "transactionsPerMinute": 0.21666666666666667, + }, + Object { + "averageResponseTime": 7248.5, + "impact": 0.058741372125599586, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::TypesController#show", + }, + "transactionsPerMinute": 0.16666666666666666, + }, + Object { + "averageResponseTime": 87771, + "impact": 0.07182449099597951, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.top_products", + }, + "transactionsPerMinute": 0.016666666666666666, + }, + Object { + "averageResponseTime": 6161.2, + "impact": 0.0758018070623576, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/orders/:id", + }, + "transactionsPerMinute": 0.25, + }, + Object { + "averageResponseTime": 19260.8, + "impact": 0.07912779161883388, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.product_types", + }, + "transactionsPerMinute": 0.08333333333333333, + }, + Object { + "averageResponseTime": 10632.4, + "impact": 0.08770379914737025, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::ProductsController#show", + }, + "transactionsPerMinute": 0.16666666666666666, + }, + Object { + "averageResponseTime": 54309.5, + "impact": 0.08966806434477453, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.customers", }, - "transactionsPerMinute": 1, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 20092, - "impact": 3.168195050736987, + "averageResponseTime": 5046.695652173913, + "impact": 0.09604871665268258, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/customers/:id", + }, + "transactionsPerMinute": 0.38333333333333336, + }, + Object { + "averageResponseTime": 20346, + "impact": 0.10118576228005537, "key": Object { "service.name": "opbeans-node", - "transaction.name": "GET /api/customers", + "transaction.name": "GET /api/stats", }, - "transactionsPerMinute": 0.75, + "transactionsPerMinute": 0.1, }, Object { - "averageResponseTime": 15535, - "impact": 3.275330415465657, + "averageResponseTime": 18472.85714285714, + "impact": 0.10737726312450965, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#stats", + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.stats", }, - "transactionsPerMinute": 1, + "transactionsPerMinute": 0.11666666666666667, }, Object { - "averageResponseTime": 32667.5, - "impact": 3.458966408120217, + "averageResponseTime": 32662, + "impact": 0.10852244257293098, "key": Object { "service.name": "opbeans-node", - "transaction.name": "GET /log-message", + "transaction.name": "GET /api/customers", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.06666666666666667, }, Object { - "averageResponseTime": 16690.75, - "impact": 3.541042213287889, + "averageResponseTime": 13975.7, + "impact": 0.11631873524532996, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#customers", + "service.name": "opbeans-ruby", + "transaction.name": "Api::ProductsController#index", }, - "transactionsPerMinute": 1, + "transactionsPerMinute": 0.16666666666666666, }, Object { - "averageResponseTime": 33500, - "impact": 3.5546640380951287, + "averageResponseTime": 13373.615384615385, + "impact": 0.14550454928955053, "key": Object { - "service.name": "client", - "transaction.name": "/customers", + "service.name": "opbeans-go", + "transaction.name": "GET /api/orders", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.21666666666666667, }, Object { - "averageResponseTime": 77000, - "impact": 4.129424578484989, + "averageResponseTime": 19675.333333333332, + "impact": 0.14826136767771575, "key": Object { - "service.name": "client", - "transaction.name": "/products", + "service.name": "opbeans-ruby", + "transaction.name": "Api::OrdersController#index", + }, + "transactionsPerMinute": 0.15, + }, + Object { + "averageResponseTime": 12946.266666666666, + "impact": 0.1629107633721697, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::CustomersController#show", }, "transactionsPerMinute": 0.25, }, Object { - "averageResponseTime": 19370.6, - "impact": 5.270496679320978, + "averageResponseTime": 16506.666666666668, + "impact": 0.16623674792864598, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#customer", + "service.name": "opbeans-go", + "transaction.name": "GET /api/products/:id/customers", }, - "transactionsPerMinute": 1.25, + "transactionsPerMinute": 0.2, }, Object { - "averageResponseTime": 81500, - "impact": 9.072365225837785, + "averageResponseTime": 17101.5, + "impact": 0.1723460834315095, "key": Object { - "service.name": "client", - "transaction.name": "/orders", + "service.name": "opbeans-ruby", + "transaction.name": "Api::ProductsController#top", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.2, }, Object { - "averageResponseTime": 14419.42857142857, - "impact": 11.30657439844125, + "averageResponseTime": 15871.3125, + "impact": 0.21404756195574876, "key": Object { - "service.name": "opbeans-java", - "transaction.name": "ResourceHttpRequestHandler", + "service.name": "opbeans-go", + "transaction.name": "GET /api/stats", }, - "transactionsPerMinute": 3.5, + "transactionsPerMinute": 0.26666666666666666, }, Object { - "averageResponseTime": 270684, - "impact": 15.261616628971955, + "averageResponseTime": 11237.785714285714, + "impact": 0.26601457284498453, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Api::CustomersController#index", + }, + "transactionsPerMinute": 0.4666666666666667, + }, + Object { + "averageResponseTime": 15403.40909090909, + "impact": 0.28674163615023057, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/products/:id", + }, + "transactionsPerMinute": 0.36666666666666664, + }, + Object { + "averageResponseTime": 101902.16666666667, + "impact": 0.5200039055925703, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "GET opbeans.views.product_customers", + }, + "transactionsPerMinute": 0.1, + }, + Object { + "averageResponseTime": 32236.133333333335, + "impact": 0.82441879318559, "key": Object { "service.name": "opbeans-node", - "transaction.name": "POST /api/orders", + "transaction.name": "GET /api", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 0.5, + }, + Object { + "averageResponseTime": 94012.11111111111, + "impact": 1.445052989113503, + "key": Object { + "service.name": "opbeans-go", + "transaction.name": "GET /api/customers", + }, + "transactionsPerMinute": 0.3, + }, + Object { + "averageResponseTime": 32260.39837398374, + "impact": 3.3928945329783606, + "key": Object { + "service.name": "opbeans-ruby", + "transaction.name": "Rack", + }, + "transactionsPerMinute": 2.05, + }, + Object { + "averageResponseTime": 34207.61666666667, + "impact": 3.5100528953080716, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "opbeans.tasks.sync_orders", + }, + "transactionsPerMinute": 2, + }, + Object { + "averageResponseTime": 638040, + "impact": 13.648987298470669, + "key": Object { + "service.name": "opbeans-rum", + "transaction.name": "/customers", + }, + "transactionsPerMinute": 0.4166666666666667, }, Object { - "averageResponseTime": 36010.53846153846, - "impact": 26.61043592713186, + "averageResponseTime": 2061418.6666666667, + "impact": 15.875811844928256, "key": Object { "service.name": "opbeans-java", "transaction.name": "DispatcherServlet#doGet", }, - "transactionsPerMinute": 3.25, + "transactionsPerMinute": 0.15, }, Object { - "averageResponseTime": 208000, - "impact": 35.56882613781033, + "averageResponseTime": 847846.1538461539, + "impact": 18.8639188225597, "key": Object { - "service.name": "client", + "service.name": "opbeans-rum", + "transaction.name": "/orders", + }, + "transactionsPerMinute": 0.43333333333333335, + }, + Object { + "averageResponseTime": 1091031.25, + "impact": 29.87835404059707, + "key": Object { + "service.name": "opbeans-rum", + "transaction.name": "/products", + }, + "transactionsPerMinute": 0.5333333333333333, + }, + Object { + "averageResponseTime": 924980.3921568628, + "impact": 40.37240876189292, + "key": Object { + "service.name": "opbeans-rum", "transaction.name": "/dashboard", }, - "transactionsPerMinute": 0.75, + "transactionsPerMinute": 0.85, }, Object { - "averageResponseTime": 49816.15625, - "impact": 91.32732325394932, + "averageResponseTime": 979844.2117647058, + "impact": 71.28092018746297, "key": Object { "service.name": "opbeans-node", - "transaction.name": "GET /api", + "transaction.name": "Process completed order", }, - "transactionsPerMinute": 8, + "transactionsPerMinute": 1.4166666666666667, }, Object { - "averageResponseTime": 1745009, - "impact": 100, + "averageResponseTime": 996808.380952381, + "impact": 71.66191574108551, "key": Object { "service.name": "opbeans-node", "transaction.name": "Process payment", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 1.4, + }, + Object { + "averageResponseTime": 1083442.5568181819, + "impact": 81.59967772014184, + "key": Object { + "service.name": "opbeans-node", + "transaction.name": "Update shipping status", + }, + "transactionsPerMinute": 1.4666666666666666, + }, + Object { + "averageResponseTime": 134550.32361111112, + "impact": 82.91200201469418, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "opbeans.tasks.update_stats", + }, + "transactionsPerMinute": 12, + }, + Object { + "averageResponseTime": 1600567.6301369863, + "impact": 100, + "key": Object { + "service.name": "opbeans-python", + "transaction.name": "opbeans.tasks.sync_customers", + }, + "transactionsPerMinute": 1.2166666666666666, }, ] `; diff --git a/x-pack/test/apm_api_integration/basic/tests/traces/top_traces.ts b/x-pack/test/apm_api_integration/basic/tests/traces/top_traces.ts index 2935fb8e2839a..da4bd0aa4f0d9 100644 --- a/x-pack/test/apm_api_integration/basic/tests/traces/top_traces.ts +++ b/x-pack/test/apm_api_integration/basic/tests/traces/top_traces.ts @@ -5,6 +5,7 @@ */ import expect from '@kbn/expect'; import { sortBy, omit } from 'lodash'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -12,9 +13,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const uiFilters = encodeURIComponent(JSON.stringify({})); describe('Top traces', () => { @@ -25,32 +29,27 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expectSnapshot(response.body).toMatchInline(` - Object { - "bucketSize": 1000, - "isAggregationAccurate": true, - "items": Array [], - } - `); + expect(response.body.items.length).to.be(0); + expect(response.body.isAggregationAccurate).to.be(true); }); }); describe('when data is loaded', () => { let response: any; before(async () => { - await esArchiver.load('8.0.0'); + await esArchiver.load(archiveName); response = await supertest.get( `/api/apm/traces?start=${start}&end=${end}&uiFilters=${uiFilters}` ); }); - after(() => esArchiver.unload('8.0.0')); + after(() => esArchiver.unload(archiveName)); it('returns the correct status code', async () => { expect(response.status).to.be(200); }); it('returns the correct number of buckets', async () => { - expectSnapshot(response.body.items.length).toMatchInline(`33`); + expectSnapshot(response.body.items.length).toMatchInline(`66`); }); it('returns the correct buckets', async () => { @@ -68,49 +67,49 @@ export default function ApiTest({ getService }: FtrProviderContext) { expectSnapshot(firstItem).toMatchInline(` Object { - "averageResponseTime": 2577, + "averageResponseTime": 3853, "impact": 0, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "GET /throw-error", + "service.name": "opbeans-ruby", + "transaction.name": "Api::OrdersController#create", }, - "transactionsPerMinute": 0.5, + "transactionsPerMinute": 0.016666666666666666, } `); expectSnapshot(lastItem).toMatchInline(` Object { - "averageResponseTime": 1745009, + "averageResponseTime": 1600567.6301369863, "impact": 100, "key": Object { - "service.name": "opbeans-node", - "transaction.name": "Process payment", + "service.name": "opbeans-python", + "transaction.name": "opbeans.tasks.sync_customers", }, - "transactionsPerMinute": 0.25, + "transactionsPerMinute": 1.2166666666666666, } `); expectSnapshot(groups).toMatchInline(` Array [ Object { - "service.name": "opbeans-node", - "transaction.name": "GET /throw-error", + "service.name": "opbeans-ruby", + "transaction.name": "Api::OrdersController#create", }, Object { "service.name": "opbeans-java", "transaction.name": "APIRestController#orders", }, Object { - "service.name": "opbeans-java", - "transaction.name": "APIRestController#order", + "service.name": "opbeans-node", + "transaction.name": "GET /api/types", }, Object { "service.name": "opbeans-java", - "transaction.name": "APIRestController#product", + "transaction.name": "APIRestController#products", }, Object { - "service.name": "opbeans-node", - "transaction.name": "GET /api/products/:id/customers", + "service.name": "opbeans-go", + "transaction.name": "POST /api/orders", }, ] `); diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/avg_duration_by_browser.snap b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/avg_duration_by_browser.snap index 326797919a095..37473ee008b3d 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/avg_duration_by_browser.snap +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/avg_duration_by_browser.snap @@ -5,1469 +5,850 @@ Array [ Object { "data": Array [ Object { - "x": 1593413100000, + "x": 1599717600000, + "y": 999000, }, Object { - "x": 1593413101000, + "x": 1599717630000, + "y": 1111000, }, Object { - "x": 1593413102000, + "x": 1599717660000, + "y": 600000, }, Object { - "x": 1593413103000, + "x": 1599717690000, }, Object { - "x": 1593413104000, + "x": 1599717720000, }, Object { - "x": 1593413105000, + "x": 1599717750000, + "y": 1487000, }, Object { - "x": 1593413106000, + "x": 1599717780000, + "y": 312000, }, Object { - "x": 1593413107000, + "x": 1599717810000, }, Object { - "x": 1593413108000, + "x": 1599717840000, }, Object { - "x": 1593413109000, + "x": 1599717870000, + "y": 2073000, }, Object { - "x": 1593413110000, + "x": 1599717900000, + "y": 791333.3333333334, }, Object { - "x": 1593413111000, + "x": 1599717930000, + "y": 604000, }, Object { - "x": 1593413112000, + "x": 1599717960000, }, Object { - "x": 1593413113000, + "x": 1599717990000, + "y": 792000, }, Object { - "x": 1593413114000, + "x": 1599718020000, + "y": 596000, }, Object { - "x": 1593413115000, + "x": 1599718050000, + "y": 661000, }, Object { - "x": 1593413116000, + "x": 1599718080000, }, Object { - "x": 1593413117000, + "x": 1599718110000, + "y": 1016000, }, Object { - "x": 1593413118000, + "x": 1599718140000, + "y": 732000, }, Object { - "x": 1593413119000, + "x": 1599718170000, }, Object { - "x": 1593413120000, + "x": 1599718200000, }, Object { - "x": 1593413121000, + "x": 1599718230000, + "y": 1578000, }, Object { - "x": 1593413122000, + "x": 1599718260000, + "y": 450000, }, Object { - "x": 1593413123000, + "x": 1599718290000, + "y": 911000, }, Object { - "x": 1593413124000, + "x": 1599718320000, }, Object { - "x": 1593413125000, + "x": 1599718350000, + "y": 1599000, }, Object { - "x": 1593413126000, + "x": 1599718380000, + "y": 661000, }, Object { - "x": 1593413127000, + "x": 1599718410000, + "y": 596000, }, Object { - "x": 1593413128000, + "x": 1599718440000, }, Object { - "x": 1593413129000, + "x": 1599718470000, + "y": 823000, }, Object { - "x": 1593413130000, + "x": 1599718500000, + "y": 551666.6666666666, }, Object { - "x": 1593413131000, + "x": 1599718530000, }, Object { - "x": 1593413132000, + "x": 1599718560000, }, Object { - "x": 1593413133000, + "x": 1599718590000, + "y": 1311000, }, Object { - "x": 1593413134000, + "x": 1599718620000, + "y": 574000, }, Object { - "x": 1593413135000, + "x": 1599718650000, }, Object { - "x": 1593413136000, + "x": 1599718680000, }, Object { - "x": 1593413137000, + "x": 1599718710000, + "y": 1806000, }, Object { - "x": 1593413138000, + "x": 1599718740000, + "y": 563000, }, Object { - "x": 1593413139000, + "x": 1599718770000, + "y": 665000, }, Object { - "x": 1593413140000, + "x": 1599718800000, }, Object { - "x": 1593413141000, + "x": 1599718830000, + "y": 1202000, }, Object { - "x": 1593413142000, + "x": 1599718860000, + "y": 542666.6666666666, }, Object { - "x": 1593413143000, + "x": 1599718890000, + "y": 688000, }, Object { - "x": 1593413144000, + "x": 1599718920000, }, Object { - "x": 1593413145000, + "x": 1599718950000, + "y": 995000, }, Object { - "x": 1593413146000, + "x": 1599718980000, + "y": 647000, }, Object { - "x": 1593413147000, + "x": 1599719010000, + "y": 552000, }, Object { - "x": 1593413148000, + "x": 1599719040000, }, Object { - "x": 1593413149000, + "x": 1599719070000, + "y": 1760500, }, Object { - "x": 1593413150000, + "x": 1599719100000, + "y": 556000, }, Object { - "x": 1593413151000, + "x": 1599719130000, + "y": 603000, }, Object { - "x": 1593413152000, + "x": 1599719160000, }, Object { - "x": 1593413153000, + "x": 1599719190000, + "y": 920000, }, Object { - "x": 1593413154000, + "x": 1599719220000, + "y": 523000, }, Object { - "x": 1593413155000, + "x": 1599719250000, }, Object { - "x": 1593413156000, + "x": 1599719280000, }, Object { - "x": 1593413157000, + "x": 1599719310000, + "y": 1074000, }, Object { - "x": 1593413158000, + "x": 1599719340000, + "y": 723500, }, Object { - "x": 1593413159000, + "x": 1599719370000, }, Object { - "x": 1593413160000, + "x": 1599719400000, }, Object { - "x": 1593413161000, + "x": 1599719430000, + "y": 1436000, }, Object { - "x": 1593413162000, + "x": 1599719460000, + "y": 614000, }, Object { - "x": 1593413163000, + "x": 1599719490000, + "y": 789000, }, Object { - "x": 1593413164000, + "x": 1599719520000, }, Object { - "x": 1593413165000, + "x": 1599719550000, + "y": 1919000, }, Object { - "x": 1593413166000, + "x": 1599719580000, + "y": 881000, }, Object { - "x": 1593413167000, + "x": 1599719610000, }, Object { - "x": 1593413168000, + "x": 1599719640000, }, Object { - "x": 1593413169000, + "x": 1599719670000, + "y": 1083000, }, Object { - "x": 1593413170000, + "x": 1599719700000, + "y": 603000, }, Object { - "x": 1593413171000, + "x": 1599719730000, + "y": 906000, }, Object { - "x": 1593413172000, + "x": 1599719760000, }, Object { - "x": 1593413173000, + "x": 1599719790000, + "y": 1222000, }, Object { - "x": 1593413174000, + "x": 1599719820000, + "y": 608000, }, Object { - "x": 1593413175000, + "x": 1599719850000, }, Object { - "x": 1593413176000, + "x": 1599719880000, }, Object { - "x": 1593413177000, + "x": 1599719910000, + "y": 805000, }, Object { - "x": 1593413178000, + "x": 1599719940000, + "y": 477000, }, Object { - "x": 1593413179000, + "x": 1599719970000, + "y": 652000, }, Object { - "x": 1593413180000, + "x": 1599720000000, }, Object { - "x": 1593413181000, + "x": 1599720030000, + "y": 1417000, }, Object { - "x": 1593413182000, + "x": 1599720060000, + "y": 545250, }, Object { - "x": 1593413183000, + "x": 1599720090000, }, Object { - "x": 1593413184000, + "x": 1599720120000, }, Object { - "x": 1593413185000, + "x": 1599720150000, + "y": 1122000, }, Object { - "x": 1593413186000, + "x": 1599720180000, + "y": 686000, }, Object { - "x": 1593413187000, + "x": 1599720210000, + "y": 1978000, }, Object { - "x": 1593413188000, + "x": 1599720240000, + "y": 927000, }, Object { - "x": 1593413189000, + "x": 1599720270000, + "y": 2112500, }, Object { - "x": 1593413190000, + "x": 1599720300000, + "y": 776333.3333333334, }, Object { - "x": 1593413191000, + "x": 1599720330000, }, Object { - "x": 1593413192000, + "x": 1599720360000, }, Object { - "x": 1593413193000, + "x": 1599720390000, + "y": 914000, }, Object { - "x": 1593413194000, + "x": 1599720420000, + "y": 534500, }, Object { - "x": 1593413195000, + "x": 1599720450000, }, Object { - "x": 1593413196000, + "x": 1599720480000, }, Object { - "x": 1593413197000, + "x": 1599720510000, + "y": 930000, }, Object { - "x": 1593413198000, + "x": 1599720540000, + "y": 501000, }, Object { - "x": 1593413199000, + "x": 1599720570000, + "y": 801500, }, Object { - "x": 1593413200000, + "x": 1599720600000, }, Object { - "x": 1593413201000, + "x": 1599720630000, + "y": 698000, }, Object { - "x": 1593413202000, + "x": 1599720660000, + "y": 626000, }, Object { - "x": 1593413203000, + "x": 1599720690000, }, Object { - "x": 1593413204000, + "x": 1599720720000, }, Object { - "x": 1593413205000, + "x": 1599720750000, + "y": 1091000, }, Object { - "x": 1593413206000, + "x": 1599720780000, + "y": 7822000, }, Object { - "x": 1593413207000, + "x": 1599720810000, }, Object { - "x": 1593413208000, + "x": 1599720840000, }, Object { - "x": 1593413209000, + "x": 1599720870000, + "y": 892000, }, Object { - "x": 1593413210000, + "x": 1599720900000, + "y": 591250, }, Object { - "x": 1593413211000, + "x": 1599720930000, }, Object { - "x": 1593413212000, + "x": 1599720960000, }, Object { - "x": 1593413213000, + "x": 1599720990000, + "y": 1096000, }, Object { - "x": 1593413214000, + "x": 1599721020000, + "y": 1087000, }, Object { - "x": 1593413215000, + "x": 1599721050000, }, Object { - "x": 1593413216000, + "x": 1599721080000, }, Object { - "x": 1593413217000, + "x": 1599721110000, + "y": 983000, }, Object { - "x": 1593413218000, + "x": 1599721140000, + "y": 801000, }, Object { - "x": 1593413219000, + "x": 1599721170000, }, Object { - "x": 1593413220000, - }, - Object { - "x": 1593413221000, - }, - Object { - "x": 1593413222000, - }, - Object { - "x": 1593413223000, - }, - Object { - "x": 1593413224000, - }, - Object { - "x": 1593413225000, - }, - Object { - "x": 1593413226000, - }, - Object { - "x": 1593413227000, - }, - Object { - "x": 1593413228000, - }, - Object { - "x": 1593413229000, - }, - Object { - "x": 1593413230000, - }, - Object { - "x": 1593413231000, - }, - Object { - "x": 1593413232000, - }, - Object { - "x": 1593413233000, - }, - Object { - "x": 1593413234000, - }, - Object { - "x": 1593413235000, - }, - Object { - "x": 1593413236000, - }, - Object { - "x": 1593413237000, - }, - Object { - "x": 1593413238000, - }, - Object { - "x": 1593413239000, - }, - Object { - "x": 1593413240000, - }, - Object { - "x": 1593413241000, - }, - Object { - "x": 1593413242000, - }, - Object { - "x": 1593413243000, - }, - Object { - "x": 1593413244000, - }, - Object { - "x": 1593413245000, - }, - Object { - "x": 1593413246000, - }, - Object { - "x": 1593413247000, - }, - Object { - "x": 1593413248000, - }, - Object { - "x": 1593413249000, - }, - Object { - "x": 1593413250000, - }, - Object { - "x": 1593413251000, - }, - Object { - "x": 1593413252000, - }, - Object { - "x": 1593413253000, - }, - Object { - "x": 1593413254000, - }, - Object { - "x": 1593413255000, - }, - Object { - "x": 1593413256000, - }, - Object { - "x": 1593413257000, - }, - Object { - "x": 1593413258000, - }, - Object { - "x": 1593413259000, - }, - Object { - "x": 1593413260000, - }, - Object { - "x": 1593413261000, - }, - Object { - "x": 1593413262000, - }, - Object { - "x": 1593413263000, - }, - Object { - "x": 1593413264000, - }, - Object { - "x": 1593413265000, - }, - Object { - "x": 1593413266000, - }, - Object { - "x": 1593413267000, - }, - Object { - "x": 1593413268000, - }, - Object { - "x": 1593413269000, - }, - Object { - "x": 1593413270000, - }, - Object { - "x": 1593413271000, - }, - Object { - "x": 1593413272000, - }, - Object { - "x": 1593413273000, - }, - Object { - "x": 1593413274000, - }, - Object { - "x": 1593413275000, - }, - Object { - "x": 1593413276000, - }, - Object { - "x": 1593413277000, - }, - Object { - "x": 1593413278000, - }, - Object { - "x": 1593413279000, - }, - Object { - "x": 1593413280000, - }, - Object { - "x": 1593413281000, - }, - Object { - "x": 1593413282000, - }, - Object { - "x": 1593413283000, - }, - Object { - "x": 1593413284000, - }, - Object { - "x": 1593413285000, - }, - Object { - "x": 1593413286000, - }, - Object { - "x": 1593413287000, - "y": 342000, - }, - Object { - "x": 1593413288000, - }, - Object { - "x": 1593413289000, - }, - Object { - "x": 1593413290000, - }, - Object { - "x": 1593413291000, - }, - Object { - "x": 1593413292000, - }, - Object { - "x": 1593413293000, - }, - Object { - "x": 1593413294000, - }, - Object { - "x": 1593413295000, - }, - Object { - "x": 1593413296000, - }, - Object { - "x": 1593413297000, - }, - Object { - "x": 1593413298000, - "y": 173000, - }, - Object { - "x": 1593413299000, - }, - Object { - "x": 1593413300000, - }, - Object { - "x": 1593413301000, - "y": 109000, - }, - Object { - "x": 1593413302000, - }, - Object { - "x": 1593413303000, - }, - Object { - "x": 1593413304000, - }, - Object { - "x": 1593413305000, - }, - Object { - "x": 1593413306000, - }, - Object { - "x": 1593413307000, - }, - Object { - "x": 1593413308000, - }, - Object { - "x": 1593413309000, - }, - Object { - "x": 1593413310000, - }, - Object { - "x": 1593413311000, - }, - Object { - "x": 1593413312000, - }, - Object { - "x": 1593413313000, - }, - Object { - "x": 1593413314000, - }, - Object { - "x": 1593413315000, - }, - Object { - "x": 1593413316000, - }, - Object { - "x": 1593413317000, - }, - Object { - "x": 1593413318000, - "y": 140000, - }, - Object { - "x": 1593413319000, - }, - Object { - "x": 1593413320000, - }, - Object { - "x": 1593413321000, - }, - Object { - "x": 1593413322000, - }, - Object { - "x": 1593413323000, - }, - Object { - "x": 1593413324000, - }, - Object { - "x": 1593413325000, - }, - Object { - "x": 1593413326000, - }, - Object { - "x": 1593413327000, - }, - Object { - "x": 1593413328000, - "y": 77000, - }, - Object { - "x": 1593413329000, - }, - Object { - "x": 1593413330000, - }, - Object { - "x": 1593413331000, - }, - Object { - "x": 1593413332000, - }, - Object { - "x": 1593413333000, - }, - Object { - "x": 1593413334000, - }, - Object { - "x": 1593413335000, - }, - Object { - "x": 1593413336000, - }, - Object { - "x": 1593413337000, - }, - Object { - "x": 1593413338000, - }, - Object { - "x": 1593413339000, - }, - Object { - "x": 1593413340000, + "x": 1599721200000, }, ], - "title": "HeadlessChrome", + "title": "Electron", }, ] `; -exports[`Average duration by browser when data is loaded returns the average duration by browser filtering by transaction name 1`] = ` +exports[`Average duration by browser when data is loaded returns the average duration by browser filtering by transaction name 2`] = ` Array [ Object { "data": Array [ Object { - "x": 1593413100000, - }, - Object { - "x": 1593413101000, - }, - Object { - "x": 1593413102000, - }, - Object { - "x": 1593413103000, - }, - Object { - "x": 1593413104000, - }, - Object { - "x": 1593413105000, - }, - Object { - "x": 1593413106000, - }, - Object { - "x": 1593413107000, - }, - Object { - "x": 1593413108000, - }, - Object { - "x": 1593413109000, - }, - Object { - "x": 1593413110000, - }, - Object { - "x": 1593413111000, - }, - Object { - "x": 1593413112000, - }, - Object { - "x": 1593413113000, - }, - Object { - "x": 1593413114000, - }, - Object { - "x": 1593413115000, - }, - Object { - "x": 1593413116000, - }, - Object { - "x": 1593413117000, - }, - Object { - "x": 1593413118000, - }, - Object { - "x": 1593413119000, - }, - Object { - "x": 1593413120000, - }, - Object { - "x": 1593413121000, - }, - Object { - "x": 1593413122000, - }, - Object { - "x": 1593413123000, - }, - Object { - "x": 1593413124000, - }, - Object { - "x": 1593413125000, - }, - Object { - "x": 1593413126000, - }, - Object { - "x": 1593413127000, - }, - Object { - "x": 1593413128000, - }, - Object { - "x": 1593413129000, - }, - Object { - "x": 1593413130000, - }, - Object { - "x": 1593413131000, - }, - Object { - "x": 1593413132000, - }, - Object { - "x": 1593413133000, - }, - Object { - "x": 1593413134000, - }, - Object { - "x": 1593413135000, - }, - Object { - "x": 1593413136000, - }, - Object { - "x": 1593413137000, - }, - Object { - "x": 1593413138000, - }, - Object { - "x": 1593413139000, - }, - Object { - "x": 1593413140000, - }, - Object { - "x": 1593413141000, - }, - Object { - "x": 1593413142000, - }, - Object { - "x": 1593413143000, - }, - Object { - "x": 1593413144000, - }, - Object { - "x": 1593413145000, - }, - Object { - "x": 1593413146000, - }, - Object { - "x": 1593413147000, - }, - Object { - "x": 1593413148000, - }, - Object { - "x": 1593413149000, - }, - Object { - "x": 1593413150000, - }, - Object { - "x": 1593413151000, - }, - Object { - "x": 1593413152000, - }, - Object { - "x": 1593413153000, - }, - Object { - "x": 1593413154000, - }, - Object { - "x": 1593413155000, - }, - Object { - "x": 1593413156000, - }, - Object { - "x": 1593413157000, - }, - Object { - "x": 1593413158000, - }, - Object { - "x": 1593413159000, - }, - Object { - "x": 1593413160000, - }, - Object { - "x": 1593413161000, - }, - Object { - "x": 1593413162000, - }, - Object { - "x": 1593413163000, - }, - Object { - "x": 1593413164000, - }, - Object { - "x": 1593413165000, - }, - Object { - "x": 1593413166000, - }, - Object { - "x": 1593413167000, - }, - Object { - "x": 1593413168000, - }, - Object { - "x": 1593413169000, - }, - Object { - "x": 1593413170000, - }, - Object { - "x": 1593413171000, - }, - Object { - "x": 1593413172000, - }, - Object { - "x": 1593413173000, - }, - Object { - "x": 1593413174000, - }, - Object { - "x": 1593413175000, - }, - Object { - "x": 1593413176000, - }, - Object { - "x": 1593413177000, - }, - Object { - "x": 1593413178000, - }, - Object { - "x": 1593413179000, - }, - Object { - "x": 1593413180000, - }, - Object { - "x": 1593413181000, - }, - Object { - "x": 1593413182000, - }, - Object { - "x": 1593413183000, - }, - Object { - "x": 1593413184000, - }, - Object { - "x": 1593413185000, - }, - Object { - "x": 1593413186000, - }, - Object { - "x": 1593413187000, - }, - Object { - "x": 1593413188000, - }, - Object { - "x": 1593413189000, - }, - Object { - "x": 1593413190000, - }, - Object { - "x": 1593413191000, - }, - Object { - "x": 1593413192000, - }, - Object { - "x": 1593413193000, - }, - Object { - "x": 1593413194000, - }, - Object { - "x": 1593413195000, - }, - Object { - "x": 1593413196000, - }, - Object { - "x": 1593413197000, - }, - Object { - "x": 1593413198000, - }, - Object { - "x": 1593413199000, - }, - Object { - "x": 1593413200000, - }, - Object { - "x": 1593413201000, - }, - Object { - "x": 1593413202000, - }, - Object { - "x": 1593413203000, - }, - Object { - "x": 1593413204000, - }, - Object { - "x": 1593413205000, - }, - Object { - "x": 1593413206000, - }, - Object { - "x": 1593413207000, - }, - Object { - "x": 1593413208000, - }, - Object { - "x": 1593413209000, - }, - Object { - "x": 1593413210000, - }, - Object { - "x": 1593413211000, - }, - Object { - "x": 1593413212000, - }, - Object { - "x": 1593413213000, - }, - Object { - "x": 1593413214000, - }, - Object { - "x": 1593413215000, - }, - Object { - "x": 1593413216000, - }, - Object { - "x": 1593413217000, - }, - Object { - "x": 1593413218000, - }, - Object { - "x": 1593413219000, - }, - Object { - "x": 1593413220000, + "x": 1599717600000, + "y": 999000, }, Object { - "x": 1593413221000, + "x": 1599717630000, + "y": 1111000, }, Object { - "x": 1593413222000, + "x": 1599717660000, }, Object { - "x": 1593413223000, + "x": 1599717690000, }, Object { - "x": 1593413224000, + "x": 1599717720000, }, Object { - "x": 1593413225000, + "x": 1599717750000, + "y": 1487000, }, Object { - "x": 1593413226000, + "x": 1599717780000, }, Object { - "x": 1593413227000, + "x": 1599717810000, }, Object { - "x": 1593413228000, + "x": 1599717840000, }, Object { - "x": 1593413229000, + "x": 1599717870000, + "y": 1326000, }, Object { - "x": 1593413230000, + "x": 1599717900000, }, Object { - "x": 1593413231000, + "x": 1599717930000, }, Object { - "x": 1593413232000, + "x": 1599717960000, }, Object { - "x": 1593413233000, + "x": 1599717990000, + "y": 792000, }, Object { - "x": 1593413234000, + "x": 1599718020000, }, Object { - "x": 1593413235000, + "x": 1599718050000, }, Object { - "x": 1593413236000, + "x": 1599718080000, }, Object { - "x": 1593413237000, + "x": 1599718110000, + "y": 1016000, }, Object { - "x": 1593413238000, + "x": 1599718140000, }, Object { - "x": 1593413239000, + "x": 1599718170000, }, Object { - "x": 1593413240000, + "x": 1599718200000, }, Object { - "x": 1593413241000, + "x": 1599718230000, + "y": 1578000, }, Object { - "x": 1593413242000, + "x": 1599718260000, }, Object { - "x": 1593413243000, + "x": 1599718290000, }, Object { - "x": 1593413244000, + "x": 1599718320000, }, Object { - "x": 1593413245000, + "x": 1599718350000, + "y": 1020000, }, Object { - "x": 1593413246000, + "x": 1599718380000, }, Object { - "x": 1593413247000, + "x": 1599718410000, }, Object { - "x": 1593413248000, + "x": 1599718440000, }, Object { - "x": 1593413249000, + "x": 1599718470000, + "y": 823000, }, Object { - "x": 1593413250000, + "x": 1599718500000, }, Object { - "x": 1593413251000, + "x": 1599718530000, }, Object { - "x": 1593413252000, + "x": 1599718560000, }, Object { - "x": 1593413253000, + "x": 1599718590000, + "y": 1311000, }, Object { - "x": 1593413254000, + "x": 1599718620000, }, Object { - "x": 1593413255000, + "x": 1599718650000, }, Object { - "x": 1593413256000, + "x": 1599718680000, }, Object { - "x": 1593413257000, + "x": 1599718710000, + "y": 1806000, }, Object { - "x": 1593413258000, + "x": 1599718740000, }, Object { - "x": 1593413259000, + "x": 1599718770000, }, Object { - "x": 1593413260000, + "x": 1599718800000, }, Object { - "x": 1593413261000, + "x": 1599718830000, + "y": 1202000, }, Object { - "x": 1593413262000, + "x": 1599718860000, }, Object { - "x": 1593413263000, + "x": 1599718890000, }, Object { - "x": 1593413264000, + "x": 1599718920000, }, Object { - "x": 1593413265000, + "x": 1599718950000, + "y": 995000, }, Object { - "x": 1593413266000, + "x": 1599718980000, }, Object { - "x": 1593413267000, + "x": 1599719010000, }, Object { - "x": 1593413268000, + "x": 1599719040000, }, Object { - "x": 1593413269000, + "x": 1599719070000, + "y": 1110000, }, Object { - "x": 1593413270000, + "x": 1599719100000, }, Object { - "x": 1593413271000, + "x": 1599719130000, }, Object { - "x": 1593413272000, + "x": 1599719160000, }, Object { - "x": 1593413273000, + "x": 1599719190000, + "y": 920000, }, Object { - "x": 1593413274000, + "x": 1599719220000, }, Object { - "x": 1593413275000, + "x": 1599719250000, }, Object { - "x": 1593413276000, + "x": 1599719280000, }, Object { - "x": 1593413277000, + "x": 1599719310000, + "y": 1074000, }, Object { - "x": 1593413278000, + "x": 1599719340000, }, Object { - "x": 1593413279000, + "x": 1599719370000, }, Object { - "x": 1593413280000, + "x": 1599719400000, }, Object { - "x": 1593413281000, + "x": 1599719430000, + "y": 902000, }, Object { - "x": 1593413282000, + "x": 1599719460000, }, Object { - "x": 1593413283000, + "x": 1599719490000, }, Object { - "x": 1593413284000, + "x": 1599719520000, }, Object { - "x": 1593413285000, + "x": 1599719550000, + "y": 931000, }, Object { - "x": 1593413286000, + "x": 1599719580000, }, Object { - "x": 1593413287000, + "x": 1599719610000, }, Object { - "x": 1593413288000, + "x": 1599719640000, }, Object { - "x": 1593413289000, + "x": 1599719670000, + "y": 1083000, }, Object { - "x": 1593413290000, + "x": 1599719700000, }, Object { - "x": 1593413291000, + "x": 1599719730000, }, Object { - "x": 1593413292000, + "x": 1599719760000, }, Object { - "x": 1593413293000, + "x": 1599719790000, + "y": 1222000, }, Object { - "x": 1593413294000, + "x": 1599719820000, }, Object { - "x": 1593413295000, + "x": 1599719850000, }, Object { - "x": 1593413296000, + "x": 1599719880000, }, Object { - "x": 1593413297000, + "x": 1599719910000, + "y": 805000, }, Object { - "x": 1593413298000, + "x": 1599719940000, }, Object { - "x": 1593413299000, + "x": 1599719970000, }, Object { - "x": 1593413300000, + "x": 1599720000000, }, Object { - "x": 1593413301000, + "x": 1599720030000, + "y": 1417000, }, Object { - "x": 1593413302000, + "x": 1599720060000, }, Object { - "x": 1593413303000, + "x": 1599720090000, }, Object { - "x": 1593413304000, + "x": 1599720120000, }, Object { - "x": 1593413305000, + "x": 1599720150000, + "y": 1122000, }, Object { - "x": 1593413306000, + "x": 1599720180000, }, Object { - "x": 1593413307000, + "x": 1599720210000, }, Object { - "x": 1593413308000, + "x": 1599720240000, + "y": 927000, }, Object { - "x": 1593413309000, + "x": 1599720270000, + "y": 1330000, }, Object { - "x": 1593413310000, + "x": 1599720300000, }, Object { - "x": 1593413311000, + "x": 1599720330000, }, Object { - "x": 1593413312000, + "x": 1599720360000, }, Object { - "x": 1593413313000, + "x": 1599720390000, + "y": 914000, }, Object { - "x": 1593413314000, + "x": 1599720420000, }, Object { - "x": 1593413315000, + "x": 1599720450000, }, Object { - "x": 1593413316000, + "x": 1599720480000, }, Object { - "x": 1593413317000, + "x": 1599720510000, + "y": 930000, }, Object { - "x": 1593413318000, + "x": 1599720540000, }, Object { - "x": 1593413319000, + "x": 1599720570000, }, Object { - "x": 1593413320000, + "x": 1599720600000, }, Object { - "x": 1593413321000, + "x": 1599720630000, + "y": 698000, }, Object { - "x": 1593413322000, + "x": 1599720660000, }, Object { - "x": 1593413323000, + "x": 1599720690000, }, Object { - "x": 1593413324000, + "x": 1599720720000, }, Object { - "x": 1593413325000, + "x": 1599720750000, + "y": 1091000, }, Object { - "x": 1593413326000, + "x": 1599720780000, }, Object { - "x": 1593413327000, + "x": 1599720810000, }, Object { - "x": 1593413328000, - "y": 77000, + "x": 1599720840000, }, Object { - "x": 1593413329000, + "x": 1599720870000, + "y": 892000, }, Object { - "x": 1593413330000, + "x": 1599720900000, }, Object { - "x": 1593413331000, + "x": 1599720930000, }, Object { - "x": 1593413332000, + "x": 1599720960000, }, Object { - "x": 1593413333000, + "x": 1599720990000, + "y": 1096000, }, Object { - "x": 1593413334000, + "x": 1599721020000, }, Object { - "x": 1593413335000, + "x": 1599721050000, }, Object { - "x": 1593413336000, + "x": 1599721080000, }, Object { - "x": 1593413337000, + "x": 1599721110000, + "y": 983000, }, Object { - "x": 1593413338000, + "x": 1599721140000, }, Object { - "x": 1593413339000, + "x": 1599721170000, }, Object { - "x": 1593413340000, + "x": 1599721200000, }, ], - "title": "HeadlessChrome", + "title": "Electron", }, ] `; diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/breakdown.snap b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/breakdown.snap index e204ff41dfa43..516523409a029 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/breakdown.snap +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/breakdown.snap @@ -7,182 +7,1970 @@ Object { "color": "#54b399", "data": Array [ Object { - "x": 1593413100000, + "x": 1599717600000, + "y": 0.058823529411764705, + }, + Object { + "x": 1599717630000, + "y": 0.037037037037037035, + }, + Object { + "x": 1599717660000, + "y": null, + }, + Object { + "x": 1599717690000, + "y": 0.07142857142857142, + }, + Object { + "x": 1599717720000, + "y": null, + }, + Object { + "x": 1599717750000, + "y": 0.023787740164684355, + }, + Object { + "x": 1599717780000, + "y": 0.19444444444444445, + }, + Object { + "x": 1599717810000, + "y": 0.1346153846153846, + }, + Object { + "x": 1599717840000, + "y": null, + }, + Object { + "x": 1599717870000, + "y": 0.6666666666666666, + }, + Object { + "x": 1599717900000, + "y": 0.04411764705882353, + }, + Object { + "x": 1599717930000, + "y": 0.30985915492957744, + }, + Object { + "x": 1599717960000, + "y": null, + }, + Object { + "x": 1599717990000, + "y": 0.1183206106870229, + }, + Object { + "x": 1599718020000, + "y": 1, + }, + Object { + "x": 1599718050000, + "y": 0.03389830508474576, + }, + Object { + "x": 1599718080000, + "y": null, + }, + Object { + "x": 1599718110000, + "y": 0.1657754010695187, + }, + Object { + "x": 1599718140000, + "y": null, + }, + Object { + "x": 1599718170000, + "y": 0.0273972602739726, + }, + Object { + "x": 1599718200000, + "y": 0.7272727272727273, + }, + Object { + "x": 1599718230000, + "y": 0.0954356846473029, + }, + Object { + "x": 1599718260000, + "y": null, + }, + Object { + "x": 1599718290000, + "y": null, + }, + Object { + "x": 1599718320000, + "y": null, + }, + Object { + "x": 1599718350000, + "y": 0.1111111111111111, + }, + Object { + "x": 1599718380000, + "y": 0.05555555555555555, + }, + Object { + "x": 1599718410000, + "y": 0.48484848484848486, + }, + Object { + "x": 1599718440000, + "y": null, + }, + Object { + "x": 1599718470000, + "y": 0.4642857142857143, + }, + Object { + "x": 1599718500000, + "y": 0.045454545454545456, + }, + Object { + "x": 1599718530000, + "y": 1, + }, + Object { + "x": 1599718560000, + "y": null, + }, + Object { + "x": 1599718590000, + "y": 0.3469387755102041, + }, + Object { + "x": 1599718620000, + "y": null, + }, + Object { + "x": 1599718650000, + "y": 0.045454545454545456, + }, + Object { + "x": 1599718680000, + "y": null, + }, + Object { + "x": 1599718710000, + "y": 0.02967032967032967, + }, + Object { + "x": 1599718740000, + "y": 0.7910447761194029, + }, + Object { + "x": 1599718770000, + "y": 0.020833333333333332, + }, + Object { + "x": 1599718800000, + "y": 0.3448275862068966, + }, + Object { + "x": 1599718830000, + "y": null, + }, + Object { + "x": 1599718860000, + "y": 0.4107142857142857, + }, + Object { + "x": 1599718890000, + "y": 0.21428571428571427, + }, + Object { + "x": 1599718920000, + "y": null, + }, + Object { + "x": 1599718950000, + "y": 0.3235294117647059, + }, + Object { + "x": 1599718980000, + "y": null, + }, + Object { + "x": 1599719010000, + "y": null, + }, + Object { + "x": 1599719040000, + "y": 0.4642857142857143, + }, + Object { + "x": 1599719070000, + "y": 0.20192307692307693, + }, + Object { + "x": 1599719100000, + "y": 0.4, + }, + Object { + "x": 1599719130000, + "y": 0.28205128205128205, + }, + Object { + "x": 1599719160000, + "y": null, + }, + Object { + "x": 1599719190000, + "y": 0.020223152022315203, + }, + Object { + "x": 1599719220000, + "y": 0.05263157894736842, + }, + Object { + "x": 1599719250000, + "y": 0.19480519480519481, + }, + Object { + "x": 1599719280000, + "y": null, + }, + Object { + "x": 1599719310000, + "y": 0.136986301369863, + }, + Object { + "x": 1599719340000, + "y": 0.3870967741935484, + }, + Object { + "x": 1599719370000, + "y": null, + }, + Object { + "x": 1599719400000, + "y": null, + }, + Object { + "x": 1599719430000, + "y": 0.11141304347826086, + }, + Object { + "x": 1599719460000, + "y": 0.5769230769230769, + }, + Object { + "x": 1599719490000, + "y": null, + }, + Object { + "x": 1599719520000, + "y": 0.041666666666666664, + }, + Object { + "x": 1599719550000, + "y": 0.02857142857142857, + }, + Object { + "x": 1599719580000, + "y": null, + }, + Object { + "x": 1599719610000, + "y": 0.35714285714285715, + }, + Object { + "x": 1599719640000, + "y": null, + }, + Object { + "x": 1599719670000, + "y": 0.2903225806451613, + }, + Object { + "x": 1599719700000, + "y": null, + }, + Object { + "x": 1599719730000, + "y": null, + }, + Object { + "x": 1599719760000, + "y": 0.6222222222222222, + }, + Object { + "x": 1599719790000, + "y": 0.17857142857142858, + }, + Object { + "x": 1599719820000, + "y": null, + }, + Object { + "x": 1599719850000, + "y": 0.4807692307692308, + }, + Object { + "x": 1599719880000, + "y": null, + }, + Object { + "x": 1599719910000, + "y": 0.5348837209302325, + }, + Object { + "x": 1599719940000, + "y": null, + }, + Object { + "x": 1599719970000, + "y": null, + }, + Object { + "x": 1599720000000, + "y": 0.24444444444444444, + }, + Object { + "x": 1599720030000, + "y": 0.4, + }, + Object { + "x": 1599720060000, + "y": null, + }, + Object { + "x": 1599720090000, + "y": 1, + }, + Object { + "x": 1599720120000, + "y": null, + }, + Object { + "x": 1599720150000, + "y": null, + }, + Object { + "x": 1599720180000, + "y": null, + }, + Object { + "x": 1599720210000, + "y": 0.3793103448275862, + }, + Object { + "x": 1599720240000, + "y": null, + }, + Object { + "x": 1599720270000, + "y": 0.20202020202020202, + }, + Object { + "x": 1599720300000, + "y": null, + }, + Object { + "x": 1599720330000, + "y": 0.023121387283236993, + }, + Object { + "x": 1599720360000, + "y": null, + }, + Object { + "x": 1599720390000, + "y": 1, + }, + Object { + "x": 1599720420000, + "y": 0.3076923076923077, + }, + Object { + "x": 1599720450000, + "y": 0.24675324675324675, + }, + Object { + "x": 1599720480000, + "y": null, + }, + Object { + "x": 1599720510000, + "y": 0.875, + }, + Object { + "x": 1599720540000, + "y": 0.47368421052631576, + }, + Object { + "x": 1599720570000, + "y": null, + }, + Object { + "x": 1599720600000, + "y": null, + }, + Object { + "x": 1599720630000, + "y": 0.22580645161290322, + }, + Object { + "x": 1599720660000, + "y": 0.391304347826087, + }, + Object { + "x": 1599720690000, + "y": 0.75, + }, + Object { + "x": 1599720720000, + "y": null, + }, + Object { + "x": 1599720750000, + "y": 0.7804878048780488, + }, + Object { + "x": 1599720780000, + "y": 0.18518518518518517, + }, + Object { + "x": 1599720810000, + "y": 0.24074074074074073, + }, + Object { + "x": 1599720840000, + "y": null, + }, + Object { + "x": 1599720870000, + "y": 1, + }, + Object { + "x": 1599720900000, + "y": 0.1111111111111111, + }, + Object { + "x": 1599720930000, + "y": 0.5161290322580645, + }, + Object { + "x": 1599720960000, + "y": null, + }, + Object { + "x": 1599720990000, + "y": 0.14285714285714285, + }, + Object { + "x": 1599721020000, + "y": 1, + }, + Object { + "x": 1599721050000, + "y": 0.7272727272727273, + }, + Object { + "x": 1599721080000, + "y": null, + }, + Object { + "x": 1599721110000, + "y": 0.059027777777777776, + }, + Object { + "x": 1599721140000, + "y": 0.022727272727272728, + }, + Object { + "x": 1599721170000, "y": null, }, Object { - "x": 1593413130000, - "y": null, + "x": 1599721200000, + "y": null, + }, + ], + "hideLegend": false, + "legendValue": "14%", + "title": "app", + "type": "areaStacked", + }, + Object { + "color": "#6092c0", + "data": Array [ + Object { + "x": 1599717600000, + "y": 0.9411764705882353, + }, + Object { + "x": 1599717630000, + "y": 0.9629629629629629, + }, + Object { + "x": 1599717660000, + "y": null, + }, + Object { + "x": 1599717690000, + "y": 0.9285714285714286, + }, + Object { + "x": 1599717720000, + "y": null, + }, + Object { + "x": 1599717750000, + "y": 0.9734675205855444, + }, + Object { + "x": 1599717780000, + "y": 0.8055555555555556, + }, + Object { + "x": 1599717810000, + "y": 0.8653846153846154, + }, + Object { + "x": 1599717840000, + "y": null, + }, + Object { + "x": 1599717870000, + "y": 0, + }, + Object { + "x": 1599717900000, + "y": 0.9558823529411765, + }, + Object { + "x": 1599717930000, + "y": 0.6901408450704225, + }, + Object { + "x": 1599717960000, + "y": null, + }, + Object { + "x": 1599717990000, + "y": 0.7404580152671756, + }, + Object { + "x": 1599718020000, + "y": 0, + }, + Object { + "x": 1599718050000, + "y": 0.9661016949152542, + }, + Object { + "x": 1599718080000, + "y": null, + }, + Object { + "x": 1599718110000, + "y": 0.6363636363636364, + }, + Object { + "x": 1599718140000, + "y": null, + }, + Object { + "x": 1599718170000, + "y": 0.9726027397260274, + }, + Object { + "x": 1599718200000, + "y": 0, + }, + Object { + "x": 1599718230000, + "y": 0.8921161825726142, + }, + Object { + "x": 1599718260000, + "y": null, + }, + Object { + "x": 1599718290000, + "y": null, + }, + Object { + "x": 1599718320000, + "y": null, + }, + Object { + "x": 1599718350000, + "y": 0.8888888888888888, + }, + Object { + "x": 1599718380000, + "y": 0.9444444444444444, + }, + Object { + "x": 1599718410000, + "y": 0, + }, + Object { + "x": 1599718440000, + "y": null, + }, + Object { + "x": 1599718470000, + "y": 0.38392857142857145, + }, + Object { + "x": 1599718500000, + "y": 0.9545454545454546, + }, + Object { + "x": 1599718530000, + "y": 0, + }, + Object { + "x": 1599718560000, + "y": null, + }, + Object { + "x": 1599718590000, + "y": 0.3877551020408163, + }, + Object { + "x": 1599718620000, + "y": null, + }, + Object { + "x": 1599718650000, + "y": 0.9545454545454546, + }, + Object { + "x": 1599718680000, + "y": null, + }, + Object { + "x": 1599718710000, + "y": 0.9560439560439561, + }, + Object { + "x": 1599718740000, + "y": 0.208955223880597, + }, + Object { + "x": 1599718770000, + "y": 0.9791666666666666, + }, + Object { + "x": 1599718800000, + "y": 0, + }, + Object { + "x": 1599718830000, + "y": null, + }, + Object { + "x": 1599718860000, + "y": 0, + }, + Object { + "x": 1599718890000, + "y": 0.5833333333333334, + }, + Object { + "x": 1599718920000, + "y": null, + }, + Object { + "x": 1599718950000, + "y": 0.5882352941176471, + }, + Object { + "x": 1599718980000, + "y": null, + }, + Object { + "x": 1599719010000, + "y": null, + }, + Object { + "x": 1599719040000, + "y": 0.5357142857142857, + }, + Object { + "x": 1599719070000, + "y": 0.5, + }, + Object { + "x": 1599719100000, + "y": 0, + }, + Object { + "x": 1599719130000, + "y": 0.6410256410256411, + }, + Object { + "x": 1599719160000, + "y": null, + }, + Object { + "x": 1599719190000, + "y": 0.9672245467224547, + }, + Object { + "x": 1599719220000, + "y": 0.9473684210526315, + }, + Object { + "x": 1599719250000, + "y": 0.7922077922077922, + }, + Object { + "x": 1599719280000, + "y": null, + }, + Object { + "x": 1599719310000, + "y": 0.8356164383561644, + }, + Object { + "x": 1599719340000, + "y": 0.1935483870967742, + }, + Object { + "x": 1599719370000, + "y": null, + }, + Object { + "x": 1599719400000, + "y": null, + }, + Object { + "x": 1599719430000, + "y": 0.8777173913043478, + }, + Object { + "x": 1599719460000, + "y": 0.28205128205128205, + }, + Object { + "x": 1599719490000, + "y": null, + }, + Object { + "x": 1599719520000, + "y": 0.9583333333333334, + }, + Object { + "x": 1599719550000, + "y": 0.9714285714285714, + }, + Object { + "x": 1599719580000, + "y": null, + }, + Object { + "x": 1599719610000, + "y": 0, + }, + Object { + "x": 1599719640000, + "y": null, + }, + Object { + "x": 1599719670000, + "y": 0.5725806451612904, + }, + Object { + "x": 1599719700000, + "y": null, + }, + Object { + "x": 1599719730000, + "y": null, + }, + Object { + "x": 1599719760000, + "y": 0.37777777777777777, + }, + Object { + "x": 1599719790000, + "y": 0.5, + }, + Object { + "x": 1599719820000, + "y": null, + }, + Object { + "x": 1599719850000, + "y": 0.5192307692307693, + }, + Object { + "x": 1599719880000, + "y": null, + }, + Object { + "x": 1599719910000, + "y": 0.46511627906976744, + }, + Object { + "x": 1599719940000, + "y": null, + }, + Object { + "x": 1599719970000, + "y": null, + }, + Object { + "x": 1599720000000, + "y": 0.6666666666666666, + }, + Object { + "x": 1599720030000, + "y": 0.45, + }, + Object { + "x": 1599720060000, + "y": null, + }, + Object { + "x": 1599720090000, + "y": 0, + }, + Object { + "x": 1599720120000, + "y": null, + }, + Object { + "x": 1599720150000, + "y": null, + }, + Object { + "x": 1599720180000, + "y": null, + }, + Object { + "x": 1599720210000, + "y": 0, + }, + Object { + "x": 1599720240000, + "y": null, + }, + Object { + "x": 1599720270000, + "y": 0.797979797979798, + }, + Object { + "x": 1599720300000, + "y": null, + }, + Object { + "x": 1599720330000, + "y": 0.976878612716763, + }, + Object { + "x": 1599720360000, + "y": null, + }, + Object { + "x": 1599720390000, + "y": 0, + }, + Object { + "x": 1599720420000, + "y": 0.6410256410256411, + }, + Object { + "x": 1599720450000, + "y": 0.5064935064935064, + }, + Object { + "x": 1599720480000, + "y": null, + }, + Object { + "x": 1599720510000, + "y": 0, + }, + Object { + "x": 1599720540000, + "y": 0, + }, + Object { + "x": 1599720570000, + "y": null, + }, + Object { + "x": 1599720600000, + "y": null, + }, + Object { + "x": 1599720630000, + "y": 0.7258064516129032, + }, + Object { + "x": 1599720660000, + "y": 0, + }, + Object { + "x": 1599720690000, + "y": 0, }, Object { - "x": 1593413160000, + "x": 1599720720000, "y": null, }, Object { - "x": 1593413190000, - "y": null, + "x": 1599720750000, + "y": 0.21951219512195122, + }, + Object { + "x": 1599720780000, + "y": 0.6111111111111112, + }, + Object { + "x": 1599720810000, + "y": 0.6851851851851852, }, Object { - "x": 1593413220000, + "x": 1599720840000, "y": null, }, Object { - "x": 1593413250000, + "x": 1599720870000, + "y": 0, + }, + Object { + "x": 1599720900000, + "y": 0.7, + }, + Object { + "x": 1599720930000, + "y": 0.41935483870967744, + }, + Object { + "x": 1599720960000, "y": null, }, Object { - "x": 1593413280000, + "x": 1599720990000, + "y": 0.7428571428571429, + }, + Object { + "x": 1599721020000, + "y": 0, + }, + Object { + "x": 1599721050000, + "y": 0, + }, + Object { + "x": 1599721080000, "y": null, }, Object { - "x": 1593413310000, - "y": 0.16700861715223636, + "x": 1599721110000, + "y": 0.8506944444444444, + }, + Object { + "x": 1599721140000, + "y": 0.9772727272727273, + }, + Object { + "x": 1599721170000, + "y": null, }, Object { - "x": 1593413340000, + "x": 1599721200000, "y": null, }, ], "hideLegend": false, - "legendValue": "17%", - "title": "app", + "legendValue": "79%", + "title": "http", "type": "areaStacked", }, Object { - "color": "#6092c0", + "color": "#d36086", "data": Array [ Object { - "x": 1593413100000, + "x": 1599717600000, + "y": 0, + }, + Object { + "x": 1599717630000, + "y": 0, + }, + Object { + "x": 1599717660000, "y": null, }, Object { - "x": 1593413130000, + "x": 1599717690000, + "y": 0, + }, + Object { + "x": 1599717720000, "y": null, }, Object { - "x": 1593413160000, + "x": 1599717750000, + "y": 0.0027447392497712718, + }, + Object { + "x": 1599717780000, + "y": 0, + }, + Object { + "x": 1599717810000, + "y": 0, + }, + Object { + "x": 1599717840000, "y": null, }, Object { - "x": 1593413190000, + "x": 1599717870000, + "y": 0.3333333333333333, + }, + Object { + "x": 1599717900000, + "y": 0, + }, + Object { + "x": 1599717930000, + "y": 0, + }, + Object { + "x": 1599717960000, "y": null, }, Object { - "x": 1593413220000, + "x": 1599717990000, + "y": 0.14122137404580154, + }, + Object { + "x": 1599718020000, + "y": 0, + }, + Object { + "x": 1599718050000, + "y": 0, + }, + Object { + "x": 1599718080000, "y": null, }, Object { - "x": 1593413250000, + "x": 1599718110000, + "y": 0.19786096256684493, + }, + Object { + "x": 1599718140000, "y": null, }, Object { - "x": 1593413280000, + "x": 1599718170000, + "y": 0, + }, + Object { + "x": 1599718200000, + "y": 0.2727272727272727, + }, + Object { + "x": 1599718230000, + "y": 0.012448132780082987, + }, + Object { + "x": 1599718260000, "y": null, }, Object { - "x": 1593413310000, - "y": 0.7702092736971686, + "x": 1599718290000, + "y": null, }, Object { - "x": 1593413340000, + "x": 1599718320000, "y": null, }, - ], - "hideLegend": false, - "legendValue": "77%", - "title": "http", - "type": "areaStacked", - }, - Object { - "color": "#d36086", - "data": Array [ Object { - "x": 1593413100000, + "x": 1599718350000, + "y": 0, + }, + Object { + "x": 1599718380000, + "y": 0, + }, + Object { + "x": 1599718410000, + "y": 0.5151515151515151, + }, + Object { + "x": 1599718440000, + "y": null, + }, + Object { + "x": 1599718470000, + "y": 0.15178571428571427, + }, + Object { + "x": 1599718500000, + "y": 0, + }, + Object { + "x": 1599718530000, + "y": 0, + }, + Object { + "x": 1599718560000, + "y": null, + }, + Object { + "x": 1599718590000, + "y": 0.2653061224489796, + }, + Object { + "x": 1599718620000, "y": null, }, Object { - "x": 1593413130000, + "x": 1599718650000, + "y": 0, + }, + Object { + "x": 1599718680000, "y": null, }, Object { - "x": 1593413160000, + "x": 1599718710000, + "y": 0.014285714285714285, + }, + Object { + "x": 1599718740000, + "y": 0, + }, + Object { + "x": 1599718770000, + "y": 0, + }, + Object { + "x": 1599718800000, + "y": 0.6551724137931034, + }, + Object { + "x": 1599718830000, "y": null, }, Object { - "x": 1593413190000, + "x": 1599718860000, + "y": 0.5892857142857143, + }, + Object { + "x": 1599718890000, + "y": 0.20238095238095238, + }, + Object { + "x": 1599718920000, "y": null, }, Object { - "x": 1593413220000, + "x": 1599718950000, + "y": 0.08823529411764706, + }, + Object { + "x": 1599718980000, "y": null, }, Object { - "x": 1593413250000, + "x": 1599719010000, "y": null, }, Object { - "x": 1593413280000, + "x": 1599719040000, + "y": 0, + }, + Object { + "x": 1599719070000, + "y": 0.2980769230769231, + }, + Object { + "x": 1599719100000, + "y": 0.6, + }, + Object { + "x": 1599719130000, + "y": 0.07692307692307693, + }, + Object { + "x": 1599719160000, "y": null, }, Object { - "x": 1593413310000, - "y": 0.0508822322527698, + "x": 1599719190000, + "y": 0.012552301255230125, + }, + Object { + "x": 1599719220000, + "y": 0, + }, + Object { + "x": 1599719250000, + "y": 0.012987012987012988, }, Object { - "x": 1593413340000, + "x": 1599719280000, "y": null, }, - ], - "hideLegend": false, - "legendValue": "5.1%", - "title": "postgresql", - "type": "areaStacked", - }, - Object { - "color": "#9170b8", - "data": Array [ Object { - "x": 1593413100000, + "x": 1599719310000, + "y": 0.0273972602739726, + }, + Object { + "x": 1599719340000, + "y": 0.41935483870967744, + }, + Object { + "x": 1599719370000, "y": null, }, Object { - "x": 1593413130000, + "x": 1599719400000, "y": null, }, Object { - "x": 1593413160000, + "x": 1599719430000, + "y": 0.010869565217391304, + }, + Object { + "x": 1599719460000, + "y": 0.14102564102564102, + }, + Object { + "x": 1599719490000, + "y": null, + }, + Object { + "x": 1599719520000, + "y": 0, + }, + Object { + "x": 1599719550000, + "y": 0, + }, + Object { + "x": 1599719580000, + "y": null, + }, + Object { + "x": 1599719610000, + "y": 0.6428571428571429, + }, + Object { + "x": 1599719640000, + "y": null, + }, + Object { + "x": 1599719670000, + "y": 0.13709677419354838, + }, + Object { + "x": 1599719700000, + "y": null, + }, + Object { + "x": 1599719730000, + "y": null, + }, + Object { + "x": 1599719760000, + "y": 0, + }, + Object { + "x": 1599719790000, + "y": 0.32142857142857145, + }, + Object { + "x": 1599719820000, + "y": null, + }, + Object { + "x": 1599719850000, + "y": 0, + }, + Object { + "x": 1599719880000, + "y": null, + }, + Object { + "x": 1599719910000, + "y": 0, + }, + Object { + "x": 1599719940000, + "y": null, + }, + Object { + "x": 1599719970000, + "y": null, + }, + Object { + "x": 1599720000000, + "y": 0.08888888888888889, + }, + Object { + "x": 1599720030000, + "y": 0.15, + }, + Object { + "x": 1599720060000, + "y": null, + }, + Object { + "x": 1599720090000, + "y": 0, + }, + Object { + "x": 1599720120000, + "y": null, + }, + Object { + "x": 1599720150000, + "y": null, + }, + Object { + "x": 1599720180000, + "y": null, + }, + Object { + "x": 1599720210000, + "y": 0.6206896551724138, + }, + Object { + "x": 1599720240000, + "y": null, + }, + Object { + "x": 1599720270000, + "y": 0, + }, + Object { + "x": 1599720300000, + "y": null, + }, + Object { + "x": 1599720330000, + "y": 0, + }, + Object { + "x": 1599720360000, + "y": null, + }, + Object { + "x": 1599720390000, + "y": 0, + }, + Object { + "x": 1599720420000, + "y": 0.05128205128205128, + }, + Object { + "x": 1599720450000, + "y": 0.24675324675324675, + }, + Object { + "x": 1599720480000, + "y": null, + }, + Object { + "x": 1599720510000, + "y": 0.125, + }, + Object { + "x": 1599720540000, + "y": 0.5263157894736842, + }, + Object { + "x": 1599720570000, + "y": null, + }, + Object { + "x": 1599720600000, "y": null, }, Object { - "x": 1593413190000, + "x": 1599720630000, + "y": 0.04838709677419355, + }, + Object { + "x": 1599720660000, + "y": 0.6086956521739131, + }, + Object { + "x": 1599720690000, + "y": 0.25, + }, + Object { + "x": 1599720720000, "y": null, }, Object { - "x": 1593413220000, + "x": 1599720750000, + "y": 0, + }, + Object { + "x": 1599720780000, + "y": 0.2037037037037037, + }, + Object { + "x": 1599720810000, + "y": 0.07407407407407407, + }, + Object { + "x": 1599720840000, "y": null, }, Object { - "x": 1593413250000, + "x": 1599720870000, + "y": 0, + }, + Object { + "x": 1599720900000, + "y": 0.18888888888888888, + }, + Object { + "x": 1599720930000, + "y": 0.06451612903225806, + }, + Object { + "x": 1599720960000, "y": null, }, Object { - "x": 1593413280000, + "x": 1599720990000, + "y": 0.11428571428571428, + }, + Object { + "x": 1599721020000, + "y": 0, + }, + Object { + "x": 1599721050000, + "y": 0.2727272727272727, + }, + Object { + "x": 1599721080000, "y": null, }, Object { - "x": 1593413310000, - "y": 0.011899876897825195, + "x": 1599721110000, + "y": 0.09027777777777778, }, Object { - "x": 1593413340000, + "x": 1599721140000, + "y": 0, + }, + Object { + "x": 1599721170000, + "y": null, + }, + Object { + "x": 1599721200000, "y": null, }, ], "hideLegend": false, - "legendValue": "1.2%", - "title": "redis", + "legendValue": "6.4%", + "title": "postgresql", "type": "areaStacked", }, ], } `; + +exports[`Breakdown when data is loaded returns the transaction breakdown for a transaction group 9`] = ` +Array [ + Object { + "x": 1599717600000, + "y": 1, + }, + Object { + "x": 1599717630000, + "y": 1, + }, + Object { + "x": 1599717660000, + "y": null, + }, + Object { + "x": 1599717690000, + "y": 1, + }, + Object { + "x": 1599717720000, + "y": null, + }, + Object { + "x": 1599717750000, + "y": 1, + }, + Object { + "x": 1599717780000, + "y": 1, + }, + Object { + "x": 1599717810000, + "y": 1, + }, + Object { + "x": 1599717840000, + "y": null, + }, + Object { + "x": 1599717870000, + "y": null, + }, + Object { + "x": 1599717900000, + "y": 1, + }, + Object { + "x": 1599717930000, + "y": 1, + }, + Object { + "x": 1599717960000, + "y": null, + }, + Object { + "x": 1599717990000, + "y": 1, + }, + Object { + "x": 1599718020000, + "y": null, + }, + Object { + "x": 1599718050000, + "y": 1, + }, + Object { + "x": 1599718080000, + "y": null, + }, + Object { + "x": 1599718110000, + "y": 1, + }, + Object { + "x": 1599718140000, + "y": null, + }, + Object { + "x": 1599718170000, + "y": 1, + }, + Object { + "x": 1599718200000, + "y": null, + }, + Object { + "x": 1599718230000, + "y": 1, + }, + Object { + "x": 1599718260000, + "y": null, + }, + Object { + "x": 1599718290000, + "y": null, + }, + Object { + "x": 1599718320000, + "y": null, + }, + Object { + "x": 1599718350000, + "y": 1, + }, + Object { + "x": 1599718380000, + "y": 1, + }, + Object { + "x": 1599718410000, + "y": null, + }, + Object { + "x": 1599718440000, + "y": null, + }, + Object { + "x": 1599718470000, + "y": 1, + }, + Object { + "x": 1599718500000, + "y": 1, + }, + Object { + "x": 1599718530000, + "y": null, + }, + Object { + "x": 1599718560000, + "y": null, + }, + Object { + "x": 1599718590000, + "y": 1, + }, + Object { + "x": 1599718620000, + "y": null, + }, + Object { + "x": 1599718650000, + "y": 1, + }, + Object { + "x": 1599718680000, + "y": null, + }, + Object { + "x": 1599718710000, + "y": 1, + }, + Object { + "x": 1599718740000, + "y": 1, + }, + Object { + "x": 1599718770000, + "y": 1, + }, + Object { + "x": 1599718800000, + "y": null, + }, + Object { + "x": 1599718830000, + "y": null, + }, + Object { + "x": 1599718860000, + "y": null, + }, + Object { + "x": 1599718890000, + "y": 1, + }, + Object { + "x": 1599718920000, + "y": null, + }, + Object { + "x": 1599718950000, + "y": 1, + }, + Object { + "x": 1599718980000, + "y": null, + }, + Object { + "x": 1599719010000, + "y": null, + }, + Object { + "x": 1599719040000, + "y": 1, + }, + Object { + "x": 1599719070000, + "y": 1, + }, + Object { + "x": 1599719100000, + "y": null, + }, + Object { + "x": 1599719130000, + "y": 1, + }, + Object { + "x": 1599719160000, + "y": null, + }, + Object { + "x": 1599719190000, + "y": 1, + }, + Object { + "x": 1599719220000, + "y": 1, + }, + Object { + "x": 1599719250000, + "y": 1, + }, + Object { + "x": 1599719280000, + "y": null, + }, + Object { + "x": 1599719310000, + "y": 1, + }, + Object { + "x": 1599719340000, + "y": 1, + }, + Object { + "x": 1599719370000, + "y": null, + }, + Object { + "x": 1599719400000, + "y": null, + }, + Object { + "x": 1599719430000, + "y": 1, + }, + Object { + "x": 1599719460000, + "y": 1, + }, + Object { + "x": 1599719490000, + "y": null, + }, + Object { + "x": 1599719520000, + "y": 1, + }, + Object { + "x": 1599719550000, + "y": 1, + }, + Object { + "x": 1599719580000, + "y": null, + }, + Object { + "x": 1599719610000, + "y": null, + }, + Object { + "x": 1599719640000, + "y": null, + }, + Object { + "x": 1599719670000, + "y": 1, + }, + Object { + "x": 1599719700000, + "y": null, + }, + Object { + "x": 1599719730000, + "y": null, + }, + Object { + "x": 1599719760000, + "y": 1, + }, + Object { + "x": 1599719790000, + "y": 1, + }, + Object { + "x": 1599719820000, + "y": null, + }, + Object { + "x": 1599719850000, + "y": 1, + }, + Object { + "x": 1599719880000, + "y": null, + }, + Object { + "x": 1599719910000, + "y": 1, + }, + Object { + "x": 1599719940000, + "y": null, + }, + Object { + "x": 1599719970000, + "y": null, + }, + Object { + "x": 1599720000000, + "y": 1, + }, + Object { + "x": 1599720030000, + "y": 1, + }, + Object { + "x": 1599720060000, + "y": null, + }, + Object { + "x": 1599720090000, + "y": null, + }, + Object { + "x": 1599720120000, + "y": null, + }, + Object { + "x": 1599720150000, + "y": null, + }, + Object { + "x": 1599720180000, + "y": null, + }, + Object { + "x": 1599720210000, + "y": null, + }, + Object { + "x": 1599720240000, + "y": null, + }, + Object { + "x": 1599720270000, + "y": 1, + }, + Object { + "x": 1599720300000, + "y": null, + }, + Object { + "x": 1599720330000, + "y": 1, + }, + Object { + "x": 1599720360000, + "y": null, + }, + Object { + "x": 1599720390000, + "y": null, + }, + Object { + "x": 1599720420000, + "y": 1, + }, + Object { + "x": 1599720450000, + "y": 1, + }, + Object { + "x": 1599720480000, + "y": null, + }, + Object { + "x": 1599720510000, + "y": null, + }, + Object { + "x": 1599720540000, + "y": null, + }, + Object { + "x": 1599720570000, + "y": null, + }, + Object { + "x": 1599720600000, + "y": null, + }, + Object { + "x": 1599720630000, + "y": 1, + }, + Object { + "x": 1599720660000, + "y": null, + }, + Object { + "x": 1599720690000, + "y": null, + }, + Object { + "x": 1599720720000, + "y": null, + }, + Object { + "x": 1599720750000, + "y": 1, + }, + Object { + "x": 1599720780000, + "y": 1, + }, + Object { + "x": 1599720810000, + "y": 1, + }, + Object { + "x": 1599720840000, + "y": null, + }, + Object { + "x": 1599720870000, + "y": null, + }, + Object { + "x": 1599720900000, + "y": 1, + }, + Object { + "x": 1599720930000, + "y": 1, + }, + Object { + "x": 1599720960000, + "y": null, + }, + Object { + "x": 1599720990000, + "y": 1, + }, + Object { + "x": 1599721020000, + "y": null, + }, + Object { + "x": 1599721050000, + "y": null, + }, + Object { + "x": 1599721080000, + "y": null, + }, + Object { + "x": 1599721110000, + "y": 1, + }, + Object { + "x": 1599721140000, + "y": 1, + }, + Object { + "x": 1599721170000, + "y": null, + }, + Object { + "x": 1599721200000, + "y": null, + }, +] +`; diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/top_transaction_groups.snap b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/top_transaction_groups.snap index 16a5640c5305b..0a656d5c728a2 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/top_transaction_groups.snap +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/top_transaction_groups.snap @@ -3,130 +3,95 @@ exports[`Top transaction groups when data is loaded returns the correct buckets (when ignoring samples) 1`] = ` Array [ Object { - "averageResponseTime": 2577, + "averageResponseTime": 2612, "impact": 0, - "key": "GET /throw-error", - "p95": 3224, - "transactionsPerMinute": 0.5, - }, - Object { - "averageResponseTime": 4757, - "impact": 0.20830834986820673, - "key": "GET /api/products/:id/customers", - "p95": 5616, - "transactionsPerMinute": 0.5, - }, - Object { - "averageResponseTime": 4749.666666666667, - "impact": 0.43453312891085794, - "key": "GET /api/orders/:id", - "p95": 7184, - "transactionsPerMinute": 0.75, + "key": "POST /api/orders", + "p95": 2608, + "transactionsPerMinute": 0.016666666666666666, }, Object { - "averageResponseTime": 8181, - "impact": 0.5354862351657939, + "averageResponseTime": 8710, + "impact": 0.21594473634705155, "key": "GET /api/types/:id", - "p95": 10080, - "transactionsPerMinute": 0.5, - }, - Object { - "averageResponseTime": 20011, - "impact": 0.7098250353192541, - "key": "POST /api", - "p95": 19968, - "transactionsPerMinute": 0.25, - }, - Object { - "averageResponseTime": 35846, - "impact": 1.466376117925459, - "key": "GET /log-error", - "p95": 35840, - "transactionsPerMinute": 0.25, + "p95": 8832, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 7105.333333333333, - "impact": 1.7905918202662048, - "key": "GET /api/stats", - "p95": 15136, - "transactionsPerMinute": 1.5, + "averageResponseTime": 15469, + "impact": 0.41307743123761353, + "key": "GET /api/products/:id/customers", + "p95": 17728, + "transactionsPerMinute": 0.03333333333333333, }, Object { - "averageResponseTime": 22958.5, - "impact": 1.9475397398343375, - "key": "GET /api/products/top", - "p95": 33216, - "transactionsPerMinute": 0.5, + "averageResponseTime": 11161.5, + "impact": 0.6129808919240927, + "key": "GET /api/customers/:id", + "p95": 16096, + "transactionsPerMinute": 0.06666666666666667, }, Object { - "averageResponseTime": 3492.9285714285716, - "impact": 2.0901067389184496, - "key": "GET static file", - "p95": 11900, - "transactionsPerMinute": 3.5, + "averageResponseTime": 8115.166666666667, + "impact": 0.6719690374213795, + "key": "GET /api/types", + "p95": 12336, + "transactionsPerMinute": 0.1, }, Object { - "averageResponseTime": 26992.5, - "impact": 2.3330057413794503, - "key": "GET /api/types", - "p95": 45248, - "transactionsPerMinute": 0.5, + "averageResponseTime": 10863.6, + "impact": 0.7540274539141442, + "key": "GET /api/orders/:id", + "p95": 20192, + "transactionsPerMinute": 0.08333333333333333, }, Object { - "averageResponseTime": 13516.5, - "impact": 2.3368756900811305, + "averageResponseTime": 9906, + "impact": 0.8286631346694258, "key": "GET /api/products/:id", - "p95": 37856, - "transactionsPerMinute": 1, + "p95": 13280, + "transactionsPerMinute": 0.1, }, Object { - "averageResponseTime": 8585, - "impact": 2.624924094061731, + "averageResponseTime": 8524.454545454546, + "impact": 1.329340513991638, "key": "GET /api/products", - "p95": 22112, - "transactionsPerMinute": 1.75, + "p95": 14256, + "transactionsPerMinute": 0.18333333333333332, }, Object { - "averageResponseTime": 7615.625, - "impact": 2.6645791239678345, + "averageResponseTime": 12947, + "impact": 1.472355777994578, "key": "GET /api/orders", - "p95": 11616, - "transactionsPerMinute": 2, + "p95": 25584, + "transactionsPerMinute": 0.13333333333333333, }, Object { - "averageResponseTime": 3262.95, - "impact": 2.8716452680799467, - "key": "GET /*", - "p95": 4472, - "transactionsPerMinute": 5, - }, - Object { - "averageResponseTime": 32667.5, - "impact": 2.875276331059301, - "key": "GET /log-message", - "p95": 38528, - "transactionsPerMinute": 0.5, + "averageResponseTime": 11307.75, + "impact": 2.6003199505345393, + "key": "GET /api/products/top", + "p95": 16304, + "transactionsPerMinute": 0.26666666666666666, }, Object { - "averageResponseTime": 16896.8, - "impact": 3.790160870423129, + "averageResponseTime": 26755.666666666668, + "impact": 4.644036801602961, "key": "GET /api/customers", - "p95": 26432, - "transactionsPerMinute": 1.25, + "p95": 39104, + "transactionsPerMinute": 0.2, }, Object { - "averageResponseTime": 270684, - "impact": 12.686265169840583, - "key": "POST /api/orders", - "p95": 270336, - "transactionsPerMinute": 0.25, + "averageResponseTime": 17851.384615384617, + "impact": 6.730394279972759, + "key": "GET /api/stats", + "p95": 24416, + "transactionsPerMinute": 0.43333333333333335, }, Object { - "averageResponseTime": 51175.73170731707, + "averageResponseTime": 61249.30357142857, "impact": 100, "key": "GET /api", - "p95": 259040, - "transactionsPerMinute": 10.25, + "p95": 162784, + "transactionsPerMinute": 1.8666666666666667, }, ] `; diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/transaction_charts.snap b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/transaction_charts.snap index 0ac7741396fd4..c4b9e1ad6c931 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/transaction_charts.snap +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/__snapshots__/transaction_charts.snap @@ -1,7755 +1,3425 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[`Transaction charts when data is loaded returns the transaction charts 1`] = ` +exports[`Transaction charts when data is loaded returns the correct data 4`] = ` Object { "apmTimeseries": Object { - "overallAvgDuration": 38682.52419354839, + "overallAvgDuration": 578297.1431623931, "responseTimes": Object { "avg": Array [ Object { - "x": 1593413100000, - "y": null, + "x": 1599717600000, + "y": 311706, }, Object { - "x": 1593413101000, - "y": null, + "x": 1599717630000, + "y": 885570.5, }, Object { - "x": 1593413102000, - "y": null, + "x": 1599717660000, + "y": 388852.6666666667, }, Object { - "x": 1593413103000, - "y": null, + "x": 1599717690000, + "y": 503725.75, }, Object { - "x": 1593413104000, - "y": null, + "x": 1599717720000, + "y": 647100.2857142857, }, Object { - "x": 1593413105000, - "y": null, + "x": 1599717750000, + "y": 658360.4285714285, }, Object { - "x": 1593413106000, - "y": null, + "x": 1599717780000, + "y": 308246.25, }, Object { - "x": 1593413107000, - "y": null, + "x": 1599717810000, + "y": 1104229.3333333333, }, Object { - "x": 1593413108000, - "y": null, + "x": 1599717840000, + "y": 438727.6666666667, }, Object { - "x": 1593413109000, - "y": null, + "x": 1599717870000, + "y": 475918, }, Object { - "x": 1593413110000, - "y": null, + "x": 1599717900000, + "y": 254092.33333333334, }, Object { - "x": 1593413111000, - "y": null, + "x": 1599717930000, + "y": 1103846.6666666667, }, Object { - "x": 1593413112000, - "y": null, + "x": 1599717960000, + "y": 70868.8, }, Object { - "x": 1593413113000, - "y": null, + "x": 1599717990000, + "y": 384811.5, }, Object { - "x": 1593413114000, - "y": null, + "x": 1599718020000, + "y": 1139810, }, Object { - "x": 1593413115000, - "y": null, + "x": 1599718050000, + "y": 938950, }, Object { - "x": 1593413116000, - "y": null, + "x": 1599718080000, + "y": 286195.4285714286, }, Object { - "x": 1593413117000, - "y": null, + "x": 1599718110000, + "y": 373445.5, }, Object { - "x": 1593413118000, - "y": null, + "x": 1599718140000, + "y": 747249.6, }, Object { - "x": 1593413119000, - "y": null, + "x": 1599718170000, + "y": 1110552.6666666667, }, Object { - "x": 1593413120000, - "y": null, + "x": 1599718200000, + "y": 206614.66666666666, }, Object { - "x": 1593413121000, - "y": null, + "x": 1599718230000, + "y": 412294, }, Object { - "x": 1593413122000, - "y": null, + "x": 1599718260000, + "y": 643594, }, Object { - "x": 1593413123000, - "y": null, + "x": 1599718290000, + "y": 973397.5, }, Object { - "x": 1593413124000, - "y": null, + "x": 1599718320000, + "y": 521419, }, Object { - "x": 1593413125000, - "y": null, + "x": 1599718350000, + "y": 543694.3333333334, }, Object { - "x": 1593413126000, - "y": null, + "x": 1599718380000, + "y": 503212.8, }, Object { - "x": 1593413127000, - "y": null, + "x": 1599718410000, + "y": 1516441.5, }, Object { - "x": 1593413128000, - "y": null, + "x": 1599718440000, + "y": 457890.2, }, Object { - "x": 1593413129000, - "y": null, + "x": 1599718470000, + "y": 160177.55555555556, }, Object { - "x": 1593413130000, - "y": null, + "x": 1599718500000, + "y": 497083.6666666667, }, Object { - "x": 1593413131000, - "y": null, + "x": 1599718530000, + "y": 1276293, }, Object { - "x": 1593413132000, - "y": null, + "x": 1599718560000, + "y": 194131.8, }, Object { - "x": 1593413133000, - "y": null, + "x": 1599718590000, + "y": 1177525, }, Object { - "x": 1593413134000, - "y": null, + "x": 1599718620000, + "y": 504225.2, }, Object { - "x": 1593413135000, - "y": null, + "x": 1599718650000, + "y": 1397496, }, Object { - "x": 1593413136000, - "y": null, + "x": 1599718680000, + "y": 523145, }, Object { - "x": 1593413137000, - "y": null, + "x": 1599718710000, + "y": 355926.6, }, Object { - "x": 1593413138000, - "y": null, + "x": 1599718740000, + "y": 615277, }, Object { - "x": 1593413139000, - "y": null, + "x": 1599718770000, + "y": 725578, }, Object { - "x": 1593413140000, - "y": null, + "x": 1599718800000, + "y": 1721893.5, }, Object { - "x": 1593413141000, - "y": null, + "x": 1599718830000, + "y": 579859.75, }, Object { - "x": 1593413142000, - "y": null, + "x": 1599718860000, + "y": 371836.6, }, Object { - "x": 1593413143000, - "y": null, + "x": 1599718890000, + "y": 1192755.5, }, Object { - "x": 1593413144000, - "y": null, + "x": 1599718920000, + "y": 288524, }, Object { - "x": 1593413145000, - "y": null, + "x": 1599718950000, + "y": 1220730, }, Object { - "x": 1593413146000, - "y": null, + "x": 1599718980000, + "y": 591210.6666666666, }, Object { - "x": 1593413147000, - "y": null, + "x": 1599719010000, + "y": 601443.6666666666, }, Object { - "x": 1593413148000, - "y": null, + "x": 1599719040000, + "y": 225148, }, Object { - "x": 1593413149000, - "y": null, + "x": 1599719070000, + "y": 885271.5, }, Object { - "x": 1593413150000, - "y": null, + "x": 1599719100000, + "y": 578708.25, }, Object { - "x": 1593413151000, - "y": null, + "x": 1599719130000, + "y": 979768.3333333334, }, Object { - "x": 1593413152000, - "y": null, + "x": 1599719160000, + "y": 334608.71428571426, }, Object { - "x": 1593413153000, - "y": null, + "x": 1599719190000, + "y": 555571, }, Object { - "x": 1593413154000, - "y": null, + "x": 1599719220000, + "y": 249780.66666666666, }, Object { - "x": 1593413155000, + "x": 1599719250000, "y": null, }, Object { - "x": 1593413156000, - "y": null, + "x": 1599719280000, + "y": 510084, }, Object { - "x": 1593413157000, - "y": null, + "x": 1599719310000, + "y": 14228.333333333334, }, Object { - "x": 1593413158000, - "y": null, + "x": 1599719340000, + "y": 1056348.5, }, Object { - "x": 1593413159000, - "y": null, + "x": 1599719370000, + "y": 1150066, }, Object { - "x": 1593413160000, - "y": null, + "x": 1599719400000, + "y": 456110.5833333333, }, Object { - "x": 1593413161000, - "y": null, + "x": 1599719430000, + "y": 333431, }, Object { - "x": 1593413162000, - "y": null, + "x": 1599719460000, + "y": 1157360.6666666667, }, Object { - "x": 1593413163000, - "y": null, + "x": 1599719490000, + "y": 687888.75, }, Object { - "x": 1593413164000, - "y": null, + "x": 1599719520000, + "y": 574561, }, Object { - "x": 1593413165000, - "y": null, + "x": 1599719550000, + "y": 893728, }, Object { - "x": 1593413166000, - "y": null, + "x": 1599719580000, + "y": 773178.4, }, Object { - "x": 1593413167000, - "y": null, + "x": 1599719610000, + "y": 928312, }, Object { - "x": 1593413168000, - "y": null, + "x": 1599719640000, + "y": 371156.14285714284, }, Object { - "x": 1593413169000, - "y": null, + "x": 1599719670000, + "y": 464665.6666666667, }, Object { - "x": 1593413170000, + "x": 1599719700000, "y": null, }, Object { - "x": 1593413171000, - "y": null, + "x": 1599719730000, + "y": 426927.5, }, Object { - "x": 1593413172000, - "y": null, + "x": 1599719760000, + "y": 552956.7142857143, }, Object { - "x": 1593413173000, - "y": null, + "x": 1599719790000, + "y": 1099390, }, Object { - "x": 1593413174000, - "y": null, + "x": 1599719820000, + "y": 675592.75, }, Object { - "x": 1593413175000, - "y": null, + "x": 1599719850000, + "y": 1212971, }, Object { - "x": 1593413176000, - "y": null, + "x": 1599719880000, + "y": 169532.16666666666, }, Object { - "x": 1593413177000, - "y": null, + "x": 1599719910000, + "y": 1116040.6666666667, }, Object { - "x": 1593413178000, - "y": null, + "x": 1599719940000, + "y": 832511.3333333334, }, Object { - "x": 1593413179000, - "y": null, + "x": 1599719970000, + "y": 838424.75, }, Object { - "x": 1593413180000, - "y": null, + "x": 1599720000000, + "y": 705166, }, Object { - "x": 1593413181000, - "y": null, + "x": 1599720030000, + "y": 881526.3333333334, }, Object { - "x": 1593413182000, - "y": null, + "x": 1599720060000, + "y": 493560.5, }, Object { - "x": 1593413183000, - "y": null, + "x": 1599720090000, + "y": 1272019, }, Object { - "x": 1593413184000, - "y": null, + "x": 1599720120000, + "y": 1571697, }, Object { - "x": 1593413185000, - "y": null, + "x": 1599720150000, + "y": 947327.6666666666, }, Object { - "x": 1593413186000, - "y": null, + "x": 1599720180000, + "y": 770506, }, Object { - "x": 1593413187000, - "y": null, + "x": 1599720210000, + "y": 1476976, }, Object { - "x": 1593413188000, - "y": null, + "x": 1599720240000, + "y": 394579.5714285714, }, Object { - "x": 1593413189000, - "y": null, + "x": 1599720270000, + "y": 793661, }, Object { - "x": 1593413190000, - "y": null, + "x": 1599720300000, + "y": 698110.25, }, Object { - "x": 1593413191000, - "y": null, + "x": 1599720330000, + "y": 1623979, }, Object { - "x": 1593413192000, - "y": null, + "x": 1599720360000, + "y": 766940, }, Object { - "x": 1593413193000, - "y": null, + "x": 1599720390000, + "y": 516763.3, }, Object { - "x": 1593413194000, - "y": null, + "x": 1599720420000, + "y": 227079.66666666666, }, Object { - "x": 1593413195000, - "y": null, + "x": 1599720450000, + "y": 1235171, }, Object { - "x": 1593413196000, - "y": null, + "x": 1599720480000, + "y": 1110705.3333333333, }, Object { - "x": 1593413197000, - "y": null, + "x": 1599720510000, + "y": 457118, }, Object { - "x": 1593413198000, - "y": null, + "x": 1599720540000, + "y": 1113258, }, Object { - "x": 1593413199000, - "y": null, + "x": 1599720570000, + "y": 780817, }, Object { - "x": 1593413200000, - "y": null, + "x": 1599720600000, + "y": 396914.6666666667, }, Object { - "x": 1593413201000, - "y": null, + "x": 1599720630000, + "y": 323583.1666666667, }, Object { - "x": 1593413202000, - "y": null, + "x": 1599720660000, + "y": 788903.3333333334, }, Object { - "x": 1593413203000, - "y": null, + "x": 1599720690000, + "y": 339649, }, Object { - "x": 1593413204000, - "y": null, + "x": 1599720720000, + "y": 501015, }, Object { - "x": 1593413205000, - "y": null, + "x": 1599720750000, + "y": 501758.5, }, Object { - "x": 1593413206000, - "y": null, + "x": 1599720780000, + "y": 776868, }, Object { - "x": 1593413207000, - "y": null, + "x": 1599720810000, + "y": 1198145, }, Object { - "x": 1593413208000, - "y": null, + "x": 1599720840000, + "y": 561771.6666666666, }, Object { - "x": 1593413209000, - "y": null, + "x": 1599720870000, + "y": 594213.3333333334, }, Object { - "x": 1593413210000, - "y": null, + "x": 1599720900000, + "y": 188626.5, }, Object { - "x": 1593413211000, - "y": null, + "x": 1599720930000, + "y": 970632, }, Object { - "x": 1593413212000, - "y": null, + "x": 1599720960000, + "y": 750907.2, }, Object { - "x": 1593413213000, - "y": null, + "x": 1599720990000, + "y": 851925.25, }, Object { - "x": 1593413214000, - "y": null, + "x": 1599721020000, + "y": 774642.5, }, Object { - "x": 1593413215000, - "y": null, + "x": 1599721050000, + "y": 322259.5, }, Object { - "x": 1593413216000, - "y": null, + "x": 1599721080000, + "y": 369298.28571428574, }, Object { - "x": 1593413217000, - "y": null, + "x": 1599721110000, + "y": 657293.6666666666, }, Object { - "x": 1593413218000, - "y": null, + "x": 1599721140000, + "y": 479701.3333333333, }, Object { - "x": 1593413219000, - "y": null, + "x": 1599721170000, + "y": 1037489, }, Object { - "x": 1593413220000, + "x": 1599721200000, "y": null, }, + ], + "p95": Array [ Object { - "x": 1593413221000, - "y": null, + "x": 1599717600000, + "y": 483072, }, Object { - "x": 1593413222000, - "y": null, + "x": 1599717630000, + "y": 1310592, }, Object { - "x": 1593413223000, - "y": null, + "x": 1599717660000, + "y": 970688, }, Object { - "x": 1593413224000, - "y": null, + "x": 1599717690000, + "y": 814080, }, Object { - "x": 1593413225000, - "y": null, + "x": 1599717720000, + "y": 1449920, }, Object { - "x": 1593413226000, - "y": null, + "x": 1599717750000, + "y": 1302496, }, Object { - "x": 1593413227000, - "y": null, + "x": 1599717780000, + "y": 622464, }, Object { - "x": 1593413228000, - "y": null, + "x": 1599717810000, + "y": 1323008, }, Object { - "x": 1593413229000, - "y": null, + "x": 1599717840000, + "y": 1003456, }, Object { - "x": 1593413230000, - "y": null, + "x": 1599717870000, + "y": 1195904, }, Object { - "x": 1593413231000, - "y": null, + "x": 1599717900000, + "y": 692096, }, Object { - "x": 1593413232000, - "y": null, + "x": 1599717930000, + "y": 1904640, }, Object { - "x": 1593413233000, - "y": null, + "x": 1599717960000, + "y": 268224, }, Object { - "x": 1593413234000, - "y": null, + "x": 1599717990000, + "y": 1171424, }, Object { - "x": 1593413235000, - "y": null, + "x": 1599718020000, + "y": 1908480, }, Object { - "x": 1593413236000, - "y": null, + "x": 1599718050000, + "y": 937984, }, Object { - "x": 1593413237000, - "y": null, + "x": 1599718080000, + "y": 982912, }, Object { - "x": 1593413238000, - "y": null, + "x": 1599718110000, + "y": 733120, }, Object { - "x": 1593413239000, - "y": null, + "x": 1599718140000, + "y": 1736576, }, Object { - "x": 1593413240000, - "y": null, + "x": 1599718170000, + "y": 1748992, }, Object { - "x": 1593413241000, - "y": null, + "x": 1599718200000, + "y": 970720, }, Object { - "x": 1593413242000, - "y": null, + "x": 1599718230000, + "y": 1540032, }, Object { - "x": 1593413243000, - "y": null, + "x": 1599718260000, + "y": 796672, }, Object { - "x": 1593413244000, - "y": null, + "x": 1599718290000, + "y": 1134592, }, Object { - "x": 1593413245000, - "y": null, + "x": 1599718320000, + "y": 1875904, }, Object { - "x": 1593413246000, - "y": null, + "x": 1599718350000, + "y": 1253312, }, Object { - "x": 1593413247000, - "y": null, + "x": 1599718380000, + "y": 1048512, }, Object { - "x": 1593413248000, - "y": null, + "x": 1599718410000, + "y": 1654784, }, Object { - "x": 1593413249000, - "y": null, + "x": 1599718440000, + "y": 1368048, }, Object { - "x": 1593413250000, - "y": null, + "x": 1599718470000, + "y": 745456, }, Object { - "x": 1593413251000, - "y": null, + "x": 1599718500000, + "y": 1277696, }, Object { - "x": 1593413252000, - "y": null, + "x": 1599718530000, + "y": 1699840, }, Object { - "x": 1593413253000, - "y": null, + "x": 1599718560000, + "y": 1851376, }, Object { - "x": 1593413254000, - "y": null, + "x": 1599718590000, + "y": 1277952, }, Object { - "x": 1593413255000, - "y": null, + "x": 1599718620000, + "y": 1384320, }, Object { - "x": 1593413256000, - "y": null, + "x": 1599718650000, + "y": 1392640, }, Object { - "x": 1593413257000, - "y": null, + "x": 1599718680000, + "y": 1785792, }, Object { - "x": 1593413258000, - "y": null, + "x": 1599718710000, + "y": 1236928, }, Object { - "x": 1593413259000, - "y": null, + "x": 1599718740000, + "y": 1138176, }, Object { - "x": 1593413260000, - "y": null, + "x": 1599718770000, + "y": 1474432, }, Object { - "x": 1593413261000, - "y": null, + "x": 1599718800000, + "y": 1875968, }, Object { - "x": 1593413262000, - "y": null, + "x": 1599718830000, + "y": 1703920, }, Object { - "x": 1593413263000, - "y": null, + "x": 1599718860000, + "y": 1466240, }, Object { - "x": 1593413264000, - "y": null, + "x": 1599718890000, + "y": 1286144, }, Object { - "x": 1593413265000, - "y": null, + "x": 1599718920000, + "y": 831424, }, Object { - "x": 1593413266000, - "y": null, + "x": 1599718950000, + "y": 1253376, }, Object { - "x": 1593413267000, - "y": null, + "x": 1599718980000, + "y": 822272, }, Object { - "x": 1593413268000, - "y": null, + "x": 1599719010000, + "y": 1540032, }, Object { - "x": 1593413269000, - "y": null, + "x": 1599719040000, + "y": 1269728, }, Object { - "x": 1593413270000, - "y": null, + "x": 1599719070000, + "y": 1531872, }, Object { - "x": 1593413271000, - "y": null, + "x": 1599719100000, + "y": 1507264, }, Object { - "x": 1593413272000, - "y": 45093, + "x": 1599719130000, + "y": 1216512, }, Object { - "x": 1593413273000, - "y": 7498, + "x": 1599719160000, + "y": 909248, }, Object { - "x": 1593413274000, - "y": null, + "x": 1599719190000, + "y": 1097600, }, Object { - "x": 1593413275000, - "y": null, + "x": 1599719220000, + "y": 786416, }, Object { - "x": 1593413276000, + "x": 1599719250000, "y": null, }, Object { - "x": 1593413277000, - "y": 37709, + "x": 1599719280000, + "y": 1212352, }, Object { - "x": 1593413278000, - "y": null, + "x": 1599719310000, + "y": 19040, }, Object { - "x": 1593413279000, - "y": null, + "x": 1599719340000, + "y": 1077248, }, Object { - "x": 1593413280000, - "y": null, + "x": 1599719370000, + "y": 1146880, }, Object { - "x": 1593413281000, - "y": 33097, + "x": 1599719400000, + "y": 1777600, }, Object { - "x": 1593413282000, - "y": null, + "x": 1599719430000, + "y": 1261504, }, Object { - "x": 1593413283000, - "y": null, + "x": 1599719460000, + "y": 1617920, }, Object { - "x": 1593413284000, - "y": 388507, + "x": 1599719490000, + "y": 1105664, }, Object { - "x": 1593413285000, - "y": 42331.5, + "x": 1599719520000, + "y": 1163008, }, Object { - "x": 1593413286000, - "y": 99104.25, + "x": 1599719550000, + "y": 892928, }, Object { - "x": 1593413287000, - "y": 18939.5, + "x": 1599719580000, + "y": 1343360, }, Object { - "x": 1593413288000, - "y": 23229.5, + "x": 1599719610000, + "y": 925696, }, Object { - "x": 1593413289000, - "y": 11318, + "x": 1599719640000, + "y": 1277936, }, Object { - "x": 1593413290000, - "y": 15651.25, + "x": 1599719670000, + "y": 1499072, }, Object { - "x": 1593413291000, - "y": 2376, + "x": 1599719700000, + "y": null, }, Object { - "x": 1593413292000, - "y": 7796, + "x": 1599719730000, + "y": 1204096, }, Object { - "x": 1593413293000, - "y": 7571, + "x": 1599719760000, + "y": 1572800, }, Object { - "x": 1593413294000, - "y": 4219.333333333333, + "x": 1599719790000, + "y": 1097728, }, Object { - "x": 1593413295000, - "y": 6827.5, + "x": 1599719820000, + "y": 1376128, }, Object { - "x": 1593413296000, - "y": 10415.5, + "x": 1599719850000, + "y": 1277952, }, Object { - "x": 1593413297000, - "y": 10082, + "x": 1599719880000, + "y": 815072, }, Object { - "x": 1593413298000, - "y": 6459.375, + "x": 1599719910000, + "y": 1765376, }, Object { - "x": 1593413299000, - "y": 3131.5, + "x": 1599719940000, + "y": 937984, }, Object { - "x": 1593413300000, - "y": 6713.333333333333, + "x": 1599719970000, + "y": 1687488, }, Object { - "x": 1593413301000, - "y": 8800, + "x": 1599720000000, + "y": 1212352, }, Object { - "x": 1593413302000, - "y": 3743.5, + "x": 1599720030000, + "y": 1441728, }, Object { - "x": 1593413303000, - "y": 9239.5, + "x": 1599720060000, + "y": 970624, }, Object { - "x": 1593413304000, - "y": 8402, + "x": 1599720090000, + "y": 1409024, }, Object { - "x": 1593413305000, - "y": 20520.666666666668, + "x": 1599720120000, + "y": 1564672, }, Object { - "x": 1593413306000, - "y": 9319.5, + "x": 1599720150000, + "y": 1447936, }, Object { - "x": 1593413307000, - "y": 7694.333333333333, + "x": 1599720180000, + "y": 1195904, }, Object { - "x": 1593413308000, - "y": 20131, + "x": 1599720210000, + "y": 1474560, }, Object { - "x": 1593413309000, - "y": 439937.75, + "x": 1599720240000, + "y": 1220544, }, Object { - "x": 1593413310000, - "y": 11933, + "x": 1599720270000, + "y": 1261504, }, Object { - "x": 1593413311000, - "y": 18670.5, + "x": 1599720300000, + "y": 1712064, }, Object { - "x": 1593413312000, - "y": 9232, + "x": 1599720330000, + "y": 1622016, }, Object { - "x": 1593413313000, - "y": 7602, + "x": 1599720360000, + "y": 1245120, }, Object { - "x": 1593413314000, - "y": 10428.8, + "x": 1599720390000, + "y": 1646560, }, Object { - "x": 1593413315000, - "y": 8405.25, + "x": 1599720420000, + "y": 970688, }, Object { - "x": 1593413316000, - "y": 10654.5, + "x": 1599720450000, + "y": 1228800, }, Object { - "x": 1593413317000, - "y": 10250, + "x": 1599720480000, + "y": 1191936, }, Object { - "x": 1593413318000, - "y": 5775, + "x": 1599720510000, + "y": 1572832, }, Object { - "x": 1593413319000, - "y": 137867, + "x": 1599720540000, + "y": 1200128, }, Object { - "x": 1593413320000, - "y": 5694.333333333333, + "x": 1599720570000, + "y": 1071104, }, Object { - "x": 1593413321000, - "y": 6115, + "x": 1599720600000, + "y": 1130368, }, Object { - "x": 1593413322000, - "y": 1832.5, + "x": 1599720630000, + "y": 933824, }, Object { - "x": 1593413323000, - "y": null, + "x": 1599720660000, + "y": 1220544, }, Object { - "x": 1593413324000, - "y": null, + "x": 1599720690000, + "y": 337920, }, Object { - "x": 1593413325000, - "y": null, + "x": 1599720720000, + "y": 1032128, }, Object { - "x": 1593413326000, - "y": null, + "x": 1599720750000, + "y": 1736672, }, Object { - "x": 1593413327000, - "y": null, + "x": 1599720780000, + "y": 1843136, }, Object { - "x": 1593413328000, - "y": null, + "x": 1599720810000, + "y": 1404928, }, Object { - "x": 1593413329000, - "y": null, + "x": 1599720840000, + "y": 1036160, }, Object { - "x": 1593413330000, - "y": null, + "x": 1599720870000, + "y": 1351552, }, Object { - "x": 1593413331000, - "y": null, + "x": 1599720900000, + "y": 720864, }, Object { - "x": 1593413332000, - "y": null, + "x": 1599720930000, + "y": 966656, }, Object { - "x": 1593413333000, - "y": null, + "x": 1599720960000, + "y": 1892224, }, Object { - "x": 1593413334000, - "y": null, + "x": 1599720990000, + "y": 1384320, }, Object { - "x": 1593413335000, - "y": null, + "x": 1599721020000, + "y": 1540032, }, Object { - "x": 1593413336000, - "y": null, + "x": 1599721050000, + "y": 451584, }, Object { - "x": 1593413337000, - "y": null, + "x": 1599721080000, + "y": 1228768, }, Object { - "x": 1593413338000, - "y": null, + "x": 1599721110000, + "y": 927744, }, Object { - "x": 1593413339000, - "y": null, + "x": 1599721140000, + "y": 1048320, }, Object { - "x": 1593413340000, + "x": 1599721170000, + "y": 1363968, + }, + Object { + "x": 1599721200000, "y": null, }, ], - "p95": Array [ + "p99": Array [ Object { - "x": 1593413100000, - "y": null, + "x": 1599717600000, + "y": 483072, }, Object { - "x": 1593413101000, - "y": null, + "x": 1599717630000, + "y": 1310592, }, Object { - "x": 1593413102000, - "y": null, + "x": 1599717660000, + "y": 970688, }, Object { - "x": 1593413103000, - "y": null, + "x": 1599717690000, + "y": 814080, }, Object { - "x": 1593413104000, - "y": null, + "x": 1599717720000, + "y": 1449920, }, Object { - "x": 1593413105000, - "y": null, + "x": 1599717750000, + "y": 1302496, }, Object { - "x": 1593413106000, - "y": null, + "x": 1599717780000, + "y": 622464, }, Object { - "x": 1593413107000, - "y": null, + "x": 1599717810000, + "y": 1323008, }, Object { - "x": 1593413108000, - "y": null, + "x": 1599717840000, + "y": 1003456, }, Object { - "x": 1593413109000, - "y": null, + "x": 1599717870000, + "y": 1195904, }, Object { - "x": 1593413110000, - "y": null, + "x": 1599717900000, + "y": 692096, }, Object { - "x": 1593413111000, - "y": null, + "x": 1599717930000, + "y": 1904640, }, Object { - "x": 1593413112000, - "y": null, + "x": 1599717960000, + "y": 268224, }, Object { - "x": 1593413113000, - "y": null, + "x": 1599717990000, + "y": 1171424, }, Object { - "x": 1593413114000, - "y": null, + "x": 1599718020000, + "y": 1908480, }, Object { - "x": 1593413115000, - "y": null, + "x": 1599718050000, + "y": 937984, }, Object { - "x": 1593413116000, - "y": null, + "x": 1599718080000, + "y": 982912, }, Object { - "x": 1593413117000, - "y": null, + "x": 1599718110000, + "y": 733120, }, Object { - "x": 1593413118000, - "y": null, + "x": 1599718140000, + "y": 1736576, }, Object { - "x": 1593413119000, - "y": null, + "x": 1599718170000, + "y": 1748992, }, Object { - "x": 1593413120000, - "y": null, + "x": 1599718200000, + "y": 970720, }, Object { - "x": 1593413121000, - "y": null, + "x": 1599718230000, + "y": 1540032, }, Object { - "x": 1593413122000, - "y": null, + "x": 1599718260000, + "y": 796672, }, Object { - "x": 1593413123000, - "y": null, + "x": 1599718290000, + "y": 1134592, }, Object { - "x": 1593413124000, - "y": null, + "x": 1599718320000, + "y": 1875904, }, Object { - "x": 1593413125000, - "y": null, + "x": 1599718350000, + "y": 1253312, }, Object { - "x": 1593413126000, - "y": null, + "x": 1599718380000, + "y": 1048512, }, Object { - "x": 1593413127000, - "y": null, + "x": 1599718410000, + "y": 1654784, }, Object { - "x": 1593413128000, - "y": null, + "x": 1599718440000, + "y": 1368048, }, Object { - "x": 1593413129000, - "y": null, + "x": 1599718470000, + "y": 745456, }, Object { - "x": 1593413130000, - "y": null, + "x": 1599718500000, + "y": 1277696, }, Object { - "x": 1593413131000, - "y": null, + "x": 1599718530000, + "y": 1699840, }, Object { - "x": 1593413132000, - "y": null, + "x": 1599718560000, + "y": 1851376, }, Object { - "x": 1593413133000, - "y": null, + "x": 1599718590000, + "y": 1277952, }, Object { - "x": 1593413134000, - "y": null, + "x": 1599718620000, + "y": 1384320, }, Object { - "x": 1593413135000, - "y": null, + "x": 1599718650000, + "y": 1392640, }, Object { - "x": 1593413136000, - "y": null, + "x": 1599718680000, + "y": 1785792, }, Object { - "x": 1593413137000, - "y": null, + "x": 1599718710000, + "y": 1236928, }, Object { - "x": 1593413138000, - "y": null, + "x": 1599718740000, + "y": 1138176, }, Object { - "x": 1593413139000, - "y": null, + "x": 1599718770000, + "y": 1474432, }, Object { - "x": 1593413140000, - "y": null, + "x": 1599718800000, + "y": 1875968, }, Object { - "x": 1593413141000, - "y": null, + "x": 1599718830000, + "y": 1703920, }, Object { - "x": 1593413142000, - "y": null, + "x": 1599718860000, + "y": 1466240, }, Object { - "x": 1593413143000, - "y": null, + "x": 1599718890000, + "y": 1286144, }, Object { - "x": 1593413144000, - "y": null, + "x": 1599718920000, + "y": 831424, }, Object { - "x": 1593413145000, - "y": null, + "x": 1599718950000, + "y": 1253376, }, Object { - "x": 1593413146000, - "y": null, + "x": 1599718980000, + "y": 822272, }, Object { - "x": 1593413147000, - "y": null, + "x": 1599719010000, + "y": 1540032, }, Object { - "x": 1593413148000, - "y": null, + "x": 1599719040000, + "y": 1269728, }, Object { - "x": 1593413149000, - "y": null, + "x": 1599719070000, + "y": 1531872, }, Object { - "x": 1593413150000, - "y": null, + "x": 1599719100000, + "y": 1507264, }, Object { - "x": 1593413151000, - "y": null, + "x": 1599719130000, + "y": 1216512, }, Object { - "x": 1593413152000, - "y": null, + "x": 1599719160000, + "y": 909248, }, Object { - "x": 1593413153000, - "y": null, + "x": 1599719190000, + "y": 1097600, }, Object { - "x": 1593413154000, - "y": null, + "x": 1599719220000, + "y": 786416, }, Object { - "x": 1593413155000, + "x": 1599719250000, "y": null, }, Object { - "x": 1593413156000, - "y": null, + "x": 1599719280000, + "y": 1212352, }, Object { - "x": 1593413157000, - "y": null, - }, - Object { - "x": 1593413158000, - "y": null, - }, - Object { - "x": 1593413159000, - "y": null, - }, - Object { - "x": 1593413160000, - "y": null, - }, - Object { - "x": 1593413161000, - "y": null, - }, - Object { - "x": 1593413162000, - "y": null, - }, - Object { - "x": 1593413163000, - "y": null, - }, - Object { - "x": 1593413164000, - "y": null, - }, - Object { - "x": 1593413165000, - "y": null, - }, - Object { - "x": 1593413166000, - "y": null, - }, - Object { - "x": 1593413167000, - "y": null, - }, - Object { - "x": 1593413168000, - "y": null, - }, - Object { - "x": 1593413169000, - "y": null, - }, - Object { - "x": 1593413170000, - "y": null, - }, - Object { - "x": 1593413171000, - "y": null, - }, - Object { - "x": 1593413172000, - "y": null, - }, - Object { - "x": 1593413173000, - "y": null, - }, - Object { - "x": 1593413174000, - "y": null, - }, - Object { - "x": 1593413175000, - "y": null, - }, - Object { - "x": 1593413176000, - "y": null, - }, - Object { - "x": 1593413177000, - "y": null, - }, - Object { - "x": 1593413178000, - "y": null, - }, - Object { - "x": 1593413179000, - "y": null, - }, - Object { - "x": 1593413180000, - "y": null, - }, - Object { - "x": 1593413181000, - "y": null, - }, - Object { - "x": 1593413182000, - "y": null, - }, - Object { - "x": 1593413183000, - "y": null, - }, - Object { - "x": 1593413184000, - "y": null, - }, - Object { - "x": 1593413185000, - "y": null, - }, - Object { - "x": 1593413186000, - "y": null, - }, - Object { - "x": 1593413187000, - "y": null, - }, - Object { - "x": 1593413188000, - "y": null, - }, - Object { - "x": 1593413189000, - "y": null, - }, - Object { - "x": 1593413190000, - "y": null, - }, - Object { - "x": 1593413191000, - "y": null, - }, - Object { - "x": 1593413192000, - "y": null, - }, - Object { - "x": 1593413193000, - "y": null, - }, - Object { - "x": 1593413194000, - "y": null, - }, - Object { - "x": 1593413195000, - "y": null, - }, - Object { - "x": 1593413196000, - "y": null, - }, - Object { - "x": 1593413197000, - "y": null, - }, - Object { - "x": 1593413198000, - "y": null, - }, - Object { - "x": 1593413199000, - "y": null, - }, - Object { - "x": 1593413200000, - "y": null, - }, - Object { - "x": 1593413201000, - "y": null, - }, - Object { - "x": 1593413202000, - "y": null, - }, - Object { - "x": 1593413203000, - "y": null, - }, - Object { - "x": 1593413204000, - "y": null, - }, - Object { - "x": 1593413205000, - "y": null, - }, - Object { - "x": 1593413206000, - "y": null, - }, - Object { - "x": 1593413207000, - "y": null, - }, - Object { - "x": 1593413208000, - "y": null, - }, - Object { - "x": 1593413209000, - "y": null, - }, - Object { - "x": 1593413210000, - "y": null, - }, - Object { - "x": 1593413211000, - "y": null, - }, - Object { - "x": 1593413212000, - "y": null, - }, - Object { - "x": 1593413213000, - "y": null, - }, - Object { - "x": 1593413214000, - "y": null, - }, - Object { - "x": 1593413215000, - "y": null, - }, - Object { - "x": 1593413216000, - "y": null, - }, - Object { - "x": 1593413217000, - "y": null, - }, - Object { - "x": 1593413218000, - "y": null, - }, - Object { - "x": 1593413219000, - "y": null, - }, - Object { - "x": 1593413220000, - "y": null, - }, - Object { - "x": 1593413221000, - "y": null, - }, - Object { - "x": 1593413222000, - "y": null, - }, - Object { - "x": 1593413223000, - "y": null, - }, - Object { - "x": 1593413224000, - "y": null, + "x": 1599719310000, + "y": 19040, }, Object { - "x": 1593413225000, - "y": null, + "x": 1599719340000, + "y": 1077248, }, Object { - "x": 1593413226000, - "y": null, + "x": 1599719370000, + "y": 1146880, }, Object { - "x": 1593413227000, - "y": null, + "x": 1599719400000, + "y": 1908672, }, Object { - "x": 1593413228000, - "y": null, + "x": 1599719430000, + "y": 1261504, }, Object { - "x": 1593413229000, - "y": null, + "x": 1599719460000, + "y": 1617920, }, Object { - "x": 1593413230000, - "y": null, + "x": 1599719490000, + "y": 1105664, }, Object { - "x": 1593413231000, - "y": null, + "x": 1599719520000, + "y": 1163008, }, Object { - "x": 1593413232000, - "y": null, + "x": 1599719550000, + "y": 892928, }, Object { - "x": 1593413233000, - "y": null, + "x": 1599719580000, + "y": 1343360, }, Object { - "x": 1593413234000, - "y": null, + "x": 1599719610000, + "y": 925696, }, Object { - "x": 1593413235000, - "y": null, + "x": 1599719640000, + "y": 1277936, }, Object { - "x": 1593413236000, - "y": null, + "x": 1599719670000, + "y": 1499072, }, Object { - "x": 1593413237000, + "x": 1599719700000, "y": null, }, Object { - "x": 1593413238000, - "y": null, + "x": 1599719730000, + "y": 1204096, }, Object { - "x": 1593413239000, - "y": null, + "x": 1599719760000, + "y": 1572800, }, Object { - "x": 1593413240000, - "y": null, + "x": 1599719790000, + "y": 1097728, }, Object { - "x": 1593413241000, - "y": null, + "x": 1599719820000, + "y": 1376128, }, Object { - "x": 1593413242000, - "y": null, + "x": 1599719850000, + "y": 1277952, }, Object { - "x": 1593413243000, - "y": null, + "x": 1599719880000, + "y": 815072, }, Object { - "x": 1593413244000, - "y": null, + "x": 1599719910000, + "y": 1765376, }, Object { - "x": 1593413245000, - "y": null, + "x": 1599719940000, + "y": 937984, }, Object { - "x": 1593413246000, - "y": null, + "x": 1599719970000, + "y": 1687488, }, Object { - "x": 1593413247000, - "y": null, + "x": 1599720000000, + "y": 1212352, }, Object { - "x": 1593413248000, - "y": null, + "x": 1599720030000, + "y": 1441728, }, Object { - "x": 1593413249000, - "y": null, + "x": 1599720060000, + "y": 970624, }, Object { - "x": 1593413250000, - "y": null, + "x": 1599720090000, + "y": 1409024, }, Object { - "x": 1593413251000, - "y": null, + "x": 1599720120000, + "y": 1564672, }, Object { - "x": 1593413252000, - "y": null, + "x": 1599720150000, + "y": 1447936, }, Object { - "x": 1593413253000, - "y": null, + "x": 1599720180000, + "y": 1195904, }, Object { - "x": 1593413254000, - "y": null, + "x": 1599720210000, + "y": 1474560, }, Object { - "x": 1593413255000, - "y": null, + "x": 1599720240000, + "y": 1220544, }, Object { - "x": 1593413256000, - "y": null, + "x": 1599720270000, + "y": 1261504, }, Object { - "x": 1593413257000, - "y": null, + "x": 1599720300000, + "y": 1712064, }, Object { - "x": 1593413258000, - "y": null, + "x": 1599720330000, + "y": 1622016, }, Object { - "x": 1593413259000, - "y": null, + "x": 1599720360000, + "y": 1245120, }, Object { - "x": 1593413260000, - "y": null, + "x": 1599720390000, + "y": 1646560, }, Object { - "x": 1593413261000, - "y": null, + "x": 1599720420000, + "y": 970688, }, Object { - "x": 1593413262000, - "y": null, + "x": 1599720450000, + "y": 1228800, }, Object { - "x": 1593413263000, - "y": null, + "x": 1599720480000, + "y": 1191936, }, Object { - "x": 1593413264000, - "y": null, + "x": 1599720510000, + "y": 1572832, }, Object { - "x": 1593413265000, - "y": null, + "x": 1599720540000, + "y": 1200128, }, Object { - "x": 1593413266000, - "y": null, + "x": 1599720570000, + "y": 1071104, }, Object { - "x": 1593413267000, - "y": null, + "x": 1599720600000, + "y": 1130368, }, Object { - "x": 1593413268000, - "y": null, + "x": 1599720630000, + "y": 933824, }, Object { - "x": 1593413269000, - "y": null, + "x": 1599720660000, + "y": 1220544, }, Object { - "x": 1593413270000, - "y": null, + "x": 1599720690000, + "y": 337920, }, Object { - "x": 1593413271000, - "y": null, + "x": 1599720720000, + "y": 1032128, }, Object { - "x": 1593413272000, - "y": 45056, + "x": 1599720750000, + "y": 1736672, }, Object { - "x": 1593413273000, - "y": 10080, + "x": 1599720780000, + "y": 1843136, }, Object { - "x": 1593413274000, - "y": null, + "x": 1599720810000, + "y": 1404928, }, Object { - "x": 1593413275000, - "y": null, + "x": 1599720840000, + "y": 1036160, }, Object { - "x": 1593413276000, - "y": null, + "x": 1599720870000, + "y": 1351552, }, Object { - "x": 1593413277000, - "y": 37632, + "x": 1599720900000, + "y": 720864, }, Object { - "x": 1593413278000, - "y": null, + "x": 1599720930000, + "y": 966656, }, Object { - "x": 1593413279000, - "y": null, + "x": 1599720960000, + "y": 1892224, }, Object { - "x": 1593413280000, - "y": null, + "x": 1599720990000, + "y": 1384320, }, Object { - "x": 1593413281000, - "y": 33024, + "x": 1599721020000, + "y": 1540032, }, Object { - "x": 1593413282000, - "y": null, + "x": 1599721050000, + "y": 451584, }, Object { - "x": 1593413283000, - "y": null, + "x": 1599721080000, + "y": 1228768, }, Object { - "x": 1593413284000, - "y": 761728, - }, - Object { - "x": 1593413285000, - "y": 81904, - }, - Object { - "x": 1593413286000, - "y": 358384, - }, - Object { - "x": 1593413287000, - "y": 36088, - }, - Object { - "x": 1593413288000, - "y": 44536, - }, - Object { - "x": 1593413289000, - "y": 11648, - }, - Object { - "x": 1593413290000, - "y": 31984, - }, - Object { - "x": 1593413291000, - "y": 2920, - }, - Object { - "x": 1593413292000, - "y": 9312, - }, - Object { - "x": 1593413293000, - "y": 10912, - }, - Object { - "x": 1593413294000, - "y": 6392, - }, - Object { - "x": 1593413295000, - "y": 11704, - }, - Object { - "x": 1593413296000, - "y": 10816, - }, - Object { - "x": 1593413297000, - "y": 12000, - }, - Object { - "x": 1593413298000, - "y": 15164, - }, - Object { - "x": 1593413299000, - "y": 3216, - }, - Object { - "x": 1593413300000, - "y": 9584, - }, - Object { - "x": 1593413301000, - "y": 21240, - }, - Object { - "x": 1593413302000, - "y": 5624, - }, - Object { - "x": 1593413303000, - "y": 11360, - }, - Object { - "x": 1593413304000, - "y": 12320, - }, - Object { - "x": 1593413305000, - "y": 38640, - }, - Object { - "x": 1593413306000, - "y": 9728, - }, - Object { - "x": 1593413307000, - "y": 17016, - }, - Object { - "x": 1593413308000, - "y": 26848, - }, - Object { - "x": 1593413309000, - "y": 1753072, - }, - Object { - "x": 1593413310000, - "y": 16992, - }, - Object { - "x": 1593413311000, - "y": 26560, - }, - Object { - "x": 1593413312000, - "y": 11232, - }, - Object { - "x": 1593413313000, - "y": 11424, - }, - Object { - "x": 1593413314000, - "y": 16096, - }, - Object { - "x": 1593413315000, - "y": 18800, - }, - Object { - "x": 1593413316000, - "y": 12672, - }, - Object { - "x": 1593413317000, - "y": 24316, - }, - Object { - "x": 1593413318000, - "y": 8944, - }, - Object { - "x": 1593413319000, - "y": 272352, - }, - Object { - "x": 1593413320000, - "y": 7992, - }, - Object { - "x": 1593413321000, - "y": 8368, - }, - Object { - "x": 1593413322000, - "y": 1928, - }, - Object { - "x": 1593413323000, - "y": null, - }, - Object { - "x": 1593413324000, - "y": null, - }, - Object { - "x": 1593413325000, - "y": null, - }, - Object { - "x": 1593413326000, - "y": null, - }, - Object { - "x": 1593413327000, - "y": null, - }, - Object { - "x": 1593413328000, - "y": null, - }, - Object { - "x": 1593413329000, - "y": null, - }, - Object { - "x": 1593413330000, - "y": null, - }, - Object { - "x": 1593413331000, - "y": null, - }, - Object { - "x": 1593413332000, - "y": null, - }, - Object { - "x": 1593413333000, - "y": null, - }, - Object { - "x": 1593413334000, - "y": null, - }, - Object { - "x": 1593413335000, - "y": null, - }, - Object { - "x": 1593413336000, - "y": null, - }, - Object { - "x": 1593413337000, - "y": null, - }, - Object { - "x": 1593413338000, - "y": null, - }, - Object { - "x": 1593413339000, - "y": null, - }, - Object { - "x": 1593413340000, - "y": null, - }, - ], - "p99": Array [ - Object { - "x": 1593413100000, - "y": null, - }, - Object { - "x": 1593413101000, - "y": null, - }, - Object { - "x": 1593413102000, - "y": null, - }, - Object { - "x": 1593413103000, - "y": null, - }, - Object { - "x": 1593413104000, - "y": null, - }, - Object { - "x": 1593413105000, - "y": null, - }, - Object { - "x": 1593413106000, - "y": null, - }, - Object { - "x": 1593413107000, - "y": null, - }, - Object { - "x": 1593413108000, - "y": null, - }, - Object { - "x": 1593413109000, - "y": null, - }, - Object { - "x": 1593413110000, - "y": null, - }, - Object { - "x": 1593413111000, - "y": null, - }, - Object { - "x": 1593413112000, - "y": null, - }, - Object { - "x": 1593413113000, - "y": null, - }, - Object { - "x": 1593413114000, - "y": null, - }, - Object { - "x": 1593413115000, - "y": null, - }, - Object { - "x": 1593413116000, - "y": null, - }, - Object { - "x": 1593413117000, - "y": null, - }, - Object { - "x": 1593413118000, - "y": null, - }, - Object { - "x": 1593413119000, - "y": null, - }, - Object { - "x": 1593413120000, - "y": null, - }, - Object { - "x": 1593413121000, - "y": null, - }, - Object { - "x": 1593413122000, - "y": null, - }, - Object { - "x": 1593413123000, - "y": null, - }, - Object { - "x": 1593413124000, - "y": null, - }, - Object { - "x": 1593413125000, - "y": null, - }, - Object { - "x": 1593413126000, - "y": null, - }, - Object { - "x": 1593413127000, - "y": null, - }, - Object { - "x": 1593413128000, - "y": null, - }, - Object { - "x": 1593413129000, - "y": null, - }, - Object { - "x": 1593413130000, - "y": null, - }, - Object { - "x": 1593413131000, - "y": null, - }, - Object { - "x": 1593413132000, - "y": null, - }, - Object { - "x": 1593413133000, - "y": null, - }, - Object { - "x": 1593413134000, - "y": null, - }, - Object { - "x": 1593413135000, - "y": null, - }, - Object { - "x": 1593413136000, - "y": null, - }, - Object { - "x": 1593413137000, - "y": null, - }, - Object { - "x": 1593413138000, - "y": null, - }, - Object { - "x": 1593413139000, - "y": null, - }, - Object { - "x": 1593413140000, - "y": null, - }, - Object { - "x": 1593413141000, - "y": null, - }, - Object { - "x": 1593413142000, - "y": null, - }, - Object { - "x": 1593413143000, - "y": null, - }, - Object { - "x": 1593413144000, - "y": null, - }, - Object { - "x": 1593413145000, - "y": null, - }, - Object { - "x": 1593413146000, - "y": null, - }, - Object { - "x": 1593413147000, - "y": null, - }, - Object { - "x": 1593413148000, - "y": null, - }, - Object { - "x": 1593413149000, - "y": null, - }, - Object { - "x": 1593413150000, - "y": null, - }, - Object { - "x": 1593413151000, - "y": null, - }, - Object { - "x": 1593413152000, - "y": null, - }, - Object { - "x": 1593413153000, - "y": null, - }, - Object { - "x": 1593413154000, - "y": null, - }, - Object { - "x": 1593413155000, - "y": null, - }, - Object { - "x": 1593413156000, - "y": null, - }, - Object { - "x": 1593413157000, - "y": null, - }, - Object { - "x": 1593413158000, - "y": null, - }, - Object { - "x": 1593413159000, - "y": null, - }, - Object { - "x": 1593413160000, - "y": null, - }, - Object { - "x": 1593413161000, - "y": null, - }, - Object { - "x": 1593413162000, - "y": null, - }, - Object { - "x": 1593413163000, - "y": null, - }, - Object { - "x": 1593413164000, - "y": null, - }, - Object { - "x": 1593413165000, - "y": null, - }, - Object { - "x": 1593413166000, - "y": null, - }, - Object { - "x": 1593413167000, - "y": null, - }, - Object { - "x": 1593413168000, - "y": null, - }, - Object { - "x": 1593413169000, - "y": null, - }, - Object { - "x": 1593413170000, - "y": null, - }, - Object { - "x": 1593413171000, - "y": null, - }, - Object { - "x": 1593413172000, - "y": null, - }, - Object { - "x": 1593413173000, - "y": null, - }, - Object { - "x": 1593413174000, - "y": null, - }, - Object { - "x": 1593413175000, - "y": null, - }, - Object { - "x": 1593413176000, - "y": null, - }, - Object { - "x": 1593413177000, - "y": null, - }, - Object { - "x": 1593413178000, - "y": null, - }, - Object { - "x": 1593413179000, - "y": null, - }, - Object { - "x": 1593413180000, - "y": null, - }, - Object { - "x": 1593413181000, - "y": null, - }, - Object { - "x": 1593413182000, - "y": null, - }, - Object { - "x": 1593413183000, - "y": null, - }, - Object { - "x": 1593413184000, - "y": null, - }, - Object { - "x": 1593413185000, - "y": null, - }, - Object { - "x": 1593413186000, - "y": null, - }, - Object { - "x": 1593413187000, - "y": null, - }, - Object { - "x": 1593413188000, - "y": null, - }, - Object { - "x": 1593413189000, - "y": null, - }, - Object { - "x": 1593413190000, - "y": null, - }, - Object { - "x": 1593413191000, - "y": null, - }, - Object { - "x": 1593413192000, - "y": null, - }, - Object { - "x": 1593413193000, - "y": null, - }, - Object { - "x": 1593413194000, - "y": null, - }, - Object { - "x": 1593413195000, - "y": null, - }, - Object { - "x": 1593413196000, - "y": null, - }, - Object { - "x": 1593413197000, - "y": null, - }, - Object { - "x": 1593413198000, - "y": null, - }, - Object { - "x": 1593413199000, - "y": null, - }, - Object { - "x": 1593413200000, - "y": null, - }, - Object { - "x": 1593413201000, - "y": null, - }, - Object { - "x": 1593413202000, - "y": null, - }, - Object { - "x": 1593413203000, - "y": null, - }, - Object { - "x": 1593413204000, - "y": null, - }, - Object { - "x": 1593413205000, - "y": null, - }, - Object { - "x": 1593413206000, - "y": null, - }, - Object { - "x": 1593413207000, - "y": null, - }, - Object { - "x": 1593413208000, - "y": null, - }, - Object { - "x": 1593413209000, - "y": null, - }, - Object { - "x": 1593413210000, - "y": null, - }, - Object { - "x": 1593413211000, - "y": null, - }, - Object { - "x": 1593413212000, - "y": null, - }, - Object { - "x": 1593413213000, - "y": null, - }, - Object { - "x": 1593413214000, - "y": null, - }, - Object { - "x": 1593413215000, - "y": null, - }, - Object { - "x": 1593413216000, - "y": null, - }, - Object { - "x": 1593413217000, - "y": null, - }, - Object { - "x": 1593413218000, - "y": null, - }, - Object { - "x": 1593413219000, - "y": null, - }, - Object { - "x": 1593413220000, - "y": null, - }, - Object { - "x": 1593413221000, - "y": null, - }, - Object { - "x": 1593413222000, - "y": null, - }, - Object { - "x": 1593413223000, - "y": null, - }, - Object { - "x": 1593413224000, - "y": null, - }, - Object { - "x": 1593413225000, - "y": null, - }, - Object { - "x": 1593413226000, - "y": null, - }, - Object { - "x": 1593413227000, - "y": null, - }, - Object { - "x": 1593413228000, - "y": null, - }, - Object { - "x": 1593413229000, - "y": null, - }, - Object { - "x": 1593413230000, - "y": null, - }, - Object { - "x": 1593413231000, - "y": null, - }, - Object { - "x": 1593413232000, - "y": null, - }, - Object { - "x": 1593413233000, - "y": null, - }, - Object { - "x": 1593413234000, - "y": null, - }, - Object { - "x": 1593413235000, - "y": null, - }, - Object { - "x": 1593413236000, - "y": null, - }, - Object { - "x": 1593413237000, - "y": null, - }, - Object { - "x": 1593413238000, - "y": null, - }, - Object { - "x": 1593413239000, - "y": null, - }, - Object { - "x": 1593413240000, - "y": null, - }, - Object { - "x": 1593413241000, - "y": null, - }, - Object { - "x": 1593413242000, - "y": null, - }, - Object { - "x": 1593413243000, - "y": null, - }, - Object { - "x": 1593413244000, - "y": null, - }, - Object { - "x": 1593413245000, - "y": null, - }, - Object { - "x": 1593413246000, - "y": null, - }, - Object { - "x": 1593413247000, - "y": null, - }, - Object { - "x": 1593413248000, - "y": null, - }, - Object { - "x": 1593413249000, - "y": null, - }, - Object { - "x": 1593413250000, - "y": null, - }, - Object { - "x": 1593413251000, - "y": null, - }, - Object { - "x": 1593413252000, - "y": null, - }, - Object { - "x": 1593413253000, - "y": null, - }, - Object { - "x": 1593413254000, - "y": null, - }, - Object { - "x": 1593413255000, - "y": null, - }, - Object { - "x": 1593413256000, - "y": null, - }, - Object { - "x": 1593413257000, - "y": null, - }, - Object { - "x": 1593413258000, - "y": null, - }, - Object { - "x": 1593413259000, - "y": null, - }, - Object { - "x": 1593413260000, - "y": null, - }, - Object { - "x": 1593413261000, - "y": null, - }, - Object { - "x": 1593413262000, - "y": null, - }, - Object { - "x": 1593413263000, - "y": null, - }, - Object { - "x": 1593413264000, - "y": null, - }, - Object { - "x": 1593413265000, - "y": null, - }, - Object { - "x": 1593413266000, - "y": null, - }, - Object { - "x": 1593413267000, - "y": null, - }, - Object { - "x": 1593413268000, - "y": null, - }, - Object { - "x": 1593413269000, - "y": null, - }, - Object { - "x": 1593413270000, - "y": null, - }, - Object { - "x": 1593413271000, - "y": null, - }, - Object { - "x": 1593413272000, - "y": 45056, - }, - Object { - "x": 1593413273000, - "y": 10080, - }, - Object { - "x": 1593413274000, - "y": null, - }, - Object { - "x": 1593413275000, - "y": null, - }, - Object { - "x": 1593413276000, - "y": null, - }, - Object { - "x": 1593413277000, - "y": 37632, - }, - Object { - "x": 1593413278000, - "y": null, - }, - Object { - "x": 1593413279000, - "y": null, - }, - Object { - "x": 1593413280000, - "y": null, - }, - Object { - "x": 1593413281000, - "y": 33024, - }, - Object { - "x": 1593413282000, - "y": null, - }, - Object { - "x": 1593413283000, - "y": null, - }, - Object { - "x": 1593413284000, - "y": 761728, - }, - Object { - "x": 1593413285000, - "y": 81904, - }, - Object { - "x": 1593413286000, - "y": 358384, - }, - Object { - "x": 1593413287000, - "y": 36088, - }, - Object { - "x": 1593413288000, - "y": 44536, - }, - Object { - "x": 1593413289000, - "y": 11648, - }, - Object { - "x": 1593413290000, - "y": 31984, - }, - Object { - "x": 1593413291000, - "y": 2920, - }, - Object { - "x": 1593413292000, - "y": 9312, - }, - Object { - "x": 1593413293000, - "y": 10912, - }, - Object { - "x": 1593413294000, - "y": 6392, - }, - Object { - "x": 1593413295000, - "y": 11704, - }, - Object { - "x": 1593413296000, - "y": 10816, - }, - Object { - "x": 1593413297000, - "y": 12000, - }, - Object { - "x": 1593413298000, - "y": 15164, - }, - Object { - "x": 1593413299000, - "y": 3216, - }, - Object { - "x": 1593413300000, - "y": 9584, - }, - Object { - "x": 1593413301000, - "y": 21240, - }, - Object { - "x": 1593413302000, - "y": 5624, - }, - Object { - "x": 1593413303000, - "y": 11360, - }, - Object { - "x": 1593413304000, - "y": 12320, - }, - Object { - "x": 1593413305000, - "y": 38640, - }, - Object { - "x": 1593413306000, - "y": 9728, - }, - Object { - "x": 1593413307000, - "y": 17016, - }, - Object { - "x": 1593413308000, - "y": 26848, - }, - Object { - "x": 1593413309000, - "y": 1753072, - }, - Object { - "x": 1593413310000, - "y": 16992, - }, - Object { - "x": 1593413311000, - "y": 26560, - }, - Object { - "x": 1593413312000, - "y": 11232, - }, - Object { - "x": 1593413313000, - "y": 11424, - }, - Object { - "x": 1593413314000, - "y": 16096, - }, - Object { - "x": 1593413315000, - "y": 18800, - }, - Object { - "x": 1593413316000, - "y": 12672, - }, - Object { - "x": 1593413317000, - "y": 24316, - }, - Object { - "x": 1593413318000, - "y": 8944, - }, - Object { - "x": 1593413319000, - "y": 272352, - }, - Object { - "x": 1593413320000, - "y": 7992, - }, - Object { - "x": 1593413321000, - "y": 8368, - }, - Object { - "x": 1593413322000, - "y": 1928, - }, - Object { - "x": 1593413323000, - "y": null, - }, - Object { - "x": 1593413324000, - "y": null, - }, - Object { - "x": 1593413325000, - "y": null, - }, - Object { - "x": 1593413326000, - "y": null, - }, - Object { - "x": 1593413327000, - "y": null, - }, - Object { - "x": 1593413328000, - "y": null, - }, - Object { - "x": 1593413329000, - "y": null, - }, - Object { - "x": 1593413330000, - "y": null, - }, - Object { - "x": 1593413331000, - "y": null, - }, - Object { - "x": 1593413332000, - "y": null, - }, - Object { - "x": 1593413333000, - "y": null, - }, - Object { - "x": 1593413334000, - "y": null, - }, - Object { - "x": 1593413335000, - "y": null, - }, - Object { - "x": 1593413336000, - "y": null, - }, - Object { - "x": 1593413337000, - "y": null, - }, - Object { - "x": 1593413338000, - "y": null, - }, - Object { - "x": 1593413339000, - "y": null, - }, - Object { - "x": 1593413340000, - "y": null, - }, - ], - }, - "tpmBuckets": Array [ - Object { - "avg": 24.75, - "dataPoints": Array [ - Object { - "x": 1593413100000, - "y": 0, - }, - Object { - "x": 1593413101000, - "y": 0, - }, - Object { - "x": 1593413102000, - "y": 0, - }, - Object { - "x": 1593413103000, - "y": 0, - }, - Object { - "x": 1593413104000, - "y": 0, - }, - Object { - "x": 1593413105000, - "y": 0, - }, - Object { - "x": 1593413106000, - "y": 0, - }, - Object { - "x": 1593413107000, - "y": 0, - }, - Object { - "x": 1593413108000, - "y": 0, - }, - Object { - "x": 1593413109000, - "y": 0, - }, - Object { - "x": 1593413110000, - "y": 0, - }, - Object { - "x": 1593413111000, - "y": 0, - }, - Object { - "x": 1593413112000, - "y": 0, - }, - Object { - "x": 1593413113000, - "y": 0, - }, - Object { - "x": 1593413114000, - "y": 0, - }, - Object { - "x": 1593413115000, - "y": 0, - }, - Object { - "x": 1593413116000, - "y": 0, - }, - Object { - "x": 1593413117000, - "y": 0, - }, - Object { - "x": 1593413118000, - "y": 0, - }, - Object { - "x": 1593413119000, - "y": 0, - }, - Object { - "x": 1593413120000, - "y": 0, - }, - Object { - "x": 1593413121000, - "y": 0, - }, - Object { - "x": 1593413122000, - "y": 0, - }, - Object { - "x": 1593413123000, - "y": 0, - }, - Object { - "x": 1593413124000, - "y": 0, - }, - Object { - "x": 1593413125000, - "y": 0, - }, - Object { - "x": 1593413126000, - "y": 0, - }, - Object { - "x": 1593413127000, - "y": 0, - }, - Object { - "x": 1593413128000, - "y": 0, - }, - Object { - "x": 1593413129000, - "y": 0, - }, - Object { - "x": 1593413130000, - "y": 0, - }, - Object { - "x": 1593413131000, - "y": 0, - }, - Object { - "x": 1593413132000, - "y": 0, - }, - Object { - "x": 1593413133000, - "y": 0, - }, - Object { - "x": 1593413134000, - "y": 0, - }, - Object { - "x": 1593413135000, - "y": 0, - }, - Object { - "x": 1593413136000, - "y": 0, - }, - Object { - "x": 1593413137000, - "y": 0, - }, - Object { - "x": 1593413138000, - "y": 0, - }, - Object { - "x": 1593413139000, - "y": 0, - }, - Object { - "x": 1593413140000, - "y": 0, - }, - Object { - "x": 1593413141000, - "y": 0, - }, - Object { - "x": 1593413142000, - "y": 0, - }, - Object { - "x": 1593413143000, - "y": 0, - }, - Object { - "x": 1593413144000, - "y": 0, - }, - Object { - "x": 1593413145000, - "y": 0, - }, - Object { - "x": 1593413146000, - "y": 0, - }, - Object { - "x": 1593413147000, - "y": 0, - }, - Object { - "x": 1593413148000, - "y": 0, - }, - Object { - "x": 1593413149000, - "y": 0, - }, - Object { - "x": 1593413150000, - "y": 0, - }, - Object { - "x": 1593413151000, - "y": 0, - }, - Object { - "x": 1593413152000, - "y": 0, - }, - Object { - "x": 1593413153000, - "y": 0, - }, - Object { - "x": 1593413154000, - "y": 0, - }, - Object { - "x": 1593413155000, - "y": 0, - }, - Object { - "x": 1593413156000, - "y": 0, - }, - Object { - "x": 1593413157000, - "y": 0, - }, - Object { - "x": 1593413158000, - "y": 0, - }, - Object { - "x": 1593413159000, - "y": 0, - }, - Object { - "x": 1593413160000, - "y": 0, - }, - Object { - "x": 1593413161000, - "y": 0, - }, - Object { - "x": 1593413162000, - "y": 0, - }, - Object { - "x": 1593413163000, - "y": 0, - }, - Object { - "x": 1593413164000, - "y": 0, - }, - Object { - "x": 1593413165000, - "y": 0, - }, - Object { - "x": 1593413166000, - "y": 0, - }, - Object { - "x": 1593413167000, - "y": 0, - }, - Object { - "x": 1593413168000, - "y": 0, - }, - Object { - "x": 1593413169000, - "y": 0, - }, - Object { - "x": 1593413170000, - "y": 0, - }, - Object { - "x": 1593413171000, - "y": 0, - }, - Object { - "x": 1593413172000, - "y": 0, - }, - Object { - "x": 1593413173000, - "y": 0, - }, - Object { - "x": 1593413174000, - "y": 0, - }, - Object { - "x": 1593413175000, - "y": 0, - }, - Object { - "x": 1593413176000, - "y": 0, - }, - Object { - "x": 1593413177000, - "y": 0, - }, - Object { - "x": 1593413178000, - "y": 0, - }, - Object { - "x": 1593413179000, - "y": 0, - }, - Object { - "x": 1593413180000, - "y": 0, - }, - Object { - "x": 1593413181000, - "y": 0, - }, - Object { - "x": 1593413182000, - "y": 0, - }, - Object { - "x": 1593413183000, - "y": 0, - }, - Object { - "x": 1593413184000, - "y": 0, - }, - Object { - "x": 1593413185000, - "y": 0, - }, - Object { - "x": 1593413186000, - "y": 0, - }, - Object { - "x": 1593413187000, - "y": 0, - }, - Object { - "x": 1593413188000, - "y": 0, - }, - Object { - "x": 1593413189000, - "y": 0, - }, - Object { - "x": 1593413190000, - "y": 0, - }, - Object { - "x": 1593413191000, - "y": 0, - }, - Object { - "x": 1593413192000, - "y": 0, - }, - Object { - "x": 1593413193000, - "y": 0, - }, - Object { - "x": 1593413194000, - "y": 0, - }, - Object { - "x": 1593413195000, - "y": 0, - }, - Object { - "x": 1593413196000, - "y": 0, - }, - Object { - "x": 1593413197000, - "y": 0, - }, - Object { - "x": 1593413198000, - "y": 0, - }, - Object { - "x": 1593413199000, - "y": 0, - }, - Object { - "x": 1593413200000, - "y": 0, - }, - Object { - "x": 1593413201000, - "y": 0, - }, - Object { - "x": 1593413202000, - "y": 0, - }, - Object { - "x": 1593413203000, - "y": 0, - }, - Object { - "x": 1593413204000, - "y": 0, - }, - Object { - "x": 1593413205000, - "y": 0, - }, - Object { - "x": 1593413206000, - "y": 0, - }, - Object { - "x": 1593413207000, - "y": 0, - }, - Object { - "x": 1593413208000, - "y": 0, - }, - Object { - "x": 1593413209000, - "y": 0, - }, - Object { - "x": 1593413210000, - "y": 0, - }, - Object { - "x": 1593413211000, - "y": 0, - }, - Object { - "x": 1593413212000, - "y": 0, - }, - Object { - "x": 1593413213000, - "y": 0, - }, - Object { - "x": 1593413214000, - "y": 0, - }, - Object { - "x": 1593413215000, - "y": 0, - }, - Object { - "x": 1593413216000, - "y": 0, - }, - Object { - "x": 1593413217000, - "y": 0, - }, - Object { - "x": 1593413218000, - "y": 0, - }, - Object { - "x": 1593413219000, - "y": 0, - }, - Object { - "x": 1593413220000, - "y": 0, - }, - Object { - "x": 1593413221000, - "y": 0, - }, - Object { - "x": 1593413222000, - "y": 0, - }, - Object { - "x": 1593413223000, - "y": 0, - }, - Object { - "x": 1593413224000, - "y": 0, - }, - Object { - "x": 1593413225000, - "y": 0, - }, - Object { - "x": 1593413226000, - "y": 0, - }, - Object { - "x": 1593413227000, - "y": 0, - }, - Object { - "x": 1593413228000, - "y": 0, - }, - Object { - "x": 1593413229000, - "y": 0, - }, - Object { - "x": 1593413230000, - "y": 0, - }, - Object { - "x": 1593413231000, - "y": 0, - }, - Object { - "x": 1593413232000, - "y": 0, - }, - Object { - "x": 1593413233000, - "y": 0, - }, - Object { - "x": 1593413234000, - "y": 0, - }, - Object { - "x": 1593413235000, - "y": 0, - }, - Object { - "x": 1593413236000, - "y": 0, - }, - Object { - "x": 1593413237000, - "y": 0, - }, - Object { - "x": 1593413238000, - "y": 0, - }, - Object { - "x": 1593413239000, - "y": 0, - }, - Object { - "x": 1593413240000, - "y": 0, - }, - Object { - "x": 1593413241000, - "y": 0, - }, - Object { - "x": 1593413242000, - "y": 0, - }, - Object { - "x": 1593413243000, - "y": 0, - }, - Object { - "x": 1593413244000, - "y": 0, - }, - Object { - "x": 1593413245000, - "y": 0, - }, - Object { - "x": 1593413246000, - "y": 0, - }, - Object { - "x": 1593413247000, - "y": 0, - }, - Object { - "x": 1593413248000, - "y": 0, - }, - Object { - "x": 1593413249000, - "y": 0, - }, - Object { - "x": 1593413250000, - "y": 0, - }, - Object { - "x": 1593413251000, - "y": 0, - }, - Object { - "x": 1593413252000, - "y": 0, - }, - Object { - "x": 1593413253000, - "y": 0, - }, - Object { - "x": 1593413254000, - "y": 0, - }, - Object { - "x": 1593413255000, - "y": 0, - }, - Object { - "x": 1593413256000, - "y": 0, - }, - Object { - "x": 1593413257000, - "y": 0, - }, - Object { - "x": 1593413258000, - "y": 0, - }, - Object { - "x": 1593413259000, - "y": 0, - }, - Object { - "x": 1593413260000, - "y": 0, - }, - Object { - "x": 1593413261000, - "y": 0, - }, - Object { - "x": 1593413262000, - "y": 0, - }, - Object { - "x": 1593413263000, - "y": 0, - }, - Object { - "x": 1593413264000, - "y": 0, - }, - Object { - "x": 1593413265000, - "y": 0, - }, - Object { - "x": 1593413266000, - "y": 0, - }, - Object { - "x": 1593413267000, - "y": 0, - }, - Object { - "x": 1593413268000, - "y": 0, - }, - Object { - "x": 1593413269000, - "y": 0, - }, - Object { - "x": 1593413270000, - "y": 0, - }, - Object { - "x": 1593413271000, - "y": 0, - }, - Object { - "x": 1593413272000, - "y": 1, - }, - Object { - "x": 1593413273000, - "y": 2, - }, - Object { - "x": 1593413274000, - "y": 0, - }, - Object { - "x": 1593413275000, - "y": 0, - }, - Object { - "x": 1593413276000, - "y": 0, - }, - Object { - "x": 1593413277000, - "y": 1, - }, - Object { - "x": 1593413278000, - "y": 0, - }, - Object { - "x": 1593413279000, - "y": 0, - }, - Object { - "x": 1593413280000, - "y": 0, - }, - Object { - "x": 1593413281000, - "y": 1, - }, - Object { - "x": 1593413282000, - "y": 0, - }, - Object { - "x": 1593413283000, - "y": 0, - }, - Object { - "x": 1593413284000, - "y": 2, - }, - Object { - "x": 1593413285000, - "y": 2, - }, - Object { - "x": 1593413286000, - "y": 7, - }, - Object { - "x": 1593413287000, - "y": 1, - }, - Object { - "x": 1593413288000, - "y": 2, - }, - Object { - "x": 1593413289000, - "y": 1, - }, - Object { - "x": 1593413290000, - "y": 4, - }, - Object { - "x": 1593413291000, - "y": 2, - }, - Object { - "x": 1593413292000, - "y": 1, - }, - Object { - "x": 1593413293000, - "y": 2, - }, - Object { - "x": 1593413294000, - "y": 3, - }, - Object { - "x": 1593413295000, - "y": 2, - }, - Object { - "x": 1593413296000, - "y": 2, - }, - Object { - "x": 1593413297000, - "y": 2, - }, - Object { - "x": 1593413298000, - "y": 6, - }, - Object { - "x": 1593413299000, - "y": 1, - }, - Object { - "x": 1593413300000, - "y": 2, - }, - Object { - "x": 1593413301000, - "y": 3, - }, - Object { - "x": 1593413302000, - "y": 2, - }, - Object { - "x": 1593413303000, - "y": 2, - }, - Object { - "x": 1593413304000, - "y": 2, - }, - Object { - "x": 1593413305000, - "y": 1, - }, - Object { - "x": 1593413306000, - "y": 2, - }, - Object { - "x": 1593413307000, - "y": 3, - }, - Object { - "x": 1593413308000, - "y": 2, - }, - Object { - "x": 1593413309000, - "y": 2, - }, - Object { - "x": 1593413310000, - "y": 2, - }, - Object { - "x": 1593413311000, - "y": 1, - }, - Object { - "x": 1593413312000, - "y": 3, - }, - Object { - "x": 1593413313000, - "y": 3, - }, - Object { - "x": 1593413314000, - "y": 5, - }, - Object { - "x": 1593413315000, - "y": 2, - }, - Object { - "x": 1593413316000, - "y": 2, - }, - Object { - "x": 1593413317000, - "y": 6, - }, - Object { - "x": 1593413318000, - "y": 2, - }, - Object { - "x": 1593413319000, - "y": 2, - }, - Object { - "x": 1593413320000, - "y": 2, - }, - Object { - "x": 1593413321000, - "y": 2, - }, - Object { - "x": 1593413322000, - "y": 1, - }, - Object { - "x": 1593413323000, - "y": 0, - }, - Object { - "x": 1593413324000, - "y": 0, - }, - Object { - "x": 1593413325000, - "y": 0, - }, - Object { - "x": 1593413326000, - "y": 0, - }, - Object { - "x": 1593413327000, - "y": 0, - }, - Object { - "x": 1593413328000, - "y": 0, - }, - Object { - "x": 1593413329000, - "y": 0, - }, - Object { - "x": 1593413330000, - "y": 0, - }, - Object { - "x": 1593413331000, - "y": 0, - }, - Object { - "x": 1593413332000, - "y": 0, - }, - Object { - "x": 1593413333000, - "y": 0, - }, - Object { - "x": 1593413334000, - "y": 0, - }, - Object { - "x": 1593413335000, - "y": 0, - }, - Object { - "x": 1593413336000, - "y": 0, - }, - Object { - "x": 1593413337000, - "y": 0, - }, - Object { - "x": 1593413338000, - "y": 0, - }, - Object { - "x": 1593413339000, - "y": 0, - }, - Object { - "x": 1593413340000, - "y": 0, - }, - ], - "key": "HTTP 2xx", - }, - Object { - "avg": 1.75, - "dataPoints": Array [ - Object { - "x": 1593413100000, - "y": 0, - }, - Object { - "x": 1593413101000, - "y": 0, - }, - Object { - "x": 1593413102000, - "y": 0, - }, - Object { - "x": 1593413103000, - "y": 0, - }, - Object { - "x": 1593413104000, - "y": 0, - }, - Object { - "x": 1593413105000, - "y": 0, - }, - Object { - "x": 1593413106000, - "y": 0, - }, - Object { - "x": 1593413107000, - "y": 0, - }, - Object { - "x": 1593413108000, - "y": 0, - }, - Object { - "x": 1593413109000, - "y": 0, - }, - Object { - "x": 1593413110000, - "y": 0, - }, - Object { - "x": 1593413111000, - "y": 0, - }, - Object { - "x": 1593413112000, - "y": 0, - }, - Object { - "x": 1593413113000, - "y": 0, - }, - Object { - "x": 1593413114000, - "y": 0, - }, - Object { - "x": 1593413115000, - "y": 0, - }, - Object { - "x": 1593413116000, - "y": 0, - }, - Object { - "x": 1593413117000, - "y": 0, - }, - Object { - "x": 1593413118000, - "y": 0, - }, - Object { - "x": 1593413119000, - "y": 0, - }, - Object { - "x": 1593413120000, - "y": 0, - }, - Object { - "x": 1593413121000, - "y": 0, - }, - Object { - "x": 1593413122000, - "y": 0, - }, - Object { - "x": 1593413123000, - "y": 0, - }, - Object { - "x": 1593413124000, - "y": 0, - }, - Object { - "x": 1593413125000, - "y": 0, - }, - Object { - "x": 1593413126000, - "y": 0, - }, - Object { - "x": 1593413127000, - "y": 0, - }, - Object { - "x": 1593413128000, - "y": 0, - }, - Object { - "x": 1593413129000, - "y": 0, - }, - Object { - "x": 1593413130000, - "y": 0, - }, - Object { - "x": 1593413131000, - "y": 0, - }, - Object { - "x": 1593413132000, - "y": 0, - }, - Object { - "x": 1593413133000, - "y": 0, - }, - Object { - "x": 1593413134000, - "y": 0, - }, - Object { - "x": 1593413135000, - "y": 0, - }, - Object { - "x": 1593413136000, - "y": 0, - }, - Object { - "x": 1593413137000, - "y": 0, - }, - Object { - "x": 1593413138000, - "y": 0, - }, - Object { - "x": 1593413139000, - "y": 0, - }, - Object { - "x": 1593413140000, - "y": 0, - }, - Object { - "x": 1593413141000, - "y": 0, - }, - Object { - "x": 1593413142000, - "y": 0, - }, - Object { - "x": 1593413143000, - "y": 0, - }, - Object { - "x": 1593413144000, - "y": 0, - }, - Object { - "x": 1593413145000, - "y": 0, - }, - Object { - "x": 1593413146000, - "y": 0, - }, - Object { - "x": 1593413147000, - "y": 0, - }, - Object { - "x": 1593413148000, - "y": 0, - }, - Object { - "x": 1593413149000, - "y": 0, - }, - Object { - "x": 1593413150000, - "y": 0, - }, - Object { - "x": 1593413151000, - "y": 0, - }, - Object { - "x": 1593413152000, - "y": 0, - }, - Object { - "x": 1593413153000, - "y": 0, - }, - Object { - "x": 1593413154000, - "y": 0, - }, - Object { - "x": 1593413155000, - "y": 0, - }, - Object { - "x": 1593413156000, - "y": 0, - }, - Object { - "x": 1593413157000, - "y": 0, - }, - Object { - "x": 1593413158000, - "y": 0, - }, - Object { - "x": 1593413159000, - "y": 0, - }, - Object { - "x": 1593413160000, - "y": 0, - }, - Object { - "x": 1593413161000, - "y": 0, - }, - Object { - "x": 1593413162000, - "y": 0, - }, - Object { - "x": 1593413163000, - "y": 0, - }, - Object { - "x": 1593413164000, - "y": 0, - }, - Object { - "x": 1593413165000, - "y": 0, - }, - Object { - "x": 1593413166000, - "y": 0, - }, - Object { - "x": 1593413167000, - "y": 0, - }, - Object { - "x": 1593413168000, - "y": 0, - }, - Object { - "x": 1593413169000, - "y": 0, - }, - Object { - "x": 1593413170000, - "y": 0, - }, - Object { - "x": 1593413171000, - "y": 0, - }, - Object { - "x": 1593413172000, - "y": 0, - }, - Object { - "x": 1593413173000, - "y": 0, - }, - Object { - "x": 1593413174000, - "y": 0, - }, - Object { - "x": 1593413175000, - "y": 0, - }, - Object { - "x": 1593413176000, - "y": 0, - }, - Object { - "x": 1593413177000, - "y": 0, - }, - Object { - "x": 1593413178000, - "y": 0, - }, - Object { - "x": 1593413179000, - "y": 0, - }, - Object { - "x": 1593413180000, - "y": 0, - }, - Object { - "x": 1593413181000, - "y": 0, - }, - Object { - "x": 1593413182000, - "y": 0, - }, - Object { - "x": 1593413183000, - "y": 0, - }, - Object { - "x": 1593413184000, - "y": 0, - }, - Object { - "x": 1593413185000, - "y": 0, - }, - Object { - "x": 1593413186000, - "y": 0, - }, - Object { - "x": 1593413187000, - "y": 0, - }, - Object { - "x": 1593413188000, - "y": 0, - }, - Object { - "x": 1593413189000, - "y": 0, - }, - Object { - "x": 1593413190000, - "y": 0, - }, - Object { - "x": 1593413191000, - "y": 0, - }, - Object { - "x": 1593413192000, - "y": 0, - }, - Object { - "x": 1593413193000, - "y": 0, - }, - Object { - "x": 1593413194000, - "y": 0, - }, - Object { - "x": 1593413195000, - "y": 0, - }, - Object { - "x": 1593413196000, - "y": 0, - }, - Object { - "x": 1593413197000, - "y": 0, - }, - Object { - "x": 1593413198000, - "y": 0, - }, - Object { - "x": 1593413199000, - "y": 0, - }, - Object { - "x": 1593413200000, - "y": 0, - }, - Object { - "x": 1593413201000, - "y": 0, - }, - Object { - "x": 1593413202000, - "y": 0, - }, - Object { - "x": 1593413203000, - "y": 0, - }, - Object { - "x": 1593413204000, - "y": 0, - }, - Object { - "x": 1593413205000, - "y": 0, - }, - Object { - "x": 1593413206000, - "y": 0, - }, - Object { - "x": 1593413207000, - "y": 0, - }, - Object { - "x": 1593413208000, - "y": 0, - }, - Object { - "x": 1593413209000, - "y": 0, - }, - Object { - "x": 1593413210000, - "y": 0, - }, - Object { - "x": 1593413211000, - "y": 0, - }, - Object { - "x": 1593413212000, - "y": 0, - }, - Object { - "x": 1593413213000, - "y": 0, - }, - Object { - "x": 1593413214000, - "y": 0, - }, - Object { - "x": 1593413215000, - "y": 0, - }, - Object { - "x": 1593413216000, - "y": 0, - }, - Object { - "x": 1593413217000, - "y": 0, - }, - Object { - "x": 1593413218000, - "y": 0, - }, - Object { - "x": 1593413219000, - "y": 0, - }, - Object { - "x": 1593413220000, - "y": 0, - }, - Object { - "x": 1593413221000, - "y": 0, - }, - Object { - "x": 1593413222000, - "y": 0, - }, - Object { - "x": 1593413223000, - "y": 0, - }, - Object { - "x": 1593413224000, - "y": 0, - }, - Object { - "x": 1593413225000, - "y": 0, - }, - Object { - "x": 1593413226000, - "y": 0, - }, - Object { - "x": 1593413227000, - "y": 0, - }, - Object { - "x": 1593413228000, - "y": 0, - }, - Object { - "x": 1593413229000, - "y": 0, - }, - Object { - "x": 1593413230000, - "y": 0, - }, - Object { - "x": 1593413231000, - "y": 0, - }, - Object { - "x": 1593413232000, - "y": 0, - }, - Object { - "x": 1593413233000, - "y": 0, - }, - Object { - "x": 1593413234000, - "y": 0, - }, - Object { - "x": 1593413235000, - "y": 0, - }, - Object { - "x": 1593413236000, - "y": 0, - }, - Object { - "x": 1593413237000, - "y": 0, - }, - Object { - "x": 1593413238000, - "y": 0, - }, - Object { - "x": 1593413239000, - "y": 0, - }, - Object { - "x": 1593413240000, - "y": 0, - }, - Object { - "x": 1593413241000, - "y": 0, - }, - Object { - "x": 1593413242000, - "y": 0, - }, - Object { - "x": 1593413243000, - "y": 0, - }, - Object { - "x": 1593413244000, - "y": 0, - }, - Object { - "x": 1593413245000, - "y": 0, - }, - Object { - "x": 1593413246000, - "y": 0, - }, - Object { - "x": 1593413247000, - "y": 0, - }, - Object { - "x": 1593413248000, - "y": 0, - }, - Object { - "x": 1593413249000, - "y": 0, - }, - Object { - "x": 1593413250000, - "y": 0, - }, - Object { - "x": 1593413251000, - "y": 0, - }, - Object { - "x": 1593413252000, - "y": 0, - }, - Object { - "x": 1593413253000, - "y": 0, - }, - Object { - "x": 1593413254000, - "y": 0, - }, - Object { - "x": 1593413255000, - "y": 0, - }, - Object { - "x": 1593413256000, - "y": 0, - }, - Object { - "x": 1593413257000, - "y": 0, - }, - Object { - "x": 1593413258000, - "y": 0, - }, - Object { - "x": 1593413259000, - "y": 0, - }, - Object { - "x": 1593413260000, - "y": 0, - }, - Object { - "x": 1593413261000, - "y": 0, - }, - Object { - "x": 1593413262000, - "y": 0, - }, - Object { - "x": 1593413263000, - "y": 0, - }, - Object { - "x": 1593413264000, - "y": 0, - }, - Object { - "x": 1593413265000, - "y": 0, - }, - Object { - "x": 1593413266000, - "y": 0, - }, - Object { - "x": 1593413267000, - "y": 0, - }, - Object { - "x": 1593413268000, - "y": 0, - }, - Object { - "x": 1593413269000, - "y": 0, - }, - Object { - "x": 1593413270000, - "y": 0, - }, - Object { - "x": 1593413271000, - "y": 0, - }, - Object { - "x": 1593413272000, - "y": 0, - }, - Object { - "x": 1593413273000, - "y": 0, - }, - Object { - "x": 1593413274000, - "y": 0, - }, - Object { - "x": 1593413275000, - "y": 0, - }, - Object { - "x": 1593413276000, - "y": 0, - }, - Object { - "x": 1593413277000, - "y": 0, - }, - Object { - "x": 1593413278000, - "y": 0, - }, - Object { - "x": 1593413279000, - "y": 0, - }, - Object { - "x": 1593413280000, - "y": 0, - }, - Object { - "x": 1593413281000, - "y": 0, - }, - Object { - "x": 1593413282000, - "y": 0, - }, - Object { - "x": 1593413283000, - "y": 0, - }, - Object { - "x": 1593413284000, - "y": 0, - }, - Object { - "x": 1593413285000, - "y": 0, - }, - Object { - "x": 1593413286000, - "y": 0, - }, - Object { - "x": 1593413287000, - "y": 0, - }, - Object { - "x": 1593413288000, - "y": 0, - }, - Object { - "x": 1593413289000, - "y": 0, - }, - Object { - "x": 1593413290000, - "y": 0, - }, - Object { - "x": 1593413291000, - "y": 0, - }, - Object { - "x": 1593413292000, - "y": 0, - }, - Object { - "x": 1593413293000, - "y": 0, - }, - Object { - "x": 1593413294000, - "y": 0, - }, - Object { - "x": 1593413295000, - "y": 0, - }, - Object { - "x": 1593413296000, - "y": 0, - }, - Object { - "x": 1593413297000, - "y": 0, - }, - Object { - "x": 1593413298000, - "y": 2, - }, - Object { - "x": 1593413299000, - "y": 0, - }, - Object { - "x": 1593413300000, - "y": 0, - }, - Object { - "x": 1593413301000, - "y": 3, - }, - Object { - "x": 1593413302000, - "y": 0, - }, - Object { - "x": 1593413303000, - "y": 0, - }, - Object { - "x": 1593413304000, - "y": 0, - }, - Object { - "x": 1593413305000, - "y": 0, - }, - Object { - "x": 1593413306000, - "y": 0, - }, - Object { - "x": 1593413307000, - "y": 0, - }, - Object { - "x": 1593413308000, - "y": 0, - }, - Object { - "x": 1593413309000, - "y": 0, - }, - Object { - "x": 1593413310000, - "y": 0, - }, - Object { - "x": 1593413311000, - "y": 0, - }, - Object { - "x": 1593413312000, - "y": 0, - }, - Object { - "x": 1593413313000, - "y": 0, - }, - Object { - "x": 1593413314000, - "y": 0, - }, - Object { - "x": 1593413315000, - "y": 0, - }, - Object { - "x": 1593413316000, - "y": 0, - }, - Object { - "x": 1593413317000, - "y": 2, - }, - Object { - "x": 1593413318000, - "y": 0, - }, - Object { - "x": 1593413319000, - "y": 0, - }, - Object { - "x": 1593413320000, - "y": 0, - }, - Object { - "x": 1593413321000, - "y": 0, - }, - Object { - "x": 1593413322000, - "y": 0, - }, - Object { - "x": 1593413323000, - "y": 0, - }, - Object { - "x": 1593413324000, - "y": 0, - }, - Object { - "x": 1593413325000, - "y": 0, - }, - Object { - "x": 1593413326000, - "y": 0, - }, - Object { - "x": 1593413327000, - "y": 0, - }, - Object { - "x": 1593413328000, - "y": 0, - }, - Object { - "x": 1593413329000, - "y": 0, - }, - Object { - "x": 1593413330000, - "y": 0, - }, - Object { - "x": 1593413331000, - "y": 0, - }, - Object { - "x": 1593413332000, - "y": 0, - }, - Object { - "x": 1593413333000, - "y": 0, - }, - Object { - "x": 1593413334000, - "y": 0, - }, - Object { - "x": 1593413335000, - "y": 0, - }, - Object { - "x": 1593413336000, - "y": 0, - }, - Object { - "x": 1593413337000, - "y": 0, - }, - Object { - "x": 1593413338000, - "y": 0, - }, - Object { - "x": 1593413339000, - "y": 0, - }, - Object { - "x": 1593413340000, - "y": 0, - }, - ], - "key": "HTTP 3xx", - }, - Object { - "avg": 2, - "dataPoints": Array [ - Object { - "x": 1593413100000, - "y": 0, - }, - Object { - "x": 1593413101000, - "y": 0, - }, - Object { - "x": 1593413102000, - "y": 0, - }, - Object { - "x": 1593413103000, - "y": 0, - }, - Object { - "x": 1593413104000, - "y": 0, - }, - Object { - "x": 1593413105000, - "y": 0, - }, - Object { - "x": 1593413106000, - "y": 0, - }, - Object { - "x": 1593413107000, - "y": 0, - }, - Object { - "x": 1593413108000, - "y": 0, - }, - Object { - "x": 1593413109000, - "y": 0, - }, - Object { - "x": 1593413110000, - "y": 0, - }, - Object { - "x": 1593413111000, - "y": 0, - }, - Object { - "x": 1593413112000, - "y": 0, - }, - Object { - "x": 1593413113000, - "y": 0, - }, - Object { - "x": 1593413114000, - "y": 0, - }, - Object { - "x": 1593413115000, - "y": 0, - }, - Object { - "x": 1593413116000, - "y": 0, - }, - Object { - "x": 1593413117000, - "y": 0, - }, - Object { - "x": 1593413118000, - "y": 0, - }, - Object { - "x": 1593413119000, - "y": 0, - }, - Object { - "x": 1593413120000, - "y": 0, - }, - Object { - "x": 1593413121000, - "y": 0, - }, - Object { - "x": 1593413122000, - "y": 0, - }, - Object { - "x": 1593413123000, - "y": 0, - }, - Object { - "x": 1593413124000, - "y": 0, - }, - Object { - "x": 1593413125000, - "y": 0, - }, - Object { - "x": 1593413126000, - "y": 0, - }, - Object { - "x": 1593413127000, - "y": 0, - }, - Object { - "x": 1593413128000, - "y": 0, - }, - Object { - "x": 1593413129000, - "y": 0, - }, - Object { - "x": 1593413130000, - "y": 0, - }, - Object { - "x": 1593413131000, - "y": 0, - }, - Object { - "x": 1593413132000, - "y": 0, - }, - Object { - "x": 1593413133000, - "y": 0, - }, - Object { - "x": 1593413134000, - "y": 0, - }, - Object { - "x": 1593413135000, - "y": 0, - }, - Object { - "x": 1593413136000, - "y": 0, - }, - Object { - "x": 1593413137000, - "y": 0, - }, - Object { - "x": 1593413138000, - "y": 0, - }, - Object { - "x": 1593413139000, - "y": 0, - }, - Object { - "x": 1593413140000, - "y": 0, - }, - Object { - "x": 1593413141000, - "y": 0, - }, - Object { - "x": 1593413142000, - "y": 0, - }, - Object { - "x": 1593413143000, - "y": 0, - }, - Object { - "x": 1593413144000, - "y": 0, - }, - Object { - "x": 1593413145000, - "y": 0, - }, - Object { - "x": 1593413146000, - "y": 0, - }, - Object { - "x": 1593413147000, - "y": 0, - }, - Object { - "x": 1593413148000, - "y": 0, - }, - Object { - "x": 1593413149000, - "y": 0, - }, - Object { - "x": 1593413150000, - "y": 0, - }, - Object { - "x": 1593413151000, - "y": 0, - }, - Object { - "x": 1593413152000, - "y": 0, - }, - Object { - "x": 1593413153000, - "y": 0, - }, - Object { - "x": 1593413154000, - "y": 0, - }, - Object { - "x": 1593413155000, - "y": 0, - }, - Object { - "x": 1593413156000, - "y": 0, - }, - Object { - "x": 1593413157000, - "y": 0, - }, - Object { - "x": 1593413158000, - "y": 0, - }, - Object { - "x": 1593413159000, - "y": 0, - }, - Object { - "x": 1593413160000, - "y": 0, - }, - Object { - "x": 1593413161000, - "y": 0, - }, - Object { - "x": 1593413162000, - "y": 0, - }, - Object { - "x": 1593413163000, - "y": 0, - }, - Object { - "x": 1593413164000, - "y": 0, - }, - Object { - "x": 1593413165000, - "y": 0, - }, - Object { - "x": 1593413166000, - "y": 0, - }, - Object { - "x": 1593413167000, - "y": 0, - }, - Object { - "x": 1593413168000, - "y": 0, - }, - Object { - "x": 1593413169000, - "y": 0, - }, - Object { - "x": 1593413170000, - "y": 0, - }, - Object { - "x": 1593413171000, - "y": 0, - }, - Object { - "x": 1593413172000, - "y": 0, - }, - Object { - "x": 1593413173000, - "y": 0, - }, - Object { - "x": 1593413174000, - "y": 0, - }, - Object { - "x": 1593413175000, - "y": 0, - }, - Object { - "x": 1593413176000, - "y": 0, - }, - Object { - "x": 1593413177000, - "y": 0, - }, - Object { - "x": 1593413178000, - "y": 0, - }, - Object { - "x": 1593413179000, - "y": 0, - }, - Object { - "x": 1593413180000, - "y": 0, - }, - Object { - "x": 1593413181000, - "y": 0, - }, - Object { - "x": 1593413182000, - "y": 0, - }, - Object { - "x": 1593413183000, - "y": 0, - }, - Object { - "x": 1593413184000, - "y": 0, - }, - Object { - "x": 1593413185000, - "y": 0, - }, - Object { - "x": 1593413186000, - "y": 0, - }, - Object { - "x": 1593413187000, - "y": 0, - }, - Object { - "x": 1593413188000, - "y": 0, - }, - Object { - "x": 1593413189000, - "y": 0, - }, - Object { - "x": 1593413190000, - "y": 0, - }, - Object { - "x": 1593413191000, - "y": 0, - }, - Object { - "x": 1593413192000, - "y": 0, - }, - Object { - "x": 1593413193000, - "y": 0, - }, - Object { - "x": 1593413194000, - "y": 0, - }, - Object { - "x": 1593413195000, - "y": 0, - }, - Object { - "x": 1593413196000, - "y": 0, - }, - Object { - "x": 1593413197000, - "y": 0, - }, - Object { - "x": 1593413198000, - "y": 0, - }, - Object { - "x": 1593413199000, - "y": 0, - }, - Object { - "x": 1593413200000, - "y": 0, - }, - Object { - "x": 1593413201000, - "y": 0, - }, - Object { - "x": 1593413202000, - "y": 0, - }, - Object { - "x": 1593413203000, - "y": 0, - }, - Object { - "x": 1593413204000, - "y": 0, - }, - Object { - "x": 1593413205000, - "y": 0, - }, - Object { - "x": 1593413206000, - "y": 0, - }, - Object { - "x": 1593413207000, - "y": 0, - }, - Object { - "x": 1593413208000, - "y": 0, - }, - Object { - "x": 1593413209000, - "y": 0, - }, - Object { - "x": 1593413210000, - "y": 0, - }, - Object { - "x": 1593413211000, - "y": 0, - }, - Object { - "x": 1593413212000, - "y": 0, - }, - Object { - "x": 1593413213000, - "y": 0, - }, - Object { - "x": 1593413214000, - "y": 0, - }, - Object { - "x": 1593413215000, - "y": 0, - }, - Object { - "x": 1593413216000, - "y": 0, - }, - Object { - "x": 1593413217000, - "y": 0, - }, - Object { - "x": 1593413218000, - "y": 0, - }, - Object { - "x": 1593413219000, - "y": 0, - }, - Object { - "x": 1593413220000, - "y": 0, - }, - Object { - "x": 1593413221000, - "y": 0, - }, - Object { - "x": 1593413222000, - "y": 0, - }, - Object { - "x": 1593413223000, - "y": 0, - }, - Object { - "x": 1593413224000, - "y": 0, - }, - Object { - "x": 1593413225000, - "y": 0, - }, - Object { - "x": 1593413226000, - "y": 0, - }, - Object { - "x": 1593413227000, - "y": 0, - }, - Object { - "x": 1593413228000, - "y": 0, - }, - Object { - "x": 1593413229000, - "y": 0, - }, - Object { - "x": 1593413230000, - "y": 0, - }, - Object { - "x": 1593413231000, - "y": 0, - }, - Object { - "x": 1593413232000, - "y": 0, - }, - Object { - "x": 1593413233000, - "y": 0, - }, - Object { - "x": 1593413234000, - "y": 0, - }, - Object { - "x": 1593413235000, - "y": 0, - }, - Object { - "x": 1593413236000, - "y": 0, - }, - Object { - "x": 1593413237000, - "y": 0, - }, - Object { - "x": 1593413238000, - "y": 0, - }, - Object { - "x": 1593413239000, - "y": 0, - }, - Object { - "x": 1593413240000, - "y": 0, - }, - Object { - "x": 1593413241000, - "y": 0, - }, - Object { - "x": 1593413242000, - "y": 0, - }, - Object { - "x": 1593413243000, - "y": 0, - }, - Object { - "x": 1593413244000, - "y": 0, - }, - Object { - "x": 1593413245000, - "y": 0, - }, - Object { - "x": 1593413246000, - "y": 0, - }, - Object { - "x": 1593413247000, - "y": 0, - }, - Object { - "x": 1593413248000, - "y": 0, - }, - Object { - "x": 1593413249000, - "y": 0, - }, - Object { - "x": 1593413250000, - "y": 0, - }, - Object { - "x": 1593413251000, - "y": 0, - }, - Object { - "x": 1593413252000, - "y": 0, - }, - Object { - "x": 1593413253000, - "y": 0, - }, - Object { - "x": 1593413254000, - "y": 0, - }, - Object { - "x": 1593413255000, - "y": 0, - }, - Object { - "x": 1593413256000, - "y": 0, - }, - Object { - "x": 1593413257000, - "y": 0, - }, - Object { - "x": 1593413258000, - "y": 0, - }, - Object { - "x": 1593413259000, - "y": 0, - }, - Object { - "x": 1593413260000, - "y": 0, - }, - Object { - "x": 1593413261000, - "y": 0, - }, - Object { - "x": 1593413262000, - "y": 0, - }, - Object { - "x": 1593413263000, - "y": 0, - }, - Object { - "x": 1593413264000, - "y": 0, - }, - Object { - "x": 1593413265000, - "y": 0, - }, - Object { - "x": 1593413266000, - "y": 0, - }, - Object { - "x": 1593413267000, - "y": 0, - }, - Object { - "x": 1593413268000, - "y": 0, - }, - Object { - "x": 1593413269000, - "y": 0, - }, - Object { - "x": 1593413270000, - "y": 0, - }, - Object { - "x": 1593413271000, - "y": 0, - }, - Object { - "x": 1593413272000, - "y": 0, - }, - Object { - "x": 1593413273000, - "y": 0, - }, - Object { - "x": 1593413274000, - "y": 0, - }, - Object { - "x": 1593413275000, - "y": 0, - }, - Object { - "x": 1593413276000, - "y": 0, - }, - Object { - "x": 1593413277000, - "y": 0, - }, - Object { - "x": 1593413278000, - "y": 0, - }, - Object { - "x": 1593413279000, - "y": 0, - }, - Object { - "x": 1593413280000, - "y": 0, - }, - Object { - "x": 1593413281000, - "y": 0, - }, - Object { - "x": 1593413282000, - "y": 0, - }, - Object { - "x": 1593413283000, - "y": 0, - }, - Object { - "x": 1593413284000, - "y": 0, - }, - Object { - "x": 1593413285000, - "y": 0, - }, - Object { - "x": 1593413286000, - "y": 0, - }, - Object { - "x": 1593413287000, - "y": 0, - }, - Object { - "x": 1593413288000, - "y": 0, - }, - Object { - "x": 1593413289000, - "y": 1, - }, - Object { - "x": 1593413290000, - "y": 0, - }, - Object { - "x": 1593413291000, - "y": 0, - }, - Object { - "x": 1593413292000, - "y": 1, - }, - Object { - "x": 1593413293000, - "y": 0, - }, - Object { - "x": 1593413294000, - "y": 0, - }, - Object { - "x": 1593413295000, - "y": 0, - }, - Object { - "x": 1593413296000, - "y": 0, - }, - Object { - "x": 1593413297000, - "y": 0, - }, - Object { - "x": 1593413298000, - "y": 0, - }, - Object { - "x": 1593413299000, - "y": 0, - }, - Object { - "x": 1593413300000, - "y": 1, - }, - Object { - "x": 1593413301000, - "y": 0, - }, - Object { - "x": 1593413302000, - "y": 0, - }, - Object { - "x": 1593413303000, - "y": 0, - }, - Object { - "x": 1593413304000, - "y": 0, - }, - Object { - "x": 1593413305000, - "y": 1, - }, - Object { - "x": 1593413306000, - "y": 0, - }, - Object { - "x": 1593413307000, - "y": 0, - }, - Object { - "x": 1593413308000, - "y": 0, - }, - Object { - "x": 1593413309000, - "y": 1, - }, - Object { - "x": 1593413310000, - "y": 1, - }, - Object { - "x": 1593413311000, - "y": 0, - }, - Object { - "x": 1593413312000, - "y": 0, - }, - Object { - "x": 1593413313000, - "y": 0, - }, - Object { - "x": 1593413314000, - "y": 0, - }, - Object { - "x": 1593413315000, - "y": 1, - }, - Object { - "x": 1593413316000, - "y": 0, - }, - Object { - "x": 1593413317000, - "y": 0, - }, - Object { - "x": 1593413318000, - "y": 0, - }, + "x": 1599721110000, + "y": 927744, + }, + Object { + "x": 1599721140000, + "y": 1048320, + }, + Object { + "x": 1599721170000, + "y": 1363968, + }, + Object { + "x": 1599721200000, + "y": null, + }, + ], + }, + "tpmBuckets": Array [ + Object { + "avg": 3.183333333333333, + "dataPoints": Array [ Object { - "x": 1593413319000, + "x": 1599717600000, "y": 0, }, Object { - "x": 1593413320000, + "x": 1599717630000, "y": 1, }, Object { - "x": 1593413321000, - "y": 0, - }, - Object { - "x": 1593413322000, - "y": 0, - }, - Object { - "x": 1593413323000, - "y": 0, - }, - Object { - "x": 1593413324000, - "y": 0, - }, - Object { - "x": 1593413325000, - "y": 0, - }, - Object { - "x": 1593413326000, - "y": 0, - }, - Object { - "x": 1593413327000, - "y": 0, - }, - Object { - "x": 1593413328000, - "y": 0, - }, - Object { - "x": 1593413329000, - "y": 0, - }, - Object { - "x": 1593413330000, - "y": 0, - }, - Object { - "x": 1593413331000, - "y": 0, - }, - Object { - "x": 1593413332000, - "y": 0, - }, - Object { - "x": 1593413333000, - "y": 0, + "x": 1599717660000, + "y": 2, }, Object { - "x": 1593413334000, + "x": 1599717690000, "y": 0, }, Object { - "x": 1593413335000, - "y": 0, + "x": 1599717720000, + "y": 3, }, Object { - "x": 1593413336000, - "y": 0, + "x": 1599717750000, + "y": 3, }, Object { - "x": 1593413337000, - "y": 0, + "x": 1599717780000, + "y": 2, }, Object { - "x": 1593413338000, + "x": 1599717810000, "y": 0, }, Object { - "x": 1593413339000, - "y": 0, + "x": 1599717840000, + "y": 1, }, Object { - "x": 1593413340000, - "y": 0, + "x": 1599717870000, + "y": 2, }, - ], - "key": "HTTP 4xx", - }, - Object { - "avg": 2.25, - "dataPoints": Array [ Object { - "x": 1593413100000, - "y": 0, + "x": 1599717900000, + "y": 2, }, Object { - "x": 1593413101000, + "x": 1599717930000, "y": 0, }, Object { - "x": 1593413102000, - "y": 0, + "x": 1599717960000, + "y": 4, }, Object { - "x": 1593413103000, - "y": 0, + "x": 1599717990000, + "y": 4, }, Object { - "x": 1593413104000, - "y": 0, + "x": 1599718020000, + "y": 1, }, Object { - "x": 1593413105000, + "x": 1599718050000, "y": 0, }, Object { - "x": 1593413106000, - "y": 0, + "x": 1599718080000, + "y": 5, }, Object { - "x": 1593413107000, - "y": 0, + "x": 1599718110000, + "y": 1, }, Object { - "x": 1593413108000, - "y": 0, + "x": 1599718140000, + "y": 2, }, Object { - "x": 1593413109000, + "x": 1599718170000, "y": 0, }, Object { - "x": 1593413110000, - "y": 0, + "x": 1599718200000, + "y": 6, }, Object { - "x": 1593413111000, - "y": 0, + "x": 1599718230000, + "y": 2, }, Object { - "x": 1593413112000, + "x": 1599718260000, "y": 0, }, Object { - "x": 1593413113000, + "x": 1599718290000, "y": 0, }, Object { - "x": 1593413114000, - "y": 0, + "x": 1599718320000, + "y": 2, }, Object { - "x": 1593413115000, - "y": 0, + "x": 1599718350000, + "y": 3, }, Object { - "x": 1593413116000, - "y": 0, + "x": 1599718380000, + "y": 2, }, Object { - "x": 1593413117000, + "x": 1599718410000, "y": 0, }, Object { - "x": 1593413118000, - "y": 0, + "x": 1599718440000, + "y": 3, }, Object { - "x": 1593413119000, - "y": 0, + "x": 1599718470000, + "y": 6, }, Object { - "x": 1593413120000, - "y": 0, + "x": 1599718500000, + "y": 1, }, Object { - "x": 1593413121000, + "x": 1599718530000, "y": 0, }, Object { - "x": 1593413122000, - "y": 0, + "x": 1599718560000, + "y": 7, }, Object { - "x": 1593413123000, + "x": 1599718590000, "y": 0, }, Object { - "x": 1593413124000, - "y": 0, + "x": 1599718620000, + "y": 2, }, Object { - "x": 1593413125000, + "x": 1599718650000, "y": 0, }, Object { - "x": 1593413126000, - "y": 0, + "x": 1599718680000, + "y": 3, }, Object { - "x": 1593413127000, - "y": 0, + "x": 1599718710000, + "y": 2, }, Object { - "x": 1593413128000, - "y": 0, + "x": 1599718740000, + "y": 1, }, Object { - "x": 1593413129000, - "y": 0, + "x": 1599718770000, + "y": 1, }, Object { - "x": 1593413130000, + "x": 1599718800000, "y": 0, }, Object { - "x": 1593413131000, - "y": 0, + "x": 1599718830000, + "y": 4, }, Object { - "x": 1593413132000, - "y": 0, + "x": 1599718860000, + "y": 1, }, Object { - "x": 1593413133000, + "x": 1599718890000, "y": 0, }, Object { - "x": 1593413134000, - "y": 0, + "x": 1599718920000, + "y": 2, }, Object { - "x": 1593413135000, + "x": 1599718950000, "y": 0, }, Object { - "x": 1593413136000, + "x": 1599718980000, "y": 0, }, Object { - "x": 1593413137000, - "y": 0, + "x": 1599719010000, + "y": 3, }, Object { - "x": 1593413138000, - "y": 0, + "x": 1599719040000, + "y": 4, }, Object { - "x": 1593413139000, - "y": 0, + "x": 1599719070000, + "y": 1, }, Object { - "x": 1593413140000, - "y": 0, + "x": 1599719100000, + "y": 2, }, Object { - "x": 1593413141000, + "x": 1599719130000, "y": 0, }, Object { - "x": 1593413142000, - "y": 0, + "x": 1599719160000, + "y": 6, }, Object { - "x": 1593413143000, - "y": 0, + "x": 1599719190000, + "y": 1, }, Object { - "x": 1593413144000, - "y": 0, + "x": 1599719220000, + "y": 5, }, Object { - "x": 1593413145000, + "x": 1599719250000, "y": 0, }, Object { - "x": 1593413146000, - "y": 0, + "x": 1599719280000, + "y": 2, }, Object { - "x": 1593413147000, - "y": 0, + "x": 1599719310000, + "y": 3, }, Object { - "x": 1593413148000, + "x": 1599719340000, "y": 0, }, Object { - "x": 1593413149000, + "x": 1599719370000, "y": 0, }, Object { - "x": 1593413150000, - "y": 0, + "x": 1599719400000, + "y": 6, }, Object { - "x": 1593413151000, - "y": 0, + "x": 1599719430000, + "y": 3, }, Object { - "x": 1593413152000, + "x": 1599719460000, "y": 0, }, Object { - "x": 1593413153000, - "y": 0, + "x": 1599719490000, + "y": 1, }, Object { - "x": 1593413154000, - "y": 0, + "x": 1599719520000, + "y": 1, }, Object { - "x": 1593413155000, + "x": 1599719550000, "y": 0, }, Object { - "x": 1593413156000, - "y": 0, + "x": 1599719580000, + "y": 1, }, Object { - "x": 1593413157000, + "x": 1599719610000, "y": 0, }, Object { - "x": 1593413158000, - "y": 0, + "x": 1599719640000, + "y": 4, }, Object { - "x": 1593413159000, - "y": 0, + "x": 1599719670000, + "y": 2, }, Object { - "x": 1593413160000, + "x": 1599719700000, "y": 0, }, Object { - "x": 1593413161000, - "y": 0, + "x": 1599719730000, + "y": 2, }, Object { - "x": 1593413162000, - "y": 0, + "x": 1599719760000, + "y": 3, }, Object { - "x": 1593413163000, + "x": 1599719790000, "y": 0, }, Object { - "x": 1593413164000, - "y": 0, + "x": 1599719820000, + "y": 2, }, Object { - "x": 1593413165000, + "x": 1599719850000, "y": 0, }, Object { - "x": 1593413166000, - "y": 0, + "x": 1599719880000, + "y": 4, }, Object { - "x": 1593413167000, + "x": 1599719910000, "y": 0, }, Object { - "x": 1593413168000, + "x": 1599719940000, "y": 0, }, Object { - "x": 1593413169000, - "y": 0, + "x": 1599719970000, + "y": 1, }, Object { - "x": 1593413170000, - "y": 0, + "x": 1599720000000, + "y": 1, }, Object { - "x": 1593413171000, - "y": 0, + "x": 1599720030000, + "y": 1, }, Object { - "x": 1593413172000, - "y": 0, + "x": 1599720060000, + "y": 1, }, Object { - "x": 1593413173000, + "x": 1599720090000, "y": 0, }, Object { - "x": 1593413174000, + "x": 1599720120000, "y": 0, }, Object { - "x": 1593413175000, + "x": 1599720150000, "y": 0, }, Object { - "x": 1593413176000, - "y": 0, + "x": 1599720180000, + "y": 1, }, Object { - "x": 1593413177000, + "x": 1599720210000, "y": 0, }, Object { - "x": 1593413178000, - "y": 0, + "x": 1599720240000, + "y": 4, }, Object { - "x": 1593413179000, - "y": 0, + "x": 1599720270000, + "y": 1, }, Object { - "x": 1593413180000, - "y": 0, + "x": 1599720300000, + "y": 2, }, Object { - "x": 1593413181000, + "x": 1599720330000, "y": 0, }, Object { - "x": 1593413182000, - "y": 0, + "x": 1599720360000, + "y": 1, }, Object { - "x": 1593413183000, - "y": 0, + "x": 1599720390000, + "y": 5, }, Object { - "x": 1593413184000, - "y": 0, + "x": 1599720420000, + "y": 4, }, Object { - "x": 1593413185000, + "x": 1599720450000, "y": 0, }, Object { - "x": 1593413186000, + "x": 1599720480000, "y": 0, }, Object { - "x": 1593413187000, - "y": 0, + "x": 1599720510000, + "y": 3, }, Object { - "x": 1593413188000, + "x": 1599720540000, "y": 0, }, Object { - "x": 1593413189000, + "x": 1599720570000, "y": 0, }, Object { - "x": 1593413190000, - "y": 0, + "x": 1599720600000, + "y": 2, }, Object { - "x": 1593413191000, - "y": 0, + "x": 1599720630000, + "y": 3, }, Object { - "x": 1593413192000, - "y": 0, + "x": 1599720660000, + "y": 1, }, Object { - "x": 1593413193000, + "x": 1599720690000, "y": 0, }, Object { - "x": 1593413194000, - "y": 0, + "x": 1599720720000, + "y": 2, }, Object { - "x": 1593413195000, - "y": 0, + "x": 1599720750000, + "y": 4, }, Object { - "x": 1593413196000, - "y": 0, + "x": 1599720780000, + "y": 2, }, Object { - "x": 1593413197000, + "x": 1599720810000, "y": 0, }, Object { - "x": 1593413198000, - "y": 0, + "x": 1599720840000, + "y": 1, }, Object { - "x": 1593413199000, - "y": 0, + "x": 1599720870000, + "y": 3, }, Object { - "x": 1593413200000, - "y": 0, + "x": 1599720900000, + "y": 3, }, Object { - "x": 1593413201000, + "x": 1599720930000, "y": 0, }, Object { - "x": 1593413202000, - "y": 0, + "x": 1599720960000, + "y": 1, }, Object { - "x": 1593413203000, - "y": 0, + "x": 1599720990000, + "y": 1, }, Object { - "x": 1593413204000, - "y": 0, + "x": 1599721020000, + "y": 1, }, Object { - "x": 1593413205000, + "x": 1599721050000, "y": 0, }, Object { - "x": 1593413206000, - "y": 0, + "x": 1599721080000, + "y": 4, }, Object { - "x": 1593413207000, + "x": 1599721110000, "y": 0, }, Object { - "x": 1593413208000, - "y": 0, + "x": 1599721140000, + "y": 1, }, Object { - "x": 1593413209000, + "x": 1599721170000, "y": 0, }, Object { - "x": 1593413210000, + "x": 1599721200000, "y": 0, }, + ], + "key": "HTTP 2xx", + }, + Object { + "avg": 0.21666666666666667, + "dataPoints": Array [ Object { - "x": 1593413211000, + "x": 1599717600000, "y": 0, }, Object { - "x": 1593413212000, + "x": 1599717630000, "y": 0, }, Object { - "x": 1593413213000, + "x": 1599717660000, "y": 0, }, Object { - "x": 1593413214000, + "x": 1599717690000, "y": 0, }, Object { - "x": 1593413215000, - "y": 0, + "x": 1599717720000, + "y": 1, }, Object { - "x": 1593413216000, + "x": 1599717750000, "y": 0, }, Object { - "x": 1593413217000, + "x": 1599717780000, "y": 0, }, Object { - "x": 1593413218000, + "x": 1599717810000, "y": 0, }, Object { - "x": 1593413219000, + "x": 1599717840000, "y": 0, }, Object { - "x": 1593413220000, + "x": 1599717870000, "y": 0, }, Object { - "x": 1593413221000, + "x": 1599717900000, "y": 0, }, Object { - "x": 1593413222000, + "x": 1599717930000, "y": 0, }, Object { - "x": 1593413223000, + "x": 1599717960000, "y": 0, }, Object { - "x": 1593413224000, + "x": 1599717990000, "y": 0, }, Object { - "x": 1593413225000, + "x": 1599718020000, "y": 0, }, Object { - "x": 1593413226000, + "x": 1599718050000, "y": 0, }, Object { - "x": 1593413227000, + "x": 1599718080000, "y": 0, }, Object { - "x": 1593413228000, + "x": 1599718110000, "y": 0, }, Object { - "x": 1593413229000, + "x": 1599718140000, "y": 0, }, Object { - "x": 1593413230000, + "x": 1599718170000, "y": 0, }, Object { - "x": 1593413231000, - "y": 0, + "x": 1599718200000, + "y": 1, }, Object { - "x": 1593413232000, + "x": 1599718230000, "y": 0, }, Object { - "x": 1593413233000, + "x": 1599718260000, "y": 0, }, Object { - "x": 1593413234000, + "x": 1599718290000, "y": 0, }, Object { - "x": 1593413235000, + "x": 1599718320000, "y": 0, }, Object { - "x": 1593413236000, + "x": 1599718350000, "y": 0, }, Object { - "x": 1593413237000, + "x": 1599718380000, "y": 0, }, Object { - "x": 1593413238000, + "x": 1599718410000, "y": 0, }, Object { - "x": 1593413239000, + "x": 1599718440000, "y": 0, }, Object { - "x": 1593413240000, - "y": 0, + "x": 1599718470000, + "y": 1, }, Object { - "x": 1593413241000, + "x": 1599718500000, "y": 0, }, Object { - "x": 1593413242000, + "x": 1599718530000, "y": 0, }, Object { - "x": 1593413243000, - "y": 0, + "x": 1599718560000, + "y": 2, }, Object { - "x": 1593413244000, + "x": 1599718590000, "y": 0, }, Object { - "x": 1593413245000, + "x": 1599718620000, "y": 0, }, Object { - "x": 1593413246000, + "x": 1599718650000, "y": 0, }, Object { - "x": 1593413247000, - "y": 0, + "x": 1599718680000, + "y": 2, }, Object { - "x": 1593413248000, + "x": 1599718710000, "y": 0, }, Object { - "x": 1593413249000, + "x": 1599718740000, "y": 0, }, Object { - "x": 1593413250000, + "x": 1599718770000, "y": 0, }, Object { - "x": 1593413251000, + "x": 1599718800000, "y": 0, }, Object { - "x": 1593413252000, + "x": 1599718830000, "y": 0, }, Object { - "x": 1593413253000, + "x": 1599718860000, "y": 0, }, Object { - "x": 1593413254000, + "x": 1599718890000, "y": 0, }, Object { - "x": 1593413255000, + "x": 1599718920000, "y": 0, }, Object { - "x": 1593413256000, + "x": 1599718950000, "y": 0, }, Object { - "x": 1593413257000, + "x": 1599718980000, "y": 0, }, Object { - "x": 1593413258000, + "x": 1599719010000, "y": 0, }, Object { - "x": 1593413259000, - "y": 0, + "x": 1599719040000, + "y": 1, }, Object { - "x": 1593413260000, + "x": 1599719070000, "y": 0, }, Object { - "x": 1593413261000, + "x": 1599719100000, "y": 0, }, Object { - "x": 1593413262000, + "x": 1599719130000, "y": 0, }, Object { - "x": 1593413263000, + "x": 1599719160000, "y": 0, }, Object { - "x": 1593413264000, + "x": 1599719190000, "y": 0, }, Object { - "x": 1593413265000, + "x": 1599719220000, "y": 0, }, Object { - "x": 1593413266000, + "x": 1599719250000, "y": 0, }, Object { - "x": 1593413267000, + "x": 1599719280000, "y": 0, }, Object { - "x": 1593413268000, + "x": 1599719310000, "y": 0, }, Object { - "x": 1593413269000, + "x": 1599719340000, "y": 0, }, Object { - "x": 1593413270000, + "x": 1599719370000, "y": 0, }, Object { - "x": 1593413271000, - "y": 0, + "x": 1599719400000, + "y": 2, }, Object { - "x": 1593413272000, + "x": 1599719430000, "y": 0, }, Object { - "x": 1593413273000, + "x": 1599719460000, "y": 0, }, Object { - "x": 1593413274000, + "x": 1599719490000, "y": 0, }, Object { - "x": 1593413275000, + "x": 1599719520000, "y": 0, }, Object { - "x": 1593413276000, + "x": 1599719550000, "y": 0, }, Object { - "x": 1593413277000, + "x": 1599719580000, "y": 0, }, Object { - "x": 1593413278000, + "x": 1599719610000, "y": 0, }, Object { - "x": 1593413279000, - "y": 0, + "x": 1599719640000, + "y": 1, }, Object { - "x": 1593413280000, - "y": 0, + "x": 1599719670000, + "y": 1, }, Object { - "x": 1593413281000, + "x": 1599719700000, "y": 0, }, Object { - "x": 1593413282000, + "x": 1599719730000, "y": 0, }, Object { - "x": 1593413283000, + "x": 1599719760000, "y": 0, }, Object { - "x": 1593413284000, + "x": 1599719790000, "y": 0, }, Object { - "x": 1593413285000, + "x": 1599719820000, "y": 0, }, Object { - "x": 1593413286000, - "y": 1, - }, - Object { - "x": 1593413287000, - "y": 1, - }, - Object { - "x": 1593413288000, + "x": 1599719850000, "y": 0, }, Object { - "x": 1593413289000, + "x": 1599719880000, "y": 0, }, Object { - "x": 1593413290000, + "x": 1599719910000, "y": 0, }, Object { - "x": 1593413291000, + "x": 1599719940000, "y": 0, }, Object { - "x": 1593413292000, + "x": 1599719970000, "y": 0, }, Object { - "x": 1593413293000, + "x": 1599720000000, "y": 0, }, Object { - "x": 1593413294000, + "x": 1599720030000, "y": 0, }, Object { - "x": 1593413295000, + "x": 1599720060000, "y": 0, }, Object { - "x": 1593413296000, + "x": 1599720090000, "y": 0, }, Object { - "x": 1593413297000, + "x": 1599720120000, "y": 0, }, Object { - "x": 1593413298000, + "x": 1599720150000, "y": 0, }, Object { - "x": 1593413299000, - "y": 1, - }, - Object { - "x": 1593413300000, + "x": 1599720180000, "y": 0, }, Object { - "x": 1593413301000, - "y": 1, - }, - Object { - "x": 1593413302000, + "x": 1599720210000, "y": 0, }, Object { - "x": 1593413303000, + "x": 1599720240000, "y": 0, }, Object { - "x": 1593413304000, + "x": 1599720270000, "y": 0, }, Object { - "x": 1593413305000, - "y": 1, - }, - Object { - "x": 1593413306000, + "x": 1599720300000, "y": 0, }, Object { - "x": 1593413307000, + "x": 1599720330000, "y": 0, }, Object { - "x": 1593413308000, - "y": 1, - }, - Object { - "x": 1593413309000, + "x": 1599720360000, "y": 0, }, Object { - "x": 1593413310000, + "x": 1599720390000, "y": 0, }, Object { - "x": 1593413311000, - "y": 1, - }, - Object { - "x": 1593413312000, + "x": 1599720420000, "y": 0, }, Object { - "x": 1593413313000, + "x": 1599720450000, "y": 0, }, Object { - "x": 1593413314000, + "x": 1599720480000, "y": 0, }, Object { - "x": 1593413315000, - "y": 1, - }, - Object { - "x": 1593413316000, + "x": 1599720510000, "y": 0, }, Object { - "x": 1593413317000, + "x": 1599720540000, "y": 0, }, Object { - "x": 1593413318000, + "x": 1599720570000, "y": 0, }, Object { - "x": 1593413319000, + "x": 1599720600000, "y": 0, }, Object { - "x": 1593413320000, + "x": 1599720630000, "y": 0, }, Object { - "x": 1593413321000, + "x": 1599720660000, "y": 0, }, Object { - "x": 1593413322000, - "y": 1, - }, - Object { - "x": 1593413323000, + "x": 1599720690000, "y": 0, }, Object { - "x": 1593413324000, + "x": 1599720720000, "y": 0, }, Object { - "x": 1593413325000, + "x": 1599720750000, "y": 0, }, Object { - "x": 1593413326000, + "x": 1599720780000, "y": 0, }, Object { - "x": 1593413327000, + "x": 1599720810000, "y": 0, }, Object { - "x": 1593413328000, + "x": 1599720840000, "y": 0, }, Object { - "x": 1593413329000, + "x": 1599720870000, "y": 0, }, Object { - "x": 1593413330000, + "x": 1599720900000, "y": 0, }, Object { - "x": 1593413331000, + "x": 1599720930000, "y": 0, }, Object { - "x": 1593413332000, - "y": 0, + "x": 1599720960000, + "y": 1, }, Object { - "x": 1593413333000, + "x": 1599720990000, "y": 0, }, Object { - "x": 1593413334000, + "x": 1599721020000, "y": 0, }, Object { - "x": 1593413335000, + "x": 1599721050000, "y": 0, }, Object { - "x": 1593413336000, + "x": 1599721080000, "y": 0, }, Object { - "x": 1593413337000, + "x": 1599721110000, "y": 0, }, Object { - "x": 1593413338000, + "x": 1599721140000, "y": 0, }, Object { - "x": 1593413339000, + "x": 1599721170000, "y": 0, }, Object { - "x": 1593413340000, + "x": 1599721200000, "y": 0, }, ], - "key": "HTTP 5xx", + "key": "HTTP 4xx", }, Object { - "avg": 0.25, + "avg": 0.11666666666666667, "dataPoints": Array [ Object { - "x": 1593413100000, - "y": 0, + "x": 1599717600000, + "y": 1, }, Object { - "x": 1593413101000, + "x": 1599717630000, "y": 0, }, Object { - "x": 1593413102000, + "x": 1599717660000, "y": 0, }, Object { - "x": 1593413103000, + "x": 1599717690000, "y": 0, }, Object { - "x": 1593413104000, + "x": 1599717720000, "y": 0, }, Object { - "x": 1593413105000, + "x": 1599717750000, "y": 0, }, Object { - "x": 1593413106000, + "x": 1599717780000, "y": 0, }, Object { - "x": 1593413107000, + "x": 1599717810000, "y": 0, }, Object { - "x": 1593413108000, + "x": 1599717840000, "y": 0, }, Object { - "x": 1593413109000, + "x": 1599717870000, "y": 0, }, Object { - "x": 1593413110000, + "x": 1599717900000, "y": 0, }, Object { - "x": 1593413111000, + "x": 1599717930000, "y": 0, }, Object { - "x": 1593413112000, + "x": 1599717960000, "y": 0, }, Object { - "x": 1593413113000, + "x": 1599717990000, "y": 0, }, Object { - "x": 1593413114000, + "x": 1599718020000, "y": 0, }, Object { - "x": 1593413115000, + "x": 1599718050000, "y": 0, }, Object { - "x": 1593413116000, + "x": 1599718080000, "y": 0, }, Object { - "x": 1593413117000, + "x": 1599718110000, "y": 0, }, Object { - "x": 1593413118000, + "x": 1599718140000, "y": 0, }, Object { - "x": 1593413119000, + "x": 1599718170000, "y": 0, }, Object { - "x": 1593413120000, + "x": 1599718200000, "y": 0, }, Object { - "x": 1593413121000, - "y": 0, + "x": 1599718230000, + "y": 1, }, Object { - "x": 1593413122000, + "x": 1599718260000, "y": 0, }, Object { - "x": 1593413123000, + "x": 1599718290000, "y": 0, }, Object { - "x": 1593413124000, + "x": 1599718320000, "y": 0, }, Object { - "x": 1593413125000, + "x": 1599718350000, "y": 0, }, Object { - "x": 1593413126000, + "x": 1599718380000, "y": 0, }, Object { - "x": 1593413127000, + "x": 1599718410000, "y": 0, }, Object { - "x": 1593413128000, + "x": 1599718440000, "y": 0, }, Object { - "x": 1593413129000, + "x": 1599718470000, "y": 0, }, Object { - "x": 1593413130000, + "x": 1599718500000, "y": 0, }, Object { - "x": 1593413131000, + "x": 1599718530000, "y": 0, }, Object { - "x": 1593413132000, + "x": 1599718560000, "y": 0, }, Object { - "x": 1593413133000, + "x": 1599718590000, "y": 0, }, Object { - "x": 1593413134000, + "x": 1599718620000, "y": 0, }, Object { - "x": 1593413135000, + "x": 1599718650000, "y": 0, }, Object { - "x": 1593413136000, + "x": 1599718680000, "y": 0, }, Object { - "x": 1593413137000, - "y": 0, + "x": 1599718710000, + "y": 1, }, Object { - "x": 1593413138000, + "x": 1599718740000, "y": 0, }, Object { - "x": 1593413139000, + "x": 1599718770000, "y": 0, }, Object { - "x": 1593413140000, + "x": 1599718800000, "y": 0, }, Object { - "x": 1593413141000, + "x": 1599718830000, "y": 0, }, Object { - "x": 1593413142000, - "y": 0, + "x": 1599718860000, + "y": 2, }, Object { - "x": 1593413143000, + "x": 1599718890000, "y": 0, }, Object { - "x": 1593413144000, + "x": 1599718920000, "y": 0, }, Object { - "x": 1593413145000, + "x": 1599718950000, "y": 0, }, Object { - "x": 1593413146000, + "x": 1599718980000, "y": 0, }, Object { - "x": 1593413147000, + "x": 1599719010000, "y": 0, }, Object { - "x": 1593413148000, + "x": 1599719040000, "y": 0, }, Object { - "x": 1593413149000, + "x": 1599719070000, "y": 0, }, Object { - "x": 1593413150000, + "x": 1599719100000, "y": 0, }, Object { - "x": 1593413151000, + "x": 1599719130000, "y": 0, }, Object { - "x": 1593413152000, + "x": 1599719160000, "y": 0, }, Object { - "x": 1593413153000, + "x": 1599719190000, "y": 0, }, Object { - "x": 1593413154000, + "x": 1599719220000, "y": 0, }, Object { - "x": 1593413155000, + "x": 1599719250000, "y": 0, }, Object { - "x": 1593413156000, + "x": 1599719280000, "y": 0, }, Object { - "x": 1593413157000, + "x": 1599719310000, "y": 0, }, Object { - "x": 1593413158000, + "x": 1599719340000, "y": 0, }, Object { - "x": 1593413159000, + "x": 1599719370000, "y": 0, }, Object { - "x": 1593413160000, + "x": 1599719400000, "y": 0, }, Object { - "x": 1593413161000, + "x": 1599719430000, "y": 0, }, Object { - "x": 1593413162000, + "x": 1599719460000, "y": 0, }, Object { - "x": 1593413163000, + "x": 1599719490000, "y": 0, }, Object { - "x": 1593413164000, + "x": 1599719520000, "y": 0, }, Object { - "x": 1593413165000, + "x": 1599719550000, "y": 0, }, Object { - "x": 1593413166000, + "x": 1599719580000, "y": 0, }, Object { - "x": 1593413167000, + "x": 1599719610000, "y": 0, }, Object { - "x": 1593413168000, + "x": 1599719640000, "y": 0, }, Object { - "x": 1593413169000, + "x": 1599719670000, "y": 0, }, Object { - "x": 1593413170000, + "x": 1599719700000, "y": 0, }, Object { - "x": 1593413171000, + "x": 1599719730000, "y": 0, }, Object { - "x": 1593413172000, + "x": 1599719760000, "y": 0, }, Object { - "x": 1593413173000, + "x": 1599719790000, "y": 0, }, Object { - "x": 1593413174000, + "x": 1599719820000, "y": 0, }, Object { - "x": 1593413175000, + "x": 1599719850000, "y": 0, }, Object { - "x": 1593413176000, + "x": 1599719880000, "y": 0, }, Object { - "x": 1593413177000, + "x": 1599719910000, "y": 0, }, Object { - "x": 1593413178000, + "x": 1599719940000, "y": 0, }, Object { - "x": 1593413179000, - "y": 0, + "x": 1599719970000, + "y": 1, }, Object { - "x": 1593413180000, + "x": 1599720000000, "y": 0, }, Object { - "x": 1593413181000, + "x": 1599720030000, "y": 0, }, Object { - "x": 1593413182000, + "x": 1599720060000, "y": 0, }, Object { - "x": 1593413183000, + "x": 1599720090000, "y": 0, }, Object { - "x": 1593413184000, + "x": 1599720120000, "y": 0, }, Object { - "x": 1593413185000, + "x": 1599720150000, "y": 0, }, Object { - "x": 1593413186000, + "x": 1599720180000, "y": 0, }, Object { - "x": 1593413187000, + "x": 1599720210000, "y": 0, }, Object { - "x": 1593413188000, + "x": 1599720240000, "y": 0, }, Object { - "x": 1593413189000, + "x": 1599720270000, "y": 0, }, Object { - "x": 1593413190000, + "x": 1599720300000, "y": 0, }, Object { - "x": 1593413191000, + "x": 1599720330000, "y": 0, }, Object { - "x": 1593413192000, + "x": 1599720360000, "y": 0, }, Object { - "x": 1593413193000, + "x": 1599720390000, "y": 0, }, Object { - "x": 1593413194000, + "x": 1599720420000, "y": 0, }, Object { - "x": 1593413195000, + "x": 1599720450000, "y": 0, }, Object { - "x": 1593413196000, + "x": 1599720480000, "y": 0, }, Object { - "x": 1593413197000, + "x": 1599720510000, "y": 0, }, Object { - "x": 1593413198000, + "x": 1599720540000, "y": 0, }, Object { - "x": 1593413199000, + "x": 1599720570000, "y": 0, }, Object { - "x": 1593413200000, + "x": 1599720600000, "y": 0, }, Object { - "x": 1593413201000, + "x": 1599720630000, "y": 0, }, Object { - "x": 1593413202000, + "x": 1599720660000, "y": 0, }, Object { - "x": 1593413203000, + "x": 1599720690000, "y": 0, }, Object { - "x": 1593413204000, + "x": 1599720720000, "y": 0, }, Object { - "x": 1593413205000, + "x": 1599720750000, "y": 0, }, Object { - "x": 1593413206000, + "x": 1599720780000, "y": 0, }, Object { - "x": 1593413207000, + "x": 1599720810000, "y": 0, }, Object { - "x": 1593413208000, + "x": 1599720840000, "y": 0, }, Object { - "x": 1593413209000, + "x": 1599720870000, "y": 0, }, Object { - "x": 1593413210000, + "x": 1599720900000, "y": 0, }, Object { - "x": 1593413211000, + "x": 1599720930000, "y": 0, }, Object { - "x": 1593413212000, + "x": 1599720960000, "y": 0, }, Object { - "x": 1593413213000, + "x": 1599720990000, "y": 0, }, Object { - "x": 1593413214000, + "x": 1599721020000, "y": 0, }, Object { - "x": 1593413215000, + "x": 1599721050000, "y": 0, }, Object { - "x": 1593413216000, - "y": 0, + "x": 1599721080000, + "y": 1, }, Object { - "x": 1593413217000, + "x": 1599721110000, "y": 0, }, Object { - "x": 1593413218000, + "x": 1599721140000, "y": 0, }, Object { - "x": 1593413219000, + "x": 1599721170000, "y": 0, }, Object { - "x": 1593413220000, + "x": 1599721200000, "y": 0, }, + ], + "key": "HTTP 5xx", + }, + Object { + "avg": 4.283333333333333, + "dataPoints": Array [ Object { - "x": 1593413221000, - "y": 0, + "x": 1599717600000, + "y": 2, }, Object { - "x": 1593413222000, - "y": 0, + "x": 1599717630000, + "y": 3, }, Object { - "x": 1593413223000, - "y": 0, + "x": 1599717660000, + "y": 1, }, Object { - "x": 1593413224000, - "y": 0, + "x": 1599717690000, + "y": 4, }, Object { - "x": 1593413225000, - "y": 0, + "x": 1599717720000, + "y": 3, }, Object { - "x": 1593413226000, - "y": 0, + "x": 1599717750000, + "y": 4, }, Object { - "x": 1593413227000, - "y": 0, + "x": 1599717780000, + "y": 2, }, Object { - "x": 1593413228000, - "y": 0, + "x": 1599717810000, + "y": 3, }, Object { - "x": 1593413229000, - "y": 0, + "x": 1599717840000, + "y": 2, }, Object { - "x": 1593413230000, - "y": 0, + "x": 1599717870000, + "y": 2, }, Object { - "x": 1593413231000, - "y": 0, + "x": 1599717900000, + "y": 1, }, Object { - "x": 1593413232000, - "y": 0, + "x": 1599717930000, + "y": 3, }, Object { - "x": 1593413233000, - "y": 0, + "x": 1599717960000, + "y": 1, }, Object { - "x": 1593413234000, - "y": 0, + "x": 1599717990000, + "y": 2, }, Object { - "x": 1593413235000, - "y": 0, + "x": 1599718020000, + "y": 3, }, Object { - "x": 1593413236000, - "y": 0, + "x": 1599718050000, + "y": 1, }, Object { - "x": 1593413237000, - "y": 0, + "x": 1599718080000, + "y": 2, }, Object { - "x": 1593413238000, - "y": 0, + "x": 1599718110000, + "y": 1, }, Object { - "x": 1593413239000, - "y": 0, + "x": 1599718140000, + "y": 3, }, Object { - "x": 1593413240000, - "y": 0, + "x": 1599718170000, + "y": 3, }, Object { - "x": 1593413241000, - "y": 0, + "x": 1599718200000, + "y": 2, }, Object { - "x": 1593413242000, - "y": 0, + "x": 1599718230000, + "y": 2, }, Object { - "x": 1593413243000, - "y": 0, + "x": 1599718260000, + "y": 2, }, Object { - "x": 1593413244000, - "y": 0, + "x": 1599718290000, + "y": 2, }, Object { - "x": 1593413245000, - "y": 0, + "x": 1599718320000, + "y": 2, }, Object { - "x": 1593413246000, - "y": 0, + "x": 1599718350000, + "y": 3, }, Object { - "x": 1593413247000, - "y": 0, + "x": 1599718380000, + "y": 3, }, Object { - "x": 1593413248000, - "y": 0, + "x": 1599718410000, + "y": 2, }, Object { - "x": 1593413249000, - "y": 0, + "x": 1599718440000, + "y": 2, }, Object { - "x": 1593413250000, - "y": 0, + "x": 1599718470000, + "y": 2, }, Object { - "x": 1593413251000, - "y": 0, + "x": 1599718500000, + "y": 2, }, Object { - "x": 1593413252000, - "y": 0, + "x": 1599718530000, + "y": 3, }, Object { - "x": 1593413253000, - "y": 0, + "x": 1599718560000, + "y": 1, }, Object { - "x": 1593413254000, - "y": 0, + "x": 1599718590000, + "y": 3, }, Object { - "x": 1593413255000, - "y": 0, + "x": 1599718620000, + "y": 3, }, Object { - "x": 1593413256000, - "y": 0, + "x": 1599718650000, + "y": 1, }, Object { - "x": 1593413257000, - "y": 0, + "x": 1599718680000, + "y": 3, }, Object { - "x": 1593413258000, - "y": 0, + "x": 1599718710000, + "y": 2, }, Object { - "x": 1593413259000, - "y": 0, + "x": 1599718740000, + "y": 1, }, Object { - "x": 1593413260000, - "y": 0, + "x": 1599718770000, + "y": 2, }, Object { - "x": 1593413261000, - "y": 0, + "x": 1599718800000, + "y": 2, }, Object { - "x": 1593413262000, - "y": 0, + "x": 1599718830000, + "y": 4, }, Object { - "x": 1593413263000, - "y": 0, + "x": 1599718860000, + "y": 2, }, Object { - "x": 1593413264000, - "y": 0, + "x": 1599718890000, + "y": 2, }, Object { - "x": 1593413265000, - "y": 0, + "x": 1599718920000, + "y": 1, }, Object { - "x": 1593413266000, - "y": 0, + "x": 1599718950000, + "y": 2, }, Object { - "x": 1593413267000, - "y": 0, + "x": 1599718980000, + "y": 3, }, Object { - "x": 1593413268000, - "y": 0, + "x": 1599719010000, + "y": 3, }, Object { - "x": 1593413269000, - "y": 0, + "x": 1599719040000, + "y": 1, }, Object { - "x": 1593413270000, - "y": 0, + "x": 1599719070000, + "y": 3, }, Object { - "x": 1593413271000, - "y": 0, + "x": 1599719100000, + "y": 2, }, Object { - "x": 1593413272000, - "y": 0, + "x": 1599719130000, + "y": 3, }, Object { - "x": 1593413273000, - "y": 0, + "x": 1599719160000, + "y": 1, }, Object { - "x": 1593413274000, - "y": 0, + "x": 1599719190000, + "y": 1, }, Object { - "x": 1593413275000, - "y": 0, + "x": 1599719220000, + "y": 4, }, Object { - "x": 1593413276000, + "x": 1599719250000, "y": 0, }, Object { - "x": 1593413277000, - "y": 0, + "x": 1599719280000, + "y": 4, }, Object { - "x": 1593413278000, + "x": 1599719310000, "y": 0, }, Object { - "x": 1593413279000, - "y": 0, + "x": 1599719340000, + "y": 2, }, Object { - "x": 1593413280000, - "y": 0, + "x": 1599719370000, + "y": 1, }, Object { - "x": 1593413281000, - "y": 0, + "x": 1599719400000, + "y": 4, }, Object { - "x": 1593413282000, - "y": 0, + "x": 1599719430000, + "y": 1, }, Object { - "x": 1593413283000, - "y": 0, + "x": 1599719460000, + "y": 3, }, Object { - "x": 1593413284000, - "y": 0, + "x": 1599719490000, + "y": 3, }, Object { - "x": 1593413285000, - "y": 0, + "x": 1599719520000, + "y": 2, }, Object { - "x": 1593413286000, - "y": 0, + "x": 1599719550000, + "y": 1, }, Object { - "x": 1593413287000, - "y": 0, + "x": 1599719580000, + "y": 4, }, Object { - "x": 1593413288000, - "y": 0, + "x": 1599719610000, + "y": 1, }, Object { - "x": 1593413289000, - "y": 0, + "x": 1599719640000, + "y": 2, }, Object { - "x": 1593413290000, - "y": 0, + "x": 1599719670000, + "y": 3, }, Object { - "x": 1593413291000, + "x": 1599719700000, "y": 0, }, Object { - "x": 1593413292000, - "y": 0, + "x": 1599719730000, + "y": 2, }, Object { - "x": 1593413293000, - "y": 0, + "x": 1599719760000, + "y": 4, }, Object { - "x": 1593413294000, - "y": 0, + "x": 1599719790000, + "y": 1, }, Object { - "x": 1593413295000, - "y": 0, + "x": 1599719820000, + "y": 2, }, Object { - "x": 1593413296000, - "y": 0, + "x": 1599719850000, + "y": 2, }, Object { - "x": 1593413297000, - "y": 0, + "x": 1599719880000, + "y": 2, }, Object { - "x": 1593413298000, - "y": 0, + "x": 1599719910000, + "y": 3, }, Object { - "x": 1593413299000, - "y": 0, + "x": 1599719940000, + "y": 3, }, Object { - "x": 1593413300000, - "y": 0, + "x": 1599719970000, + "y": 2, }, Object { - "x": 1593413301000, - "y": 0, + "x": 1599720000000, + "y": 2, }, Object { - "x": 1593413302000, - "y": 0, + "x": 1599720030000, + "y": 2, }, Object { - "x": 1593413303000, - "y": 0, + "x": 1599720060000, + "y": 1, }, Object { - "x": 1593413304000, - "y": 0, + "x": 1599720090000, + "y": 2, }, Object { - "x": 1593413305000, - "y": 0, + "x": 1599720120000, + "y": 1, }, Object { - "x": 1593413306000, - "y": 0, + "x": 1599720150000, + "y": 3, }, Object { - "x": 1593413307000, - "y": 0, + "x": 1599720180000, + "y": 2, }, Object { - "x": 1593413308000, - "y": 0, + "x": 1599720210000, + "y": 1, }, Object { - "x": 1593413309000, - "y": 1, + "x": 1599720240000, + "y": 3, }, Object { - "x": 1593413310000, - "y": 0, + "x": 1599720270000, + "y": 3, }, Object { - "x": 1593413311000, - "y": 0, + "x": 1599720300000, + "y": 2, }, Object { - "x": 1593413312000, - "y": 0, + "x": 1599720330000, + "y": 1, }, Object { - "x": 1593413313000, - "y": 0, + "x": 1599720360000, + "y": 2, }, Object { - "x": 1593413314000, - "y": 0, + "x": 1599720390000, + "y": 5, }, Object { - "x": 1593413315000, - "y": 0, + "x": 1599720420000, + "y": 2, }, Object { - "x": 1593413316000, - "y": 0, + "x": 1599720450000, + "y": 1, }, Object { - "x": 1593413317000, - "y": 0, + "x": 1599720480000, + "y": 3, }, Object { - "x": 1593413318000, - "y": 0, + "x": 1599720510000, + "y": 2, }, Object { - "x": 1593413319000, - "y": 0, + "x": 1599720540000, + "y": 2, }, Object { - "x": 1593413320000, - "y": 0, + "x": 1599720570000, + "y": 2, }, Object { - "x": 1593413321000, - "y": 0, + "x": 1599720600000, + "y": 1, }, Object { - "x": 1593413322000, - "y": 0, + "x": 1599720630000, + "y": 3, }, Object { - "x": 1593413323000, - "y": 0, + "x": 1599720660000, + "y": 2, }, Object { - "x": 1593413324000, - "y": 0, + "x": 1599720690000, + "y": 1, }, Object { - "x": 1593413325000, - "y": 0, + "x": 1599720720000, + "y": 2, }, Object { - "x": 1593413326000, - "y": 0, + "x": 1599720750000, + "y": 2, }, Object { - "x": 1593413327000, - "y": 0, + "x": 1599720780000, + "y": 2, }, Object { - "x": 1593413328000, - "y": 0, + "x": 1599720810000, + "y": 2, }, Object { - "x": 1593413329000, - "y": 0, + "x": 1599720840000, + "y": 2, }, Object { - "x": 1593413330000, - "y": 0, + "x": 1599720870000, + "y": 3, }, Object { - "x": 1593413331000, - "y": 0, + "x": 1599720900000, + "y": 1, }, Object { - "x": 1593413332000, - "y": 0, + "x": 1599720930000, + "y": 1, }, Object { - "x": 1593413333000, - "y": 0, + "x": 1599720960000, + "y": 3, }, Object { - "x": 1593413334000, - "y": 0, + "x": 1599720990000, + "y": 3, }, Object { - "x": 1593413335000, - "y": 0, + "x": 1599721020000, + "y": 1, }, Object { - "x": 1593413336000, - "y": 0, + "x": 1599721050000, + "y": 2, }, Object { - "x": 1593413337000, - "y": 0, + "x": 1599721080000, + "y": 2, }, Object { - "x": 1593413338000, - "y": 0, + "x": 1599721110000, + "y": 3, }, Object { - "x": 1593413339000, - "y": 0, + "x": 1599721140000, + "y": 2, + }, + Object { + "x": 1599721170000, + "y": 2, }, Object { - "x": 1593413340000, + "x": 1599721200000, "y": 0, }, ], diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/avg_duration_by_browser.ts b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/avg_duration_by_browser.ts index 21f3aaa04a7b3..087bf1f0655e6 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/avg_duration_by_browser.ts +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/avg_duration_by_browser.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import expect from '@kbn/expect'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -11,8 +12,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const transactionName = '/products'; const uiFilters = encodeURIComponent(JSON.stringify({})); @@ -28,23 +32,34 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('returns the average duration by browser', async () => { const response = await supertest.get( - `/api/apm/services/client/transaction_groups/avg_duration_by_browser?start=${start}&end=${end}&uiFilters=${uiFilters}` + `/api/apm/services/opbeans-rum/transaction_groups/avg_duration_by_browser?start=${start}&end=${end}&uiFilters=${uiFilters}` ); expect(response.status).to.be(200); + + expect(response.body.length).to.be.greaterThan(0); + expectSnapshot(response.body).toMatch(); + + expectSnapshot(response.body.length).toMatchInline(`1`); }); + it('returns the average duration by browser filtering by transaction name', async () => { const response = await supertest.get( - `/api/apm/services/client/transaction_groups/avg_duration_by_browser?start=${start}&end=${end}&uiFilters=${uiFilters}&transactionName=${transactionName}` + `/api/apm/services/opbeans-rum/transaction_groups/avg_duration_by_browser?start=${start}&end=${end}&uiFilters=${uiFilters}&transactionName=${transactionName}` ); expect(response.status).to.be(200); + + expect(response.body.length).to.be.greaterThan(0); + + expectSnapshot(response.body.length).toMatchInline(`1`); + expectSnapshot(response.body).toMatch(); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/breakdown.ts b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/breakdown.ts index 4e1b1e57fba0f..27e26bebd825b 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/breakdown.ts +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/breakdown.ts @@ -4,6 +4,7 @@ * you may not use this file except in compliance with the Elastic License. */ import expect from '@kbn/expect'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -11,8 +12,11 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const transactionType = 'request'; const transactionName = 'GET /api'; const uiFilters = encodeURIComponent(JSON.stringify({})); @@ -29,8 +33,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); it('returns the transaction breakdown for a service', async () => { const response = await supertest.get( @@ -46,45 +50,46 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); + const { timeseries } = response.body; + + const numberOfSeries = timeseries.length; + + expectSnapshot(numberOfSeries).toMatchInline(`1`); + const { title, color, type, data, hideLegend, legendValue } = timeseries[0]; - expectSnapshot(data).toMatchInline(` + const nonNullDataPoints = data.filter((y: number | null) => y !== null); + + expectSnapshot(nonNullDataPoints.length).toMatchInline(`121`); + + expectSnapshot( + data.slice(0, 5).map(({ x, y }: { x: number; y: number | null }) => { + return { + x: new Date(x ?? NaN).toISOString(), + y, + }; + }) + ).toMatchInline(` Array [ Object { - "x": 1593413100000, - "y": null, - }, - Object { - "x": 1593413130000, - "y": null, - }, - Object { - "x": 1593413160000, - "y": null, - }, - Object { - "x": 1593413190000, - "y": null, - }, - Object { - "x": 1593413220000, - "y": null, + "x": "2020-09-10T06:00:00.000Z", + "y": 1, }, Object { - "x": 1593413250000, - "y": null, + "x": "2020-09-10T06:00:30.000Z", + "y": 1, }, Object { - "x": 1593413280000, + "x": "2020-09-10T06:01:00.000Z", "y": null, }, Object { - "x": 1593413310000, + "x": "2020-09-10T06:01:30.000Z", "y": 1, }, Object { - "x": 1593413340000, + "x": "2020-09-10T06:02:00.000Z", "y": null, }, ] @@ -95,6 +100,8 @@ export default function ApiTest({ getService }: FtrProviderContext) { expectSnapshot(type).toMatchInline(`"areaStacked"`); expectSnapshot(hideLegend).toMatchInline(`false`); expectSnapshot(legendValue).toMatchInline(`"100%"`); + + expectSnapshot(data).toMatch(); }); it('returns the transaction breakdown sorted by name', async () => { const response = await supertest.get( @@ -108,7 +115,6 @@ export default function ApiTest({ getService }: FtrProviderContext) { "app", "http", "postgresql", - "redis", ] `); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/error_rate.ts b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/error_rate.ts index cf23883612b7c..c7e84bd5270ee 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/error_rate.ts +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/error_rate.ts @@ -5,6 +5,7 @@ */ import expect from '@kbn/expect'; import { first, last } from 'lodash'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -12,9 +13,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-08-26T11:00:00.000Z'); - const end = encodeURIComponent('2020-08-26T11:30:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const uiFilters = encodeURIComponent(JSON.stringify({})); describe('Error rate', () => { @@ -24,16 +28,16 @@ export default function ApiTest({ getService }: FtrProviderContext) { `/api/apm/services/opbeans-java/transaction_groups/error_rate?start=${start}&end=${end}&uiFilters=${uiFilters}` ); expect(response.status).to.be(200); - expect(response.body).to.eql({ - noHits: true, - erroneousTransactionsRate: [], - average: null, - }); + + expect(response.body.noHits).to.be(true); + + expect(response.body.erroneousTransactionsRate.length).to.be(0); + expect(response.body.average).to.be(null); }); }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); describe('returns the transaction error rate', () => { let errorRateResponse: { @@ -50,26 +54,26 @@ export default function ApiTest({ getService }: FtrProviderContext) { it('has the correct start date', () => { expectSnapshot( new Date(first(errorRateResponse.erroneousTransactionsRate)?.x ?? NaN).toISOString() - ).toMatchInline(`"2020-08-26T11:00:00.000Z"`); + ).toMatchInline(`"2020-09-10T06:00:00.000Z"`); }); it('has the correct end date', () => { expectSnapshot( new Date(last(errorRateResponse.erroneousTransactionsRate)?.x ?? NaN).toISOString() - ).toMatchInline(`"2020-08-26T11:30:00.000Z"`); + ).toMatchInline(`"2020-09-10T07:00:00.000Z"`); }); it('has the correct number of buckets', () => { - expectSnapshot(errorRateResponse.erroneousTransactionsRate.length).toMatchInline(`61`); + expectSnapshot(errorRateResponse.erroneousTransactionsRate.length).toMatchInline(`121`); }); it('has the correct calculation for average', () => { - expectSnapshot(errorRateResponse.average).toMatchInline(`0.18894993894993897`); + expectSnapshot(errorRateResponse.average).toMatchInline(`0.16097046413502106`); }); it('has the correct error rate', () => { expectSnapshot(first(errorRateResponse.erroneousTransactionsRate)?.y).toMatchInline( - `0.5` + `0.6666666666666666` ); }); }); diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/top_transaction_groups.ts b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/top_transaction_groups.ts index cebf27ecdff2b..e944235ac41a8 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/top_transaction_groups.ts +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/top_transaction_groups.ts @@ -5,6 +5,7 @@ */ import expect from '@kbn/expect'; import { sortBy } from 'lodash'; +import archives_metadata from '../../../common/archives_metadata'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -20,9 +21,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const uiFilters = encodeURIComponent(JSON.stringify({})); const transactionType = 'request'; @@ -34,39 +38,37 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expectSnapshot(response.body).toMatchInline(` - Object { - "bucketSize": 1000, - "isAggregationAccurate": true, - "items": Array [], - } - `); + + expect(response.body.isAggregationAccurate).to.be(true); + expect(response.body.items.length).to.be(0); }); }); describe('when data is loaded', () => { let response: any; before(async () => { - await esArchiver.load('8.0.0'); + await esArchiver.load(archiveName); response = await supertest.get( `/api/apm/services/opbeans-node/transaction_groups?start=${start}&end=${end}&uiFilters=${uiFilters}&transactionType=${transactionType}` ); }); - after(() => esArchiver.unload('8.0.0')); + after(() => esArchiver.unload(archiveName)); - it('returns the correct status code', async () => { + it('returns the correct metadata', () => { expect(response.status).to.be(200); + expect(response.body.isAggregationAccurate).to.be(true); + expect(response.body.items.length).to.be.greaterThan(0); }); - it('returns the correct number of buckets', async () => { - expectSnapshot(response.body.items.length).toMatchInline(`18`); + it('returns the correct number of buckets', () => { + expectSnapshot(response.body.items.length).toMatchInline(`13`); }); - it('returns the correct buckets (when ignoring samples)', async () => { + it('returns the correct buckets (when ignoring samples)', () => { expectSnapshot(omitSampleFromTransactionGroups(response.body.items)).toMatch(); }); - it('returns the correct buckets and samples', async () => { + it('returns the correct buckets and samples', () => { // sample should provide enough information to deeplink to a transaction detail page response.body.items.forEach((item: any) => { expect(item.sample.trace.id).to.be.an('string'); diff --git a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/transaction_charts.ts b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/transaction_charts.ts index a8418fe2860a3..43504a4ec401e 100644 --- a/x-pack/test/apm_api_integration/basic/tests/transaction_groups/transaction_charts.ts +++ b/x-pack/test/apm_api_integration/basic/tests/transaction_groups/transaction_charts.ts @@ -4,6 +4,8 @@ * you may not use this file except in compliance with the Elastic License. */ import expect from '@kbn/expect'; +import archives_metadata from '../../../common/archives_metadata'; +import { PromiseReturnType } from '../../../../../plugins/apm/typings/common'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../../common/ftr_provider_context'; @@ -11,9 +13,12 @@ export default function ApiTest({ getService }: FtrProviderContext) { const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + // url parameters - const start = encodeURIComponent('2020-06-29T06:45:00.000Z'); - const end = encodeURIComponent('2020-06-29T06:49:00.000Z'); + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); const uiFilters = encodeURIComponent(JSON.stringify({})); describe('Transaction charts', () => { @@ -24,32 +29,44 @@ export default function ApiTest({ getService }: FtrProviderContext) { ); expect(response.status).to.be(200); - expectSnapshot(response.body).toMatchInline(` - Object { - "apmTimeseries": Object { - "overallAvgDuration": null, - "responseTimes": Object { - "avg": Array [], - "p95": Array [], - "p99": Array [], - }, - "tpmBuckets": Array [], - }, - } - `); + + expect(response.body.apmTimeseries.overallAvgDuration).to.be(null); + expect(response.body.apmTimeseries.responseTimes.avg.length).to.be(0); + expect(response.body.apmTimeseries.responseTimes.p95.length).to.be(0); + expect(response.body.apmTimeseries.responseTimes.p99.length).to.be(0); + expect(response.body.apmTimeseries.tpmBuckets.length).to.be(0); }); }); describe('when data is loaded', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); - it('returns the transaction charts', async () => { - const response = await supertest.get( + let response: PromiseReturnType; + + before(async () => { + response = await supertest.get( `/api/apm/services/opbeans-node/transaction_groups/charts?start=${start}&end=${end}&uiFilters=${uiFilters}` ); + }); + it('returns some data', async () => { expect(response.status).to.be(200); + + expect(response.body.apmTimeseries.overallAvgDuration).not.to.be(null); + expect(response.body.apmTimeseries.responseTimes.avg.length).to.be.greaterThan(0); + expect(response.body.apmTimeseries.responseTimes.p95.length).to.be.greaterThan(0); + expect(response.body.apmTimeseries.responseTimes.p99.length).to.be.greaterThan(0); + expect(response.body.apmTimeseries.tpmBuckets.length).to.be.greaterThan(0); + }); + + it('returns the correct data', () => { + expectSnapshot(response.body.apmTimeseries.overallAvgDuration).toMatchInline( + `578297.1431623931` + ); + expectSnapshot(response.body.apmTimeseries.responseTimes.avg.length).toMatchInline(`121`); + expectSnapshot(response.body.apmTimeseries.tpmBuckets.length).toMatchInline(`4`); + expectSnapshot(response.body).toMatch(); }); }); diff --git a/x-pack/test/apm_api_integration/common/match_snapshot.ts b/x-pack/test/apm_api_integration/common/match_snapshot.ts index a8cb0418583af..4ac812a0ee168 100644 --- a/x-pack/test/apm_api_integration/common/match_snapshot.ts +++ b/x-pack/test/apm_api_integration/common/match_snapshot.ts @@ -12,6 +12,7 @@ import prettier from 'prettier'; // @ts-expect-error import babelTraverse from '@babel/traverse'; import { Suite, Test } from 'mocha'; +import { flatten } from 'lodash'; type ISnapshotState = InstanceType; @@ -143,18 +144,24 @@ Error.prepareStackTrace = (error, structuredStackTrace) => { } }; +function recursivelyGetTestsFromSuite(suite: Suite): Test[] { + return suite.tests.concat(flatten(suite.suites.map((s) => recursivelyGetTestsFromSuite(s)))); +} + function getSnapshotState(file: string, test: Test) { const dirname = path.dirname(file); const filename = path.basename(file); - let parent = test.parent; - const testsInFile: Test[] = []; + let parent: Suite | undefined = test.parent; - while (parent) { - testsInFile.push(...parent.tests); + while (parent && parent.parent?.file === file) { parent = parent.parent; } + if (!parent) { + throw new Error('Top-level suite not found'); + } + const snapshotState = new SnapshotState( path.join(dirname + `/__snapshots__/` + filename.replace(path.extname(filename), '.snap')), { @@ -164,7 +171,7 @@ function getSnapshotState(file: string, test: Test) { } ); - return { snapshotState, testsInFile }; + return { snapshotState, testsInFile: recursivelyGetTestsFromSuite(parent) }; } export function expectSnapshot(received: any) { diff --git a/x-pack/test/apm_api_integration/trial/tests/service_maps/__snapshots__/service_maps.snap b/x-pack/test/apm_api_integration/trial/tests/service_maps/__snapshots__/service_maps.snap new file mode 100644 index 0000000000000..859f928c211a4 --- /dev/null +++ b/x-pack/test/apm_api_integration/trial/tests/service_maps/__snapshots__/service_maps.snap @@ -0,0 +1,1393 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[`Service Maps with a trial license /api/apm/service-map when there is data returns the correct data 3`] = ` +Array [ + Object { + "data": Object { + "id": "opbeans-go~>postgresql", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-go~opbeans-node", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-go~opbeans-python", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-go~opbeans-ruby", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-java~>postgresql", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-node", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-python", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-ruby", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~>postgresql", + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~opbeans-go", + "isInverseEdge": true, + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-node~opbeans-python", + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>elasticsearch", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">elasticsearch", + "targetData": Object { + "id": ">elasticsearch", + "label": "elasticsearch", + "span.destination.service.resource": "elasticsearch", + "span.subtype": "elasticsearch", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>postgresql", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>redis", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">redis", + "targetData": Object { + "id": ">redis", + "label": "redis", + "span.destination.service.resource": "redis", + "span.subtype": "redis", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-go", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-node", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-python~opbeans-ruby", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~>postgresql", + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-node", + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-python", + "isInverseEdge": true, + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-go", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-java", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-node", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-python", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-ruby", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + }, + Object { + "data": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + Object { + "data": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + Object { + "data": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "data": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "data": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + Object { + "data": Object { + "id": ">elasticsearch", + "label": "elasticsearch", + "span.destination.service.resource": "elasticsearch", + "span.subtype": "elasticsearch", + "span.type": "db", + }, + }, + Object { + "data": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + Object { + "data": Object { + "id": ">redis", + "label": "redis", + "span.destination.service.resource": "redis", + "span.subtype": "redis", + "span.type": "db", + }, + }, + Object { + "data": Object { + "agent.name": "dotnet", + "id": "opbeans-dotnet", + "service.environment": null, + "service.name": "opbeans-dotnet", + }, + }, +] +`; + +exports[`Service Maps with a trial license when there is data with anomalies returns the correct anomaly stats 3`] = ` +Object { + "elements": Array [ + Object { + "data": Object { + "id": "opbeans-go~>postgresql", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-go~opbeans-node", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-go~opbeans-python", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-go~opbeans-ruby", + "source": "opbeans-go", + "sourceData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-java~>postgresql", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-node", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-python", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-java~opbeans-ruby", + "source": "opbeans-java", + "sourceData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~>postgresql", + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~opbeans-go", + "isInverseEdge": true, + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-node~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-node~opbeans-python", + "source": "opbeans-node", + "sourceData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>elasticsearch", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">elasticsearch", + "targetData": Object { + "id": ">elasticsearch", + "label": "elasticsearch", + "span.destination.service.resource": "elasticsearch", + "span.subtype": "elasticsearch", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>postgresql", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~>redis", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": ">redis", + "targetData": Object { + "id": ">redis", + "label": "redis", + "span.destination.service.resource": "redis", + "span.subtype": "redis", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-go", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-python~opbeans-node", + "isInverseEdge": true, + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "bidirectional": true, + "id": "opbeans-python~opbeans-ruby", + "source": "opbeans-python", + "sourceData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~>postgresql", + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": ">postgresql", + "targetData": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-java", + "isInverseEdge": true, + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-node", + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-ruby~opbeans-python", + "isInverseEdge": true, + "source": "opbeans-ruby", + "sourceData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-go", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-go", + "targetData": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-java", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-java", + "targetData": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-node", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-node", + "targetData": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-python", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-python", + "targetData": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + }, + Object { + "data": Object { + "id": "opbeans-rum~opbeans-ruby", + "source": "opbeans-rum", + "sourceData": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + "target": "opbeans-ruby", + "targetData": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + }, + Object { + "data": Object { + "agent.name": "rum-js", + "id": "opbeans-rum", + "service.environment": "testing", + "service.name": "opbeans-rum", + }, + }, + Object { + "data": Object { + "agent.name": "go", + "id": "opbeans-go", + "service.environment": "testing", + "service.name": "opbeans-go", + }, + }, + Object { + "data": Object { + "agent.name": "nodejs", + "id": "opbeans-node", + "service.environment": "testing", + "service.name": "opbeans-node", + }, + }, + Object { + "data": Object { + "agent.name": "python", + "id": "opbeans-python", + "service.environment": "production", + "service.name": "opbeans-python", + }, + }, + Object { + "data": Object { + "agent.name": "ruby", + "id": "opbeans-ruby", + "service.environment": "production", + "service.name": "opbeans-ruby", + }, + }, + Object { + "data": Object { + "id": ">postgresql", + "label": "postgresql", + "span.destination.service.resource": "postgresql", + "span.subtype": "postgresql", + "span.type": "db", + }, + }, + Object { + "data": Object { + "id": ">elasticsearch", + "label": "elasticsearch", + "span.destination.service.resource": "elasticsearch", + "span.subtype": "elasticsearch", + "span.type": "db", + }, + }, + Object { + "data": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + Object { + "data": Object { + "id": ">redis", + "label": "redis", + "span.destination.service.resource": "redis", + "span.subtype": "redis", + "span.type": "db", + }, + }, + Object { + "data": Object { + "agent.name": "dotnet", + "id": "opbeans-dotnet", + "service.environment": null, + "service.name": "opbeans-dotnet", + }, + }, + ], +} +`; diff --git a/x-pack/test/apm_api_integration/trial/tests/service_maps/service_maps.ts b/x-pack/test/apm_api_integration/trial/tests/service_maps/service_maps.ts index f799d80f6ef13..9dc13f58268df 100644 --- a/x-pack/test/apm_api_integration/trial/tests/service_maps/service_maps.ts +++ b/x-pack/test/apm_api_integration/trial/tests/service_maps/service_maps.ts @@ -6,7 +6,9 @@ import querystring from 'querystring'; import expect from '@kbn/expect'; -import { isEmpty } from 'lodash'; +import { isEmpty, uniq } from 'lodash'; +import archives_metadata from '../../../common/archives_metadata'; +import { PromiseReturnType } from '../../../../../plugins/apm/typings/common'; import { expectSnapshot } from '../../../common/match_snapshot'; import { FtrProviderContext } from '../../../common/ftr_provider_context'; @@ -14,13 +16,16 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext) const supertest = getService('supertest'); const esArchiver = getService('esArchiver'); + const archiveName = 'apm_8.0.0'; + const metadata = archives_metadata[archiveName]; + const start = encodeURIComponent(metadata.start); + const end = encodeURIComponent(metadata.end); + describe('Service Maps with a trial license', () => { describe('/api/apm/service-map', () => { describe('when there is no data', () => { it('returns empty list', async () => { - const response = await supertest.get( - '/api/apm/service-map?start=2020-06-28T10%3A24%3A46.055Z&end=2020-06-29T10%3A24%3A46.055Z' - ); + const response = await supertest.get(`/api/apm/service-map?start=${start}&end=${end}`); expect(response.status).to.be(200); expect(response.body.elements.length).to.be(0); @@ -28,239 +33,56 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext) }); describe('when there is data', () => { - before(() => esArchiver.load('8.0.0')); - after(() => esArchiver.unload('8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); - it('returns service map elements', async () => { - const response = await supertest.get( - '/api/apm/service-map?start=2020-06-28T10%3A24%3A46.055Z&end=2020-06-29T10%3A24%3A46.055Z' - ); + let response: PromiseReturnType; + before(async () => { + response = await supertest.get(`/api/apm/service-map?start=${start}&end=${end}`); + }); + + it('returns service map elements', () => { expect(response.status).to.be(200); + expect(response.body.elements.length).to.be.greaterThan(0); + }); - expectSnapshot(response.body).toMatchInline(` - Object { - "elements": Array [ - Object { - "data": Object { - "id": "client~opbeans-node", - "source": "client", - "sourceData": Object { - "agent.name": "rum-js", - "id": "client", - "service.name": "client", - }, - "target": "opbeans-node", - "targetData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-java~>opbeans-java:3000", - "source": "opbeans-java", - "sourceData": Object { - "agent.name": "java", - "id": "opbeans-java", - "service.environment": "production", - "service.name": "opbeans-java", - }, - "target": ">opbeans-java:3000", - "targetData": Object { - "id": ">opbeans-java:3000", - "label": "opbeans-java:3000", - "span.destination.service.resource": "opbeans-java:3000", - "span.subtype": "http", - "span.type": "external", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-java~>postgresql", - "source": "opbeans-java", - "sourceData": Object { - "agent.name": "java", - "id": "opbeans-java", - "service.environment": "production", - "service.name": "opbeans-java", - }, - "target": ">postgresql", - "targetData": Object { - "id": ">postgresql", - "label": "postgresql", - "span.destination.service.resource": "postgresql", - "span.subtype": "postgresql", - "span.type": "db", - }, - }, - }, - Object { - "data": Object { - "bidirectional": true, - "id": "opbeans-java~opbeans-node", - "source": "opbeans-java", - "sourceData": Object { - "agent.name": "java", - "id": "opbeans-java", - "service.environment": "production", - "service.name": "opbeans-java", - }, - "target": "opbeans-node", - "targetData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-node~>93.184.216.34:80", - "source": "opbeans-node", - "sourceData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - "target": ">93.184.216.34:80", - "targetData": Object { - "id": ">93.184.216.34:80", - "label": "93.184.216.34:80", - "span.destination.service.resource": "93.184.216.34:80", - "span.subtype": "http", - "span.type": "external", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-node~>postgresql", - "source": "opbeans-node", - "sourceData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - "target": ">postgresql", - "targetData": Object { - "id": ">postgresql", - "label": "postgresql", - "span.destination.service.resource": "postgresql", - "span.subtype": "postgresql", - "span.type": "db", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-node~>redis", - "source": "opbeans-node", - "sourceData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - "target": ">redis", - "targetData": Object { - "id": ">redis", - "label": "redis", - "span.destination.service.resource": "redis", - "span.subtype": "redis", - "span.type": "cache", - }, - }, - }, - Object { - "data": Object { - "id": "opbeans-node~opbeans-java", - "isInverseEdge": true, - "source": "opbeans-node", - "sourceData": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - "target": "opbeans-java", - "targetData": Object { - "agent.name": "java", - "id": "opbeans-java", - "service.environment": "production", - "service.name": "opbeans-java", - }, - }, - }, - Object { - "data": Object { - "agent.name": "java", - "id": "opbeans-java", - "service.environment": "production", - "service.name": "opbeans-java", - }, - }, - Object { - "data": Object { - "agent.name": "nodejs", - "id": "opbeans-node", - "service.environment": "production", - "service.name": "opbeans-node", - }, - }, - Object { - "data": Object { - "id": ">opbeans-java:3000", - "label": "opbeans-java:3000", - "span.destination.service.resource": "opbeans-java:3000", - "span.subtype": "http", - "span.type": "external", - }, - }, - Object { - "data": Object { - "agent.name": "rum-js", - "id": "client", - "service.name": "client", - }, - }, - Object { - "data": Object { - "id": ">redis", - "label": "redis", - "span.destination.service.resource": "redis", - "span.subtype": "redis", - "span.type": "cache", - }, - }, - Object { - "data": Object { - "id": ">postgresql", - "label": "postgresql", - "span.destination.service.resource": "postgresql", - "span.subtype": "postgresql", - "span.type": "db", - }, - }, - Object { - "data": Object { - "id": ">93.184.216.34:80", - "label": "93.184.216.34:80", - "span.destination.service.resource": "93.184.216.34:80", - "span.subtype": "http", - "span.type": "external", - }, - }, - ], - } + it('returns the correct data', () => { + const elements: Array<{ data: Record }> = response.body.elements; + + const serviceNames = uniq( + elements + .filter((element) => element.data['service.name'] !== undefined) + .map((element) => element.data['service.name']) + ); + + expectSnapshot(serviceNames).toMatchInline(` + Array [ + "opbeans-rum", + "opbeans-go", + "opbeans-node", + "opbeans-python", + "opbeans-ruby", + "opbeans-java", + "opbeans-dotnet", + ] + `); + + const externalDestinations = uniq( + elements + .filter((element) => element.data.target?.startsWith('>')) + .map((element) => element.data.target) + ); + + expectSnapshot(externalDestinations).toMatchInline(` + Array [ + ">postgresql", + ">elasticsearch", + ">redis", + ] `); + + expectSnapshot(elements).toMatch(); }); }); }); @@ -269,48 +91,75 @@ export default function serviceMapsApiTests({ getService }: FtrProviderContext) describe('when there is no data', () => { it('returns an object with nulls', async () => { const q = querystring.stringify({ - start: '2020-06-28T10:24:46.055Z', - end: '2020-06-29T10:24:46.055Z', + start: metadata.start, + end: metadata.end, uiFilters: {}, }); const response = await supertest.get(`/api/apm/service-map/service/opbeans-node?${q}`); expect(response.status).to.be(200); - expect(response.body).to.eql({ - avgCpuUsage: null, - avgErrorRate: null, - avgMemoryUsage: null, - transactionStats: { - avgRequestsPerMinute: null, - avgTransactionDuration: null, - }, - }); + expect(response.body.avgCpuUsage).to.be(null); + expect(response.body.avgErrorRate).to.be(null); + expect(response.body.avgMemoryUsage).to.be(null); + expect(response.body.transactionStats.avgRequestsPerMinute).to.be(null); + expect(response.body.transactionStats.avgTransactionDuration).to.be(null); }); }); }); describe('when there is data with anomalies', () => { - before(() => esArchiver.load('apm_8.0.0')); - after(() => esArchiver.unload('apm_8.0.0')); + before(() => esArchiver.load(archiveName)); + after(() => esArchiver.unload(archiveName)); - it('returns service map elements', async () => { - const start = encodeURIComponent('2020-09-10T06:00:00.000Z'); - const end = encodeURIComponent('2020-09-10T07:00:00.000Z'); + let response: PromiseReturnType; - const response = await supertest.get(`/api/apm/service-map?start=${start}&end=${end}`); + before(async () => { + response = await supertest.get(`/api/apm/service-map?start=${start}&end=${end}`); + }); + it('returns service map elements with anomaly stats', () => { expect(response.status).to.be(200); const dataWithAnomalies = response.body.elements.filter( (el: { data: { serviceAnomalyStats?: {} } }) => !isEmpty(el.data.serviceAnomalyStats) ); + expect(dataWithAnomalies).to.not.empty(); + dataWithAnomalies.forEach(({ data }: any) => { expect( Object.values(data.serviceAnomalyStats).filter((value) => isEmpty(value)) ).to.not.empty(); }); }); + + it('returns the correct anomaly stats', () => { + const dataWithAnomalies = response.body.elements.filter( + (el: { data: { serviceAnomalyStats?: {} } }) => !isEmpty(el.data.serviceAnomalyStats) + ); + + expectSnapshot(dataWithAnomalies.length).toMatchInline(`1`); + expectSnapshot(dataWithAnomalies.slice(0, 3)).toMatchInline(` + Array [ + Object { + "data": Object { + "agent.name": "java", + "id": "opbeans-java", + "service.environment": "production", + "service.name": "opbeans-java", + "serviceAnomalyStats": Object { + "actualValue": 1707977.2499999995, + "anomalyScore": 0.12232533657975532, + "jobId": "apm-production-229a-high_mean_transaction_duration", + "transactionType": "request", + }, + }, + }, + ] + `); + + expectSnapshot(response.body).toMatch(); + }); }); }); }