Exemple #1
0
      .then(metricData => {
        this.setProperties({
          metricId: metric.id,
          isMetricSelected: true,
          isMetricDataLoading: false,
          showGraphLegend: true,
          selectedMetric: Object.assign(metricData, { color: 'blue' }),
          isMetricDataInvalid: !this.isMetricGraphable(metricData)
        });

        // Dimensions are selected. Compile, rank, and send them to the graph.
        if(dimension) {
          const orderedDimensions = getTopDimensions(metricData, this.get('dimensionCount'));
          // Update graph only if we have new dimension data
          if (orderedDimensions.length) {
            this.setProperties({
              isFetchingDimensions: false,
              isDimensionFetchDone: true,
              topDimensions: orderedDimensions,
              availableDimensions: orderedDimensions.length
            });
          }
        }
      }).catch((error) => {
Exemple #2
0
   * @param {Object} metricData - returned metric timeseries data
   * @param {String} exploreDimensions - string of metric dimensions
   * @returns {undefined}
   * @private
   */
  _setGraphProperties(metricData, exploreDimensions) {
    const alertDimension = exploreDimensions ? exploreDimensions.split(',')[0] : '';
    Object.assign(metricData, { color: METRIC_DATA_COLOR });
    this.controller.setProperties({
      metricData,
      alertDimension,
      isMetricDataLoading: false
    });
    // If alert has dimensions set, load them into graph once replay is done.
    if (exploreDimensions && !this.controller.isReplayPending) {
      const topDimensions = getTopDimensions(metricData, DIMENSION_COUNT);
      this.controller.setProperties({
        topDimensions,
        isDimensionFetchDone: true,
        availableDimensions: topDimensions.length
      });
    }
  },

  /**
   * Tries find a specific metric id based on a common dataset string
   * @method _locateMetricId
   * @param {Array} metricList - list of metrics from metric-by-name lookup
   * @param {Object} alertData - currently loaded alert properties
   * @returns {Number} target metric id
   * @private