diff options
author | Fatih Acet <acetfatih@gmail.com> | 2019-05-27 22:30:37 +0000 |
---|---|---|
committer | Fatih Acet <acetfatih@gmail.com> | 2019-05-27 22:30:37 +0000 |
commit | 7f2f3f2c144c048bfbf1cd854d2db7db31af23c9 (patch) | |
tree | c5fbaf55d4e93489aa049e92c4da2e610f633b32 | |
parent | 3cac033de5210031d1a3da712d0b1d957ce9580a (diff) | |
parent | 218dd512393b34f9a26adc81ccb99bc969674a5b (diff) | |
download | gitlab-ce-7f2f3f2c144c048bfbf1cd854d2db7db31af23c9.tar.gz |
Merge branch 'jivl-migrate-dashboard-store-vuex' into 'master'
Migrate the monitoring dashboard store to vuex
See merge request gitlab-org/gitlab-ce!28555
17 files changed, 631 insertions, 6078 deletions
diff --git a/app/assets/javascripts/monitoring/components/dashboard.vue b/app/assets/javascripts/monitoring/components/dashboard.vue index ff1e1805948..a55a47c277d 100644 --- a/app/assets/javascripts/monitoring/components/dashboard.vue +++ b/app/assets/javascripts/monitoring/components/dashboard.vue @@ -8,16 +8,14 @@ import { GlLink, } from '@gitlab/ui'; import _ from 'underscore'; +import { mapActions, mapState } from 'vuex'; import { s__ } from '~/locale'; import Icon from '~/vue_shared/components/icon.vue'; import '~/vue_shared/mixins/is_ee'; import { getParameterValues } from '~/lib/utils/url_utility'; -import Flash from '../../flash'; -import MonitoringService from '../services/monitoring_service'; import MonitorAreaChart from './charts/area.vue'; import GraphGroup from './graph_group.vue'; import EmptyState from './empty_state.vue'; -import MonitoringStore from '../stores/monitoring_store'; import { timeWindows, timeWindowsKeyNames } from '../constants'; import { getTimeDiff } from '../utils'; @@ -128,9 +126,7 @@ export default { }, data() { return { - store: new MonitoringStore(), state: 'gettingStarted', - showEmptyState: true, elWidth: 0, selectedTimeWindow: '', selectedTimeWindowKey: '', @@ -141,13 +137,21 @@ export default { canAddMetrics() { return this.customMetricsAvailable && this.customMetricsPath.length; }, + ...mapState('monitoringDashboard', [ + 'groups', + 'emptyState', + 'showEmptyState', + 'environments', + 'deploymentData', + ]), }, created() { - this.service = new MonitoringService({ + this.setEndpoints({ metricsEndpoint: this.metricsEndpoint, - deploymentEndpoint: this.deploymentEndpoint, environmentsEndpoint: this.environmentsEndpoint, + deploymentsEndpoint: this.deploymentEndpoint, }); + this.timeWindows = timeWindows; this.selectedTimeWindowKey = _.escape(getParameterValues('time_window')[0]) || timeWindowsKeyNames.eightHours; @@ -165,31 +169,11 @@ export default { } }, mounted() { - const startEndWindow = getTimeDiff(this.timeWindows[this.selectedTimeWindowKey]); - this.servicePromises = [ - this.service - .getGraphsData(startEndWindow) - .then(data => this.store.storeMetrics(data)) - .catch(() => Flash(s__('Metrics|There was an error while retrieving metrics'))), - this.service - .getDeploymentData() - .then(data => this.store.storeDeploymentData(data)) - .catch(() => Flash(s__('Metrics|There was an error getting deployment information.'))), - ]; if (!this.hasMetrics) { - this.state = 'gettingStarted'; + this.setGettingStartedEmptyState(); } else { - if (this.environmentsEndpoint) { - this.servicePromises.push( - this.service - .getEnvironmentsData() - .then(data => this.store.storeEnvironmentsData(data)) - .catch(() => - Flash(s__('Metrics|There was an error getting environments information.')), - ), - ); - } - this.getGraphsData(); + this.fetchData(getTimeDiff(this.timeWindows.eightHours)); + sidebarMutationObserver = new MutationObserver(this.onSidebarMutation); sidebarMutationObserver.observe(document.querySelector('.layout-page'), { attributes: true, @@ -199,6 +183,11 @@ export default { } }, methods: { + ...mapActions('monitoringDashboard', [ + 'fetchData', + 'setGettingStartedEmptyState', + 'setEndpoints', + ]), getGraphAlerts(queries) { if (!this.allAlerts) return {}; const metricIdsForChart = queries.map(q => q.metricId); @@ -207,21 +196,6 @@ export default { getGraphAlertValues(queries) { return Object.values(this.getGraphAlerts(queries)); }, - getGraphsData() { - this.state = 'loading'; - Promise.all(this.servicePromises) - .then(() => { - if (this.store.groups.length < 1) { - this.state = 'noData'; - return; - } - - this.showEmptyState = false; - }) - .catch(() => { - this.state = 'unableToConnect'; - }); - }, hideAddMetricModal() { this.$refs.addMetricModal.hide(); }, @@ -263,10 +237,10 @@ export default { class="prepend-left-10 js-environments-dropdown" toggle-class="dropdown-menu-toggle" :text="currentEnvironmentName" - :disabled="store.environmentsData.length === 0" + :disabled="environments.length === 0" > <gl-dropdown-item - v-for="environment in store.environmentsData" + v-for="environment in environments" :key="environment.id" :active="environment.name === currentEnvironmentName" active-class="is-active" @@ -336,7 +310,7 @@ export default { </div> </div> <graph-group - v-for="(groupData, index) in store.groups" + v-for="(groupData, index) in groups" :key="index" :name="groupData.group" :show-panels="showPanels" @@ -345,7 +319,7 @@ export default { v-for="(graphData, graphIndex) in groupData.metrics" :key="graphIndex" :graph-data="graphData" - :deployment-data="store.deploymentData" + :deployment-data="deploymentData" :thresholds="getGraphAlertValues(graphData.queries)" :container-width="elWidth" group-id="monitor-area-chart" @@ -362,7 +336,7 @@ export default { </div> <empty-state v-else - :selected-state="state" + :selected-state="emptyState" :documentation-path="documentationPath" :settings-path="settingsPath" :clusters-path="clustersPath" diff --git a/app/assets/javascripts/monitoring/monitoring_bundle.js b/app/assets/javascripts/monitoring/monitoring_bundle.js index 08dc57d545c..57771ccf4d9 100644 --- a/app/assets/javascripts/monitoring/monitoring_bundle.js +++ b/app/assets/javascripts/monitoring/monitoring_bundle.js @@ -1,6 +1,7 @@ import Vue from 'vue'; import { parseBoolean } from '~/lib/utils/common_utils'; import Dashboard from 'ee_else_ce/monitoring/components/dashboard.vue'; +import store from './stores'; export default (props = {}) => { const el = document.getElementById('prometheus-graphs'); @@ -9,6 +10,7 @@ export default (props = {}) => { // eslint-disable-next-line no-new new Vue({ el, + store, render(createElement) { return createElement(Dashboard, { props: { diff --git a/app/assets/javascripts/monitoring/services/monitoring_service.js b/app/assets/javascripts/monitoring/services/monitoring_service.js deleted file mode 100644 index 1efa5189996..00000000000 --- a/app/assets/javascripts/monitoring/services/monitoring_service.js +++ /dev/null @@ -1,75 +0,0 @@ -import axios from '../../lib/utils/axios_utils'; -import statusCodes from '../../lib/utils/http_status'; -import { backOff } from '../../lib/utils/common_utils'; -import { s__, __ } from '../../locale'; - -const MAX_REQUESTS = 3; - -function backOffRequest(makeRequestCallback) { - let requestCounter = 0; - return backOff((next, stop) => { - makeRequestCallback() - .then(resp => { - if (resp.status === statusCodes.NO_CONTENT) { - requestCounter += 1; - if (requestCounter < MAX_REQUESTS) { - next(); - } else { - stop(new Error(__('Failed to connect to the prometheus server'))); - } - } else { - stop(resp); - } - }) - .catch(stop); - }); -} - -export default class MonitoringService { - constructor({ metricsEndpoint, deploymentEndpoint, environmentsEndpoint }) { - this.metricsEndpoint = metricsEndpoint; - this.deploymentEndpoint = deploymentEndpoint; - this.environmentsEndpoint = environmentsEndpoint; - } - - getGraphsData(params = {}) { - return backOffRequest(() => axios.get(this.metricsEndpoint, { params })) - .then(resp => resp.data) - .then(response => { - if (!response || !response.data || !response.success) { - throw new Error(s__('Metrics|Unexpected metrics data response from prometheus endpoint')); - } - return response.data; - }); - } - - getDeploymentData() { - if (!this.deploymentEndpoint) { - return Promise.resolve([]); - } - return backOffRequest(() => axios.get(this.deploymentEndpoint)) - .then(resp => resp.data) - .then(response => { - if (!response || !response.deployments) { - throw new Error( - s__('Metrics|Unexpected deployment data response from prometheus endpoint'), - ); - } - return response.deployments; - }); - } - - getEnvironmentsData() { - return axios - .get(this.environmentsEndpoint) - .then(resp => resp.data) - .then(response => { - if (!response || !response.environments) { - throw new Error( - s__('Metrics|There was an error fetching the environments data, please try again'), - ); - } - return response.environments; - }); - } -} diff --git a/app/assets/javascripts/monitoring/stores/actions.js b/app/assets/javascripts/monitoring/stores/actions.js new file mode 100644 index 00000000000..63c23e8449d --- /dev/null +++ b/app/assets/javascripts/monitoring/stores/actions.js @@ -0,0 +1,117 @@ +import * as types from './mutation_types'; +import axios from '~/lib/utils/axios_utils'; +import createFlash from '~/flash'; +import statusCodes from '../../lib/utils/http_status'; +import { backOff } from '../../lib/utils/common_utils'; +import { s__, __ } from '../../locale'; + +const MAX_REQUESTS = 3; + +function backOffRequest(makeRequestCallback) { + let requestCounter = 0; + return backOff((next, stop) => { + makeRequestCallback() + .then(resp => { + if (resp.status === statusCodes.NO_CONTENT) { + requestCounter += 1; + if (requestCounter < MAX_REQUESTS) { + next(); + } else { + stop(new Error(__('Failed to connect to the prometheus server'))); + } + } else { + stop(resp); + } + }) + .catch(stop); + }); +} + +export const setGettingStartedEmptyState = ({ commit }) => { + commit(types.SET_GETTING_STARTED_EMPTY_STATE); +}; + +export const setEndpoints = ({ commit }, endpoints) => { + commit(types.SET_ENDPOINTS, endpoints); +}; + +export const requestMetricsData = ({ commit }) => commit(types.REQUEST_METRICS_DATA); +export const receiveMetricsDataSuccess = ({ commit }, data) => + commit(types.RECEIVE_METRICS_DATA_SUCCESS, data); +export const receiveMetricsDataFailure = ({ commit }, error) => + commit(types.RECEIVE_METRICS_DATA_FAILURE, error); +export const receiveDeploymentsDataSuccess = ({ commit }, data) => + commit(types.RECEIVE_DEPLOYMENTS_DATA_SUCCESS, data); +export const receiveDeploymentsDataFailure = ({ commit }) => + commit(types.RECEIVE_DEPLOYMENTS_DATA_FAILURE); +export const receiveEnvironmentsDataSuccess = ({ commit }, data) => + commit(types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS, data); +export const receiveEnvironmentsDataFailure = ({ commit }) => + commit(types.RECEIVE_ENVIRONMENTS_DATA_FAILURE); + +export const fetchData = ({ dispatch }, params) => { + dispatch('fetchMetricsData', params); + dispatch('fetchDeploymentsData'); + dispatch('fetchEnvironmentsData'); +}; + +export const fetchMetricsData = ({ state, dispatch }, params) => { + dispatch('requestMetricsData'); + + return backOffRequest(() => axios.get(state.metricsEndpoint, { params })) + .then(resp => resp.data) + .then(response => { + if (!response || !response.data || !response.success) { + dispatch('receiveMetricsDataFailure', null); + createFlash(s__('Metrics|Unexpected metrics data response from prometheus endpoint')); + } + dispatch('receiveMetricsDataSuccess', response.data); + }) + .catch(error => { + dispatch('receiveMetricsDataFailure', error); + createFlash(s__('Metrics|There was an error while retrieving metrics')); + }); +}; + +export const fetchDeploymentsData = ({ state, dispatch }) => { + if (!state.deploymentEndpoint) { + return Promise.resolve([]); + } + return backOffRequest(() => axios.get(state.deploymentEndpoint)) + .then(resp => resp.data) + .then(response => { + if (!response || !response.deployments) { + createFlash(s__('Metrics|Unexpected deployment data response from prometheus endpoint')); + } + + dispatch('receiveDeploymentsDataSuccess', response.deployments); + }) + .catch(() => { + dispatch('receiveDeploymentsDataFailure'); + createFlash(s__('Metrics|There was an error getting deployment information.')); + }); +}; + +export const fetchEnvironmentsData = ({ state, dispatch }) => { + if (!state.environmentsEndpoint) { + return Promise.resolve([]); + } + return axios + .get(state.environmentsEndpoint) + .then(resp => resp.data) + .then(response => { + if (!response || !response.environments) { + createFlash( + s__('Metrics|There was an error fetching the environments data, please try again'), + ); + } + dispatch('receiveEnvironmentsDataSuccess', response.environments); + }) + .catch(() => { + dispatch('receiveEnvironmentsDataFailure'); + createFlash(s__('Metrics|There was an error getting environments information.')); + }); +}; + +// prevent babel-plugin-rewire from generating an invalid default during karma tests +export default () => {}; diff --git a/app/assets/javascripts/monitoring/stores/index.js b/app/assets/javascripts/monitoring/stores/index.js new file mode 100644 index 00000000000..d58398c54ae --- /dev/null +++ b/app/assets/javascripts/monitoring/stores/index.js @@ -0,0 +1,21 @@ +import Vue from 'vue'; +import Vuex from 'vuex'; +import * as actions from './actions'; +import mutations from './mutations'; +import state from './state'; + +Vue.use(Vuex); + +export const createStore = () => + new Vuex.Store({ + modules: { + monitoringDashboard: { + namespaced: true, + actions, + mutations, + state, + }, + }, + }); + +export default createStore(); diff --git a/app/assets/javascripts/monitoring/stores/mutation_types.js b/app/assets/javascripts/monitoring/stores/mutation_types.js new file mode 100644 index 00000000000..74c4ae64712 --- /dev/null +++ b/app/assets/javascripts/monitoring/stores/mutation_types.js @@ -0,0 +1,15 @@ +export const REQUEST_METRICS_DATA = 'REQUEST_METRICS_DATA'; +export const RECEIVE_METRICS_DATA_SUCCESS = 'RECEIVE_METRICS_DATA_SUCCESS'; +export const RECEIVE_METRICS_DATA_FAILURE = 'RECEIVE_METRICS_DATA_FAILURE'; +export const REQUEST_DEPLOYMENTS_DATA = 'REQUEST_DEPLOYMENTS_DATA'; +export const RECEIVE_DEPLOYMENTS_DATA_SUCCESS = 'RECEIVE_DEPLOYMENTS_DATA_SUCCESS'; +export const RECEIVE_DEPLOYMENTS_DATA_FAILURE = 'RECEIVE_DEPLOYMENTS_DATA_FAILURE'; +export const REQUEST_ENVIRONMENTS_DATA = 'REQUEST_ENVIRONMENTS_DATA'; +export const RECEIVE_ENVIRONMENTS_DATA_SUCCESS = 'RECEIVE_ENVIRONMENTS_DATA_SUCCESS'; +export const RECEIVE_ENVIRONMENTS_DATA_FAILURE = 'RECEIVE_ENVIRONMENTS_DATA_FAILURE'; +export const SET_TIME_WINDOW = 'SET_TIME_WINDOW'; +export const SET_METRICS_ENDPOINT = 'SET_METRICS_ENDPOINT'; +export const SET_ENVIRONMENTS_ENDPOINT = 'SET_ENVIRONMENTS_ENDPOINT'; +export const SET_DEPLOYMENTS_ENDPOINT = 'SET_DEPLOYMENTS_ENDPOINT'; +export const SET_ENDPOINTS = 'SET_ENDPOINTS'; +export const SET_GETTING_STARTED_EMPTY_STATE = 'SET_GETTING_STARTED_EMPTY_STATE'; diff --git a/app/assets/javascripts/monitoring/stores/mutations.js b/app/assets/javascripts/monitoring/stores/mutations.js new file mode 100644 index 00000000000..c1779333d75 --- /dev/null +++ b/app/assets/javascripts/monitoring/stores/mutations.js @@ -0,0 +1,45 @@ +import * as types from './mutation_types'; +import { normalizeMetrics, sortMetrics } from './utils'; + +export default { + [types.REQUEST_METRICS_DATA](state) { + state.emptyState = 'loading'; + state.showEmptyState = true; + }, + [types.RECEIVE_METRICS_DATA_SUCCESS](state, groupData) { + state.groups = groupData.map(group => ({ + ...group, + metrics: normalizeMetrics(sortMetrics(group.metrics)), + })); + + if (!state.groups.length) { + state.emptyState = 'noData'; + } else { + state.showEmptyState = false; + } + }, + [types.RECEIVE_METRICS_DATA_FAILURE](state, error) { + state.emptyState = error ? 'unableToConnect' : 'noData'; + state.showEmptyState = true; + }, + [types.RECEIVE_DEPLOYMENTS_DATA_SUCCESS](state, deployments) { + state.deploymentData = deployments; + }, + [types.RECEIVE_DEPLOYMENTS_DATA_FAILURE](state) { + state.deploymentData = []; + }, + [types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS](state, environments) { + state.environments = environments; + }, + [types.RECEIVE_ENVIRONMENTS_DATA_FAILURE](state) { + state.environments = []; + }, + [types.SET_ENDPOINTS](state, endpoints) { + state.metricsEndpoint = endpoints.metricsEndpoint; + state.environmentsEndpoint = endpoints.environmentsEndpoint; + state.deploymentsEndpoint = endpoints.deploymentsEndpoint; + }, + [types.SET_GETTING_STARTED_EMPTY_STATE](state) { + state.emptyState = 'gettingStarted'; + }, +}; diff --git a/app/assets/javascripts/monitoring/stores/state.js b/app/assets/javascripts/monitoring/stores/state.js new file mode 100644 index 00000000000..5103122612a --- /dev/null +++ b/app/assets/javascripts/monitoring/stores/state.js @@ -0,0 +1,12 @@ +export default () => ({ + hasMetrics: false, + showPanels: true, + metricsEndpoint: null, + environmentsEndpoint: null, + deploymentsEndpoint: null, + emptyState: 'gettingStarted', + showEmptyState: true, + groups: [], + deploymentData: [], + environments: [], +}); diff --git a/app/assets/javascripts/monitoring/stores/monitoring_store.js b/app/assets/javascripts/monitoring/stores/utils.js index 013fb0d4540..9216554ecbf 100644 --- a/app/assets/javascripts/monitoring/stores/monitoring_store.js +++ b/app/assets/javascripts/monitoring/stores/utils.js @@ -1,12 +1,5 @@ import _ from 'underscore'; -function sortMetrics(metrics) { - return _.chain(metrics) - .sortBy('title') - .sortBy('weight') - .value(); -} - function checkQueryEmptyData(query) { return { ...query, @@ -59,7 +52,13 @@ function groupQueriesByChartInfo(metrics) { return Object.values(metricsByChart); } -function normalizeMetrics(metrics) { +export const sortMetrics = metrics => + _.chain(metrics) + .sortBy('title') + .sortBy('weight') + .value(); + +export const normalizeMetrics = metrics => { const groupedMetrics = groupQueriesByChartInfo(metrics); return groupedMetrics.map(metric => { @@ -81,31 +80,4 @@ function normalizeMetrics(metrics) { queries: removeTimeSeriesNoData(queries), }; }); -} - -export default class MonitoringStore { - constructor() { - this.groups = []; - this.deploymentData = []; - this.environmentsData = []; - } - - storeMetrics(groups = []) { - this.groups = groups.map(group => ({ - ...group, - metrics: normalizeMetrics(sortMetrics(group.metrics)), - })); - } - - storeDeploymentData(deploymentData = []) { - this.deploymentData = deploymentData; - } - - storeEnvironmentsData(environmentsData = []) { - this.environmentsData = environmentsData.filter(environment => !!environment.last_deployment); - } - - getMetricsCount() { - return this.groups.reduce((count, group) => count + group.metrics.length, 0); - } -} +}; diff --git a/changelogs/unreleased/jivl-migrate-dashboard-store-vuex.yml b/changelogs/unreleased/jivl-migrate-dashboard-store-vuex.yml new file mode 100644 index 00000000000..dc4edbc058f --- /dev/null +++ b/changelogs/unreleased/jivl-migrate-dashboard-store-vuex.yml @@ -0,0 +1,5 @@ +--- +title: Migrate the monitoring dashboard store to vuex +merge_request: 28555 +author: +type: other diff --git a/spec/javascripts/monitoring/charts/area_spec.js b/spec/javascripts/monitoring/charts/area_spec.js index 41a6c04efb9..56609665b88 100644 --- a/spec/javascripts/monitoring/charts/area_spec.js +++ b/spec/javascripts/monitoring/charts/area_spec.js @@ -2,7 +2,8 @@ import { shallowMount } from '@vue/test-utils'; import { GlAreaChart, GlChartSeriesLabel } from '@gitlab/ui/dist/charts'; import { shallowWrapperContainsSlotText } from 'spec/helpers/vue_test_utils_helper'; import Area from '~/monitoring/components/charts/area.vue'; -import MonitoringStore from '~/monitoring/stores/monitoring_store'; +import { createStore } from '~/monitoring/stores'; +import * as types from '~/monitoring/stores/mutation_types'; import MonitoringMock, { deploymentData } from '../mock_data'; describe('Area component', () => { @@ -13,17 +14,18 @@ describe('Area component', () => { let spriteSpy; beforeEach(() => { - const store = new MonitoringStore(); - store.storeMetrics(MonitoringMock.data); - store.storeDeploymentData(deploymentData); + const store = createStore(); - [mockGraphData] = store.groups[0].metrics; + store.commit(`monitoringDashboard/${types.RECEIVE_METRICS_DATA_SUCCESS}`, MonitoringMock.data); + store.commit(`monitoringDashboard/${types.RECEIVE_DEPLOYMENTS_DATA_SUCCESS}`, deploymentData); + + [mockGraphData] = store.state.monitoringDashboard.groups[0].metrics; areaChart = shallowMount(Area, { propsData: { graphData: mockGraphData, containerWidth: 0, - deploymentData: store.deploymentData, + deploymentData: store.state.monitoringDashboard.deploymentData, }, slots: { default: mockWidgets, diff --git a/spec/javascripts/monitoring/dashboard_spec.js b/spec/javascripts/monitoring/dashboard_spec.js index e9bd6050d68..58bcd916739 100644 --- a/spec/javascripts/monitoring/dashboard_spec.js +++ b/spec/javascripts/monitoring/dashboard_spec.js @@ -2,8 +2,15 @@ import Vue from 'vue'; import MockAdapter from 'axios-mock-adapter'; import Dashboard from '~/monitoring/components/dashboard.vue'; import { timeWindows, timeWindowsKeyNames } from '~/monitoring/constants'; +import * as types from '~/monitoring/stores/mutation_types'; +import { createStore } from '~/monitoring/stores'; import axios from '~/lib/utils/axios_utils'; -import { metricsGroupsAPIResponse, mockApiEndpoint, environmentData } from './mock_data'; +import { + metricsGroupsAPIResponse, + mockApiEndpoint, + environmentData, + singleGroupResponse, +} from './mock_data'; const propsData = { hasMetrics: false, @@ -30,6 +37,7 @@ export default propsData; describe('Dashboard', () => { let DashboardComponent; let mock; + let store; beforeEach(() => { setFixtures(` @@ -45,6 +53,7 @@ describe('Dashboard', () => { }, }; + store = createStore(); mock = new MockAdapter(axios); DashboardComponent = Vue.extend(Dashboard); }); @@ -58,10 +67,11 @@ describe('Dashboard', () => { const component = new DashboardComponent({ el: document.querySelector('.prometheus-graphs'), propsData: { ...propsData, showTimeWindowDropdown: false }, + store, }); expect(component.$el.querySelector('.prometheus-graphs')).toBe(null); - expect(component.state).toEqual('gettingStarted'); + expect(component.emptyState).toEqual('gettingStarted'); }); }); @@ -74,10 +84,11 @@ describe('Dashboard', () => { const component = new DashboardComponent({ el: document.querySelector('.prometheus-graphs'), propsData: { ...propsData, hasMetrics: true, showTimeWindowDropdown: false }, + store, }); Vue.nextTick(() => { - expect(component.state).toEqual('loading'); + expect(component.emptyState).toEqual('loading'); done(); }); }); @@ -91,6 +102,7 @@ describe('Dashboard', () => { showLegend: false, showTimeWindowDropdown: false, }, + store, }); setTimeout(() => { @@ -110,6 +122,7 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); setTimeout(() => { @@ -129,16 +142,24 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); - component.store.storeEnvironmentsData(environmentData); + component.$store.commit( + `monitoringDashboard/${types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS}`, + environmentData, + ); + component.$store.commit( + `monitoringDashboard/${types.RECEIVE_METRICS_DATA_SUCCESS}`, + singleGroupResponse, + ); setTimeout(() => { const dropdownMenuEnvironments = component.$el.querySelectorAll( '.js-environments-dropdown .dropdown-item', ); - expect(dropdownMenuEnvironments.length).toEqual(component.store.environmentsData.length); + expect(dropdownMenuEnvironments.length).toEqual(component.environments.length); done(); }); }); @@ -152,18 +173,29 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); - component.store.storeEnvironmentsData([]); + component.$store.commit( + `monitoringDashboard/${types.SET_ENVIRONMENTS_ENDPOINT}`, + '/environments', + ); + component.$store.commit(`monitoringDashboard/${types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS}`, []); + component.$store.commit( + `monitoringDashboard/${types.RECEIVE_METRICS_DATA_SUCCESS}`, + singleGroupResponse, + ); - setTimeout(() => { - const dropdownMenuEnvironments = component.$el.querySelectorAll( - '.js-environments-dropdown .dropdown-item', - ); + Vue.nextTick() + .then(() => { + const dropdownMenuEnvironments = component.$el.querySelectorAll( + '.js-environments-dropdown .dropdown-item', + ); - expect(dropdownMenuEnvironments.length).toEqual(0); - done(); - }); + expect(dropdownMenuEnvironments.length).toEqual(0); + done(); + }) + .catch(done.fail); }); it('renders the environments dropdown with a single active element', done => { @@ -175,19 +207,32 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); - component.store.storeEnvironmentsData(environmentData); + component.$store.commit( + `monitoringDashboard/${types.SET_ENVIRONMENTS_ENDPOINT}`, + '/environments', + ); + component.$store.commit( + `monitoringDashboard/${types.RECEIVE_ENVIRONMENTS_DATA_SUCCESS}`, + environmentData, + ); + component.$store.commit( + `monitoringDashboard/${types.RECEIVE_METRICS_DATA_SUCCESS}`, + singleGroupResponse, + ); - setTimeout(() => { - const dropdownItems = component.$el.querySelectorAll( - '.js-environments-dropdown .dropdown-item[active="true"]', - ); + Vue.nextTick() + .then(() => { + const dropdownItems = component.$el.querySelectorAll( + '.js-environments-dropdown .dropdown-item[active="true"]', + ); - expect(dropdownItems.length).toEqual(1); - expect(dropdownItems[0].textContent.trim()).toEqual(component.currentEnvironmentName); - done(); - }); + expect(dropdownItems.length).toEqual(1); + done(); + }) + .catch(done.fail); }); it('hides the dropdown', done => { @@ -200,6 +245,7 @@ describe('Dashboard', () => { environmentsEndpoint: '', showTimeWindowDropdown: false, }, + store, }); Vue.nextTick(() => { @@ -219,6 +265,7 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); setTimeout(() => { @@ -239,6 +286,7 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: true, }, + store, }); const numberOfTimeWindows = Object.keys(timeWindows).length; @@ -261,6 +309,7 @@ describe('Dashboard', () => { const component = new DashboardComponent({ el: document.querySelector('.prometheus-graphs'), propsData: { ...propsData, hasMetrics: true, showTimeWindowDropdown: true }, + store, }); setTimeout(() => { @@ -281,6 +330,7 @@ describe('Dashboard', () => { const component = new DashboardComponent({ el: document.querySelector('.prometheus-graphs'), propsData: { ...propsData, hasMetrics: true, showTimeWindowDropdown: true }, + store, }); Vue.nextTick(() => { @@ -310,6 +360,7 @@ describe('Dashboard', () => { showPanels: false, showTimeWindowDropdown: false, }, + store, }); expect(component.elWidth).toEqual(0); @@ -352,6 +403,7 @@ describe('Dashboard', () => { showTimeWindowDropdown: false, externalDashboardPath: '/mockPath', }, + store, }); }); @@ -377,6 +429,7 @@ describe('Dashboard', () => { showTimeWindowDropdown: false, externalDashboardPath: '', }, + store, }); }); diff --git a/spec/javascripts/monitoring/helpers.js b/spec/javascripts/monitoring/helpers.js new file mode 100644 index 00000000000..672e3b948c4 --- /dev/null +++ b/spec/javascripts/monitoring/helpers.js @@ -0,0 +1,8 @@ +// eslint-disable-next-line import/prefer-default-export +export const resetStore = store => { + store.replaceState({ + showEmptyState: true, + emptyState: 'loading', + groups: [], + }); +}; diff --git a/spec/javascripts/monitoring/mock_data.js b/spec/javascripts/monitoring/mock_data.js index 6d4ef960c1a..d9d8cb66749 100644 --- a/spec/javascripts/monitoring/mock_data.js +++ b/spec/javascripts/monitoring/mock_data.js @@ -685,6 +685,47 @@ export const metricsGroupsAPIResponse = { last_update: '2017-05-25T13:18:34.949Z', }; +export const singleGroupResponse = [ + { + group: 'System metrics (Kubernetes)', + priority: 5, + metrics: [ + { + title: 'Memory Usage (Total)', + weight: 0, + y_label: 'Total Memory Used', + queries: [ + { + query_range: + 'avg(sum(container_memory_usage_bytes{container_name!="POD",pod_name=~"^production-(.*)",namespace="autodevops-deploy-33"}) by (job)) without (job) /1024/1024/1024', + unit: 'GB', + label: 'Total', + result: [ + { + metric: {}, + values: [ + [1558453960.079, '0.0357666015625'], + [1558454020.079, '0.035675048828125'], + [1558454080.079, '0.035152435302734375'], + [1558454140.079, '0.035221099853515625'], + [1558454200.079, '0.0352325439453125'], + [1558454260.079, '0.03479766845703125'], + [1558454320.079, '0.034793853759765625'], + [1558454380.079, '0.034931182861328125'], + [1558454440.079, '0.034816741943359375'], + [1558454500.079, '0.034816741943359375'], + [1558454560.079, '0.034816741943359375'], + ], + }, + ], + }, + ], + id: 15, + }, + ], + }, +]; + export default metricsGroupsAPIResponse; export const deploymentData = [ @@ -738,5836 +779,6 @@ export const statePaths = { documentationPath: '/help/administration/monitoring/prometheus/index.md', }; -export const singleRowMetricsMultipleSeries = [ - { - title: 'Multiple Time Series', - weight: 1, - y_label: 'Request Rates', - queries: [ - { - query_range: - 'sum(rate(nginx_responses_total{environment="production"}[2m])) by (status_code)', - label: 'Requests', - unit: 'Req/sec', - result: [ - { - metric: { - status_code: '1xx', - }, - values: [ - { - time: '2017-08-27T11:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T11:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T12:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T13:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T14:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T15:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T16:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T17:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:01:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:02:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:03:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:04:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:05:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:06:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:07:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:08:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:09:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:10:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:11:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:12:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:13:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:14:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:15:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:16:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:17:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:18:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:19:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:20:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:21:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:22:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:23:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:24:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:25:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:26:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:27:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:28:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:29:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:30:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:31:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:32:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:33:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:34:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:35:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:36:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:37:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:38:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:39:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:40:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:41:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:42:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:43:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:44:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:45:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:46:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:47:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:48:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:49:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:50:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:51:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:52:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:53:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:54:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:55:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:56:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:57:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:58:51.462Z', - value: '0', - }, - { - time: '2017-08-27T18:59:51.462Z', - value: '0', - }, - { - time: '2017-08-27T19:00:51.462Z', - value: '0', - }, - { - time: '2017-08-27T19:01:51.462Z', - value: '0', - }, - ], - }, - { - metric: { - status_code: '2xx', - }, - values: [ - { - time: '2017-08-27T11:01:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:02:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T11:03:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:04:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:05:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:06:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:07:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:08:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:09:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:12:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:14:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:16:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:18:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:19:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:20:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:21:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:22:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:23:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:24:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:25:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:26:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:27:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:28:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:29:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:30:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:31:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:32:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:33:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:34:51.462Z', - value: '1.333320635041571', - }, - { - time: '2017-08-27T11:35:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:36:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:37:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:38:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:39:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:40:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:41:51.462Z', - value: '1.3333587306424883', - }, - { - time: '2017-08-27T11:42:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:43:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:44:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:45:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:46:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:47:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:48:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:49:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T11:50:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:51:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:53:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:55:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:56:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:57:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T11:58:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T11:59:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:00:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:01:51.462Z', - value: '1.3333460318669703', - }, - { - time: '2017-08-27T12:02:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:03:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:04:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:05:51.462Z', - value: '1.31427319739812', - }, - { - time: '2017-08-27T12:06:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:07:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:08:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:09:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:10:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:12:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:13:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:16:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:18:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:19:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:20:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:21:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:22:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:23:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:24:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:25:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:26:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:27:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:28:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:29:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:30:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:31:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:32:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:33:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:34:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:35:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:36:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:37:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:38:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:39:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:40:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:41:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:42:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:43:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:44:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:45:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:46:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:47:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:48:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:49:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:50:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:51:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:53:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T12:55:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:56:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:57:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T12:58:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T12:59:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:00:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:01:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T13:02:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:03:51.462Z', - value: '1.2952627669098458', - }, - { - time: '2017-08-27T13:04:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:05:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:06:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:07:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:08:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:09:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:12:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:14:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:15:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T13:16:51.462Z', - value: '1.3333587306424883', - }, - { - time: '2017-08-27T13:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:18:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:19:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:20:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:21:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:22:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:23:51.462Z', - value: '1.276190476190476', - }, - { - time: '2017-08-27T13:24:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T13:25:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:26:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:27:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:28:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:29:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:30:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:31:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:32:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:33:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:34:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:35:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:36:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:37:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:38:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:39:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:40:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:41:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:42:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:43:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:44:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:45:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:46:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T13:47:51.462Z', - value: '1.276190476190476', - }, - { - time: '2017-08-27T13:48:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:49:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T13:50:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:51:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:52:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:53:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:54:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:55:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:56:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T13:57:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T13:58:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T13:59:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T14:00:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:01:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:02:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:03:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:04:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:05:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:06:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:07:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:08:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:09:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:12:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:16:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:17:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:18:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:19:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:20:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:21:51.462Z', - value: '1.3333079369916765', - }, - { - time: '2017-08-27T14:22:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:23:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:24:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:25:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:26:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:27:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:28:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:29:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:30:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:31:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:32:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:33:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T14:34:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:35:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:36:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:37:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:38:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:39:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:40:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:41:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:42:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:43:51.462Z', - value: '1.276190476190476', - }, - { - time: '2017-08-27T14:44:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T14:45:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:46:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:47:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:48:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:49:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:50:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:51:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:53:51.462Z', - value: '1.333320635041571', - }, - { - time: '2017-08-27T14:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:55:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T14:56:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:57:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T14:58:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T14:59:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:00:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:01:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:02:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:03:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:04:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T15:05:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:06:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:07:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:08:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:09:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:10:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:11:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:12:51.462Z', - value: '1.31427319739812', - }, - { - time: '2017-08-27T15:13:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:16:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:18:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:19:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:20:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:21:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:22:51.462Z', - value: '1.3333460318669703', - }, - { - time: '2017-08-27T15:23:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:24:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:25:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:26:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:27:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:28:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:29:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:30:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:31:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:32:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:33:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:34:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:35:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:36:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:37:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:38:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:39:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:40:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:41:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:42:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:43:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:44:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:45:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:46:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:47:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:48:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:49:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T15:50:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:51:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:53:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:55:51.462Z', - value: '1.3333587306424883', - }, - { - time: '2017-08-27T15:56:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T15:57:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:58:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T15:59:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:00:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:01:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:02:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:03:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:04:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:05:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:06:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:07:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:08:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:09:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:12:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:15:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:16:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:17:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:18:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:19:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:20:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:21:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:22:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:23:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:24:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T16:25:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:26:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:27:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:28:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:29:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:30:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:31:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:32:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:33:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:34:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:35:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:36:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:37:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:38:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:39:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:40:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:41:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:42:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:43:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:44:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:45:51.462Z', - value: '1.3142982314117277', - }, - { - time: '2017-08-27T16:46:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:47:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:48:51.462Z', - value: '1.333320635041571', - }, - { - time: '2017-08-27T16:49:51.462Z', - value: '1.31427319739812', - }, - { - time: '2017-08-27T16:50:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:51:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:53:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:55:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T16:56:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:57:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T16:58:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T16:59:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:00:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:01:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:02:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:03:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:04:51.462Z', - value: '1.2952504309564854', - }, - { - time: '2017-08-27T17:05:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:06:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:07:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:08:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:09:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:12:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:16:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:18:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:19:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:20:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:21:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:22:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:23:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:24:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:25:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:26:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:27:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:28:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:29:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T17:30:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:31:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:32:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:33:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:34:51.462Z', - value: '1.295225759754669', - }, - { - time: '2017-08-27T17:35:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:36:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:37:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:38:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:39:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:40:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:41:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:42:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:43:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:44:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:45:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:46:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:47:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:48:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:49:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:50:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:51:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:52:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:53:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:54:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:55:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T17:56:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:57:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T17:58:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T17:59:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T18:00:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:01:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:02:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:03:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:04:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:05:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:06:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:07:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:08:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:09:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:10:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:11:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:12:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T18:13:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:14:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:15:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:16:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:17:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:18:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:19:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:20:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:21:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:22:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:23:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:24:51.462Z', - value: '1.2571428571428571', - }, - { - time: '2017-08-27T18:25:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:26:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:27:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:28:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:29:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:30:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:31:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:32:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:33:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:34:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:35:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:36:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:37:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T18:38:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:39:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:40:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:41:51.462Z', - value: '1.580952380952381', - }, - { - time: '2017-08-27T18:42:51.462Z', - value: '1.7333333333333334', - }, - { - time: '2017-08-27T18:43:51.462Z', - value: '2.057142857142857', - }, - { - time: '2017-08-27T18:44:51.462Z', - value: '2.1904761904761902', - }, - { - time: '2017-08-27T18:45:51.462Z', - value: '1.8285714285714287', - }, - { - time: '2017-08-27T18:46:51.462Z', - value: '2.1142857142857143', - }, - { - time: '2017-08-27T18:47:51.462Z', - value: '1.619047619047619', - }, - { - time: '2017-08-27T18:48:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:49:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:50:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T18:51:51.462Z', - value: '1.2952504309564854', - }, - { - time: '2017-08-27T18:52:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:53:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:54:51.462Z', - value: '1.3333333333333333', - }, - { - time: '2017-08-27T18:55:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:56:51.462Z', - value: '1.314285714285714', - }, - { - time: '2017-08-27T18:57:51.462Z', - value: '1.295238095238095', - }, - { - time: '2017-08-27T18:58:51.462Z', - value: '1.7142857142857142', - }, - { - time: '2017-08-27T18:59:51.462Z', - value: '1.7333333333333334', - }, - { - time: '2017-08-27T19:00:51.462Z', - value: '1.3904761904761904', - }, - { - time: '2017-08-27T19:01:51.462Z', - value: '1.5047619047619047', - }, - ], - }, - ], - when: [ - { - value: 'hundred(s)', - color: 'green', - }, - ], - }, - ], - }, - { - title: 'Throughput', - weight: 1, - y_label: 'Requests / Sec', - queries: [ - { - query_range: - "sum(rate(nginx_requests_total{server_zone!='*', server_zone!='_', container_name!='POD',environment='production'}[2m]))", - label: 'Total', - unit: 'req / sec', - result: [ - { - metric: {}, - values: [ - { - time: '2017-08-27T11:01:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:02:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T11:03:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:04:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:05:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:06:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:07:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:08:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:09:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:12:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:14:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:16:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:18:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:19:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:20:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:21:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:22:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:23:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:24:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:25:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:26:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:27:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:28:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:29:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:30:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:31:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:32:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:33:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:34:51.462Z', - value: '0.4952333787297264', - }, - { - time: '2017-08-27T11:35:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:36:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:37:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:38:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:39:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:40:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:41:51.462Z', - value: '0.49524752852435283', - }, - { - time: '2017-08-27T11:42:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:43:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:44:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:45:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:46:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:47:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:48:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:49:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T11:50:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:51:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:53:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:55:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:56:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:57:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T11:58:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T11:59:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:00:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:01:51.462Z', - value: '0.49524281183630325', - }, - { - time: '2017-08-27T12:02:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:03:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:04:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:05:51.462Z', - value: '0.4857096599080009', - }, - { - time: '2017-08-27T12:06:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:07:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:08:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:09:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:10:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:12:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:13:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:16:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:18:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:19:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:20:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:21:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:22:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:23:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:24:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:25:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:26:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:27:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:28:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:29:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:30:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:31:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:32:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:33:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:34:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:35:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:36:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:37:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:38:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:39:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:40:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:41:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:42:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:43:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:44:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:45:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:46:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:47:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:48:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:49:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:50:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:51:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:53:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T12:55:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:56:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:57:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T12:58:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T12:59:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:00:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:01:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T13:02:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:03:51.462Z', - value: '0.4761995466580315', - }, - { - time: '2017-08-27T13:04:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:05:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:06:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:07:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:08:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:09:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:12:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:14:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:15:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T13:16:51.462Z', - value: '0.49524752852435283', - }, - { - time: '2017-08-27T13:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:18:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:19:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:20:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:21:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:22:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:23:51.462Z', - value: '0.4666666666666667', - }, - { - time: '2017-08-27T13:24:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T13:25:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:26:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:27:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:28:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:29:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:30:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:31:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:32:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:33:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:34:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:35:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:36:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:37:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:38:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:39:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:40:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:41:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:42:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:43:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:44:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:45:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:46:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T13:47:51.462Z', - value: '0.4666666666666667', - }, - { - time: '2017-08-27T13:48:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:49:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T13:50:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:51:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:52:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:53:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:54:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:55:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:56:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T13:57:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T13:58:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T13:59:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T14:00:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:01:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:02:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:03:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:04:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:05:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:06:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:07:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:08:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:09:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:12:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:16:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:17:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:18:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:19:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:20:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:21:51.462Z', - value: '0.4952286623111941', - }, - { - time: '2017-08-27T14:22:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:23:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:24:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:25:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:26:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:27:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:28:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:29:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:30:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:31:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:32:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:33:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T14:34:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:35:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:36:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:37:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:38:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:39:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:40:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:41:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:42:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:43:51.462Z', - value: '0.4666666666666667', - }, - { - time: '2017-08-27T14:44:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T14:45:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:46:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:47:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:48:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:49:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:50:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:51:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:53:51.462Z', - value: '0.4952333787297264', - }, - { - time: '2017-08-27T14:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:55:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T14:56:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:57:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T14:58:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T14:59:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:00:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:01:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:02:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:03:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:04:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T15:05:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:06:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:07:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:08:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:09:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:10:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:11:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:12:51.462Z', - value: '0.4857096599080009', - }, - { - time: '2017-08-27T15:13:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:16:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:18:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:19:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:20:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:21:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:22:51.462Z', - value: '0.49524281183630325', - }, - { - time: '2017-08-27T15:23:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:24:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:25:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:26:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:27:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:28:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:29:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:30:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:31:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:32:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:33:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:34:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:35:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:36:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:37:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:38:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:39:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:40:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:41:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:42:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:43:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:44:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:45:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:46:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:47:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:48:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:49:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T15:50:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:51:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:53:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:55:51.462Z', - value: '0.49524752852435283', - }, - { - time: '2017-08-27T15:56:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T15:57:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:58:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T15:59:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:00:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:01:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:02:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:03:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:04:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:05:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:06:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:07:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:08:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:09:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:12:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:15:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:16:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:17:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:18:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:19:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:20:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:21:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:22:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:23:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:24:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T16:25:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:26:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:27:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:28:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:29:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:30:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:31:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:32:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:33:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:34:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:35:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:36:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:37:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:38:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:39:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:40:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:41:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:42:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:43:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:44:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:45:51.462Z', - value: '0.485718911608682', - }, - { - time: '2017-08-27T16:46:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:47:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:48:51.462Z', - value: '0.4952333787297264', - }, - { - time: '2017-08-27T16:49:51.462Z', - value: '0.4857096599080009', - }, - { - time: '2017-08-27T16:50:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:51:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:53:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:55:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T16:56:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:57:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T16:58:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T16:59:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:00:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:01:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:02:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:03:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:04:51.462Z', - value: '0.47619501138106085', - }, - { - time: '2017-08-27T17:05:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:06:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:07:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:08:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:09:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:12:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:16:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:18:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:19:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:20:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:21:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:22:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:23:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:24:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:25:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:26:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:27:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:28:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:29:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T17:30:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:31:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:32:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:33:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:34:51.462Z', - value: '0.4761859410862754', - }, - { - time: '2017-08-27T17:35:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:36:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:37:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:38:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:39:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:40:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:41:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:42:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:43:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:44:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:45:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:46:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:47:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:48:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:49:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:50:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:51:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:52:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:53:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:54:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:55:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T17:56:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:57:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T17:58:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T17:59:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T18:00:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:01:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:02:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:03:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:04:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:05:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:06:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:07:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:08:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:09:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:10:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:11:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:12:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T18:13:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:14:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:15:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:16:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:17:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:18:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:19:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:20:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:21:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:22:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:23:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:24:51.462Z', - value: '0.45714285714285713', - }, - { - time: '2017-08-27T18:25:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:26:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:27:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:28:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:29:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:30:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:31:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:32:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:33:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:34:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:35:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:36:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:37:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T18:38:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:39:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:40:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:41:51.462Z', - value: '0.6190476190476191', - }, - { - time: '2017-08-27T18:42:51.462Z', - value: '0.6952380952380952', - }, - { - time: '2017-08-27T18:43:51.462Z', - value: '0.857142857142857', - }, - { - time: '2017-08-27T18:44:51.462Z', - value: '0.9238095238095239', - }, - { - time: '2017-08-27T18:45:51.462Z', - value: '0.7428571428571429', - }, - { - time: '2017-08-27T18:46:51.462Z', - value: '0.8857142857142857', - }, - { - time: '2017-08-27T18:47:51.462Z', - value: '0.638095238095238', - }, - { - time: '2017-08-27T18:48:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:49:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:50:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T18:51:51.462Z', - value: '0.47619501138106085', - }, - { - time: '2017-08-27T18:52:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:53:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:54:51.462Z', - value: '0.4952380952380952', - }, - { - time: '2017-08-27T18:55:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:56:51.462Z', - value: '0.4857142857142857', - }, - { - time: '2017-08-27T18:57:51.462Z', - value: '0.47619047619047616', - }, - { - time: '2017-08-27T18:58:51.462Z', - value: '0.6857142857142856', - }, - { - time: '2017-08-27T18:59:51.462Z', - value: '0.6952380952380952', - }, - { - time: '2017-08-27T19:00:51.462Z', - value: '0.5238095238095237', - }, - { - time: '2017-08-27T19:01:51.462Z', - value: '0.5904761904761905', - }, - ], - }, - ], - }, - ], - }, -]; - export const queryWithoutData = { title: 'HTTP Error rate', weight: 10, diff --git a/spec/javascripts/monitoring/monitoring_store_spec.js b/spec/javascripts/monitoring/monitoring_store_spec.js deleted file mode 100644 index 5bf6937c92e..00000000000 --- a/spec/javascripts/monitoring/monitoring_store_spec.js +++ /dev/null @@ -1,59 +0,0 @@ -import MonitoringStore from '~/monitoring/stores/monitoring_store'; -import MonitoringMock, { deploymentData, environmentData } from './mock_data'; - -describe('MonitoringStore', () => { - const store = new MonitoringStore(); - store.storeMetrics(MonitoringMock.data); - - it('contains two groups that contains, one of which has two queries sorted by priority', () => { - expect(store.groups).toBeDefined(); - expect(store.groups.length).toEqual(2); - expect(store.groups[0].metrics.length).toEqual(2); - }); - - it('gets the metrics count for every group', () => { - expect(store.getMetricsCount()).toEqual(3); - }); - - it('contains deployment data', () => { - store.storeDeploymentData(deploymentData); - - expect(store.deploymentData).toBeDefined(); - expect(store.deploymentData.length).toEqual(3); - expect(typeof store.deploymentData[0]).toEqual('object'); - }); - - it('only stores environment data that contains deployments', () => { - store.storeEnvironmentsData(environmentData); - - expect(store.environmentsData.length).toEqual(2); - }); - - it('removes the data if all the values from a query are not defined', () => { - expect(store.groups[1].metrics[0].queries[0].result.length).toEqual(0); - }); - - it('assigns queries a metric id', () => { - expect(store.groups[1].metrics[0].queries[0].metricId).toEqual('100'); - }); - - it('assigns metric id of null if metric has no id', () => { - const noId = MonitoringMock.data.map(group => ({ - ...group, - ...{ - metrics: group.metrics.map(metric => { - const { id, ...metricWithoutId } = metric; - - return metricWithoutId; - }), - }, - })); - store.storeMetrics(noId); - - store.groups.forEach(group => { - group.metrics.forEach(metric => { - expect(metric.queries.every(query => query.metricId === null)).toBe(true); - }); - }); - }); -}); diff --git a/spec/javascripts/monitoring/store/actions_spec.js b/spec/javascripts/monitoring/store/actions_spec.js new file mode 100644 index 00000000000..a848cd24fe3 --- /dev/null +++ b/spec/javascripts/monitoring/store/actions_spec.js @@ -0,0 +1,158 @@ +import axios from '~/lib/utils/axios_utils'; +import MockAdapter from 'axios-mock-adapter'; +import store from '~/monitoring/stores'; +import * as types from '~/monitoring/stores/mutation_types'; +import { + fetchDeploymentsData, + fetchEnvironmentsData, + requestMetricsData, + setEndpoints, + setGettingStartedEmptyState, +} from '~/monitoring/stores/actions'; +import storeState from '~/monitoring/stores/state'; +import testAction from 'spec/helpers/vuex_action_helper'; +import { resetStore } from '../helpers'; +import { deploymentData, environmentData } from '../mock_data'; + +describe('Monitoring store actions', () => { + let mock; + + beforeEach(() => { + mock = new MockAdapter(axios); + }); + + afterEach(() => { + resetStore(store); + mock.restore(); + }); + + describe('requestMetricsData', () => { + it('sets emptyState to loading', () => { + const commit = jasmine.createSpy(); + const { state } = store; + + requestMetricsData({ state, commit }); + + expect(commit).toHaveBeenCalledWith(types.REQUEST_METRICS_DATA); + }); + }); + + describe('fetchDeploymentsData', () => { + it('commits RECEIVE_DEPLOYMENTS_DATA_SUCCESS on error', done => { + const dispatch = jasmine.createSpy(); + const { state } = store; + state.deploymentEndpoint = '/success'; + + mock.onGet(state.deploymentEndpoint).reply(200, { + deployments: deploymentData, + }); + + fetchDeploymentsData({ state, dispatch }) + .then(() => { + expect(dispatch).toHaveBeenCalledWith('receiveDeploymentsDataSuccess', deploymentData); + done(); + }) + .catch(done.fail); + }); + + it('commits RECEIVE_DEPLOYMENTS_DATA_FAILURE on error', done => { + const dispatch = jasmine.createSpy(); + const { state } = store; + state.deploymentEndpoint = '/error'; + + mock.onGet(state.deploymentEndpoint).reply(500); + + fetchDeploymentsData({ state, dispatch }) + .then(() => { + expect(dispatch).toHaveBeenCalledWith('receiveDeploymentsDataFailure'); + done(); + }) + .catch(done.fail); + }); + }); + + describe('fetchEnvironmentsData', () => { + it('commits RECEIVE_ENVIRONMENTS_DATA_SUCCESS on error', done => { + const dispatch = jasmine.createSpy(); + const { state } = store; + state.environmentsEndpoint = '/success'; + + mock.onGet(state.environmentsEndpoint).reply(200, { + environments: environmentData, + }); + + fetchEnvironmentsData({ state, dispatch }) + .then(() => { + expect(dispatch).toHaveBeenCalledWith('receiveEnvironmentsDataSuccess', environmentData); + done(); + }) + .catch(done.fail); + }); + + it('commits RECEIVE_ENVIRONMENTS_DATA_FAILURE on error', done => { + const dispatch = jasmine.createSpy(); + const { state } = store; + state.environmentsEndpoint = '/error'; + + mock.onGet(state.environmentsEndpoint).reply(500); + + fetchEnvironmentsData({ state, dispatch }) + .then(() => { + expect(dispatch).toHaveBeenCalledWith('receiveEnvironmentsDataFailure'); + done(); + }) + .catch(done.fail); + }); + }); + + describe('Set endpoints', () => { + let mockedState; + + beforeEach(() => { + mockedState = storeState(); + }); + + it('should commit SET_ENDPOINTS mutation', done => { + testAction( + setEndpoints, + { + metricsEndpoint: 'additional_metrics.json', + deploymentsEndpoint: 'deployments.json', + environmentsEndpoint: 'deployments.json', + }, + mockedState, + [ + { + type: types.SET_ENDPOINTS, + payload: { + metricsEndpoint: 'additional_metrics.json', + deploymentsEndpoint: 'deployments.json', + environmentsEndpoint: 'deployments.json', + }, + }, + ], + [], + done, + ); + }); + }); + + describe('Set empty states', () => { + let mockedState; + + beforeEach(() => { + mockedState = storeState(); + }); + + it('should commit SET_METRICS_ENDPOINT mutation', done => { + testAction( + setGettingStartedEmptyState, + null, + mockedState, + [{ type: types.SET_GETTING_STARTED_EMPTY_STATE }], + [], + done, + ); + }); + }); +}); diff --git a/spec/javascripts/monitoring/store/mutations_spec.js b/spec/javascripts/monitoring/store/mutations_spec.js new file mode 100644 index 00000000000..882ee1dec14 --- /dev/null +++ b/spec/javascripts/monitoring/store/mutations_spec.js @@ -0,0 +1,92 @@ +import mutations from '~/monitoring/stores/mutations'; +import * as types from '~/monitoring/stores/mutation_types'; +import state from '~/monitoring/stores/state'; +import { metricsGroupsAPIResponse, deploymentData } from '../mock_data'; + +describe('Monitoring mutations', () => { + let stateCopy; + + beforeEach(() => { + stateCopy = state(); + }); + + describe(types.RECEIVE_METRICS_DATA_SUCCESS, () => { + beforeEach(() => { + stateCopy.groups = []; + const groups = metricsGroupsAPIResponse.data; + + mutations[types.RECEIVE_METRICS_DATA_SUCCESS](stateCopy, groups); + }); + + it('normalizes values', () => { + const expectedTimestamp = '2017-05-25T08:22:34.925Z'; + const expectedValue = 0.0010794445585559514; + const [timestamp, value] = stateCopy.groups[0].metrics[0].queries[0].result[0].values[0]; + + expect(timestamp).toEqual(expectedTimestamp); + expect(value).toEqual(expectedValue); + }); + + it('contains two groups that contains, one of which has two queries sorted by priority', () => { + expect(stateCopy.groups).toBeDefined(); + expect(stateCopy.groups.length).toEqual(2); + expect(stateCopy.groups[0].metrics.length).toEqual(2); + }); + + it('assigns queries a metric id', () => { + expect(stateCopy.groups[1].metrics[0].queries[0].metricId).toEqual('100'); + }); + + it('removes the data if all the values from a query are not defined', () => { + expect(stateCopy.groups[1].metrics[0].queries[0].result.length).toEqual(0); + }); + + it('assigns metric id of null if metric has no id', () => { + stateCopy.groups = []; + const groups = metricsGroupsAPIResponse.data; + const noId = groups.map(group => ({ + ...group, + ...{ + metrics: group.metrics.map(metric => { + const { id, ...metricWithoutId } = metric; + + return metricWithoutId; + }), + }, + })); + + mutations[types.RECEIVE_METRICS_DATA_SUCCESS](stateCopy, noId); + + stateCopy.groups.forEach(group => { + group.metrics.forEach(metric => { + expect(metric.queries.every(query => query.metricId === null)).toBe(true); + }); + }); + }); + }); + + describe(types.RECEIVE_DEPLOYMENTS_DATA_SUCCESS, () => { + it('stores the deployment data', () => { + stateCopy.deploymentData = []; + mutations[types.RECEIVE_DEPLOYMENTS_DATA_SUCCESS](stateCopy, deploymentData); + + expect(stateCopy.deploymentData).toBeDefined(); + expect(stateCopy.deploymentData.length).toEqual(3); + expect(typeof stateCopy.deploymentData[0]).toEqual('object'); + }); + }); + + describe('SET_ENDPOINTS', () => { + it('should set all the endpoints', () => { + mutations[types.SET_ENDPOINTS](stateCopy, { + metricsEndpoint: 'additional_metrics.json', + environmentsEndpoint: 'environments.json', + deploymentsEndpoint: 'deployments.json', + }); + + expect(stateCopy.metricsEndpoint).toEqual('additional_metrics.json'); + expect(stateCopy.environmentsEndpoint).toEqual('environments.json'); + expect(stateCopy.deploymentsEndpoint).toEqual('deployments.json'); + }); + }); +}); |