sendMetrics()

in source/lambda/services/limitreport/lib/limit-report.js [188:230]


  sendMetrics(message, cb) {
    if (this.anonymous_data != 'Yes')
      return cb({
        Status: 'Customer chose not to send anonymous metrics to AWS',
      });

    let _metricsHelper = new MetricsHelper();

    let metrics = JSON.parse(message.Body);
    let metricData = {
      Region: metrics.detail['check-item-detail']['Region'],
      Service: metrics.detail['check-item-detail']['Service'],
      LimitName: metrics.detail['check-item-detail']['Limit Name'],
      Status: metrics.detail['status'], //include itemsize from ddb
    };

    let _anonymousmetric = {
      Solution: this.solution,
      UUID: this.uuid,
      TimeStamp: new Date(),
      Data: metricData,
    };

    LOGGER.log(
      'DEBUG',
      `anonymous metric: ${JSON.stringify(_anonymousmetric)}`
    );

    _metricsHelper.sendAnonymousMetric(_anonymousmetric, function(err, data) {
      let responseData;
      if (err) {
        responseData = {
          Error: 'Sending anonymous metric failed',
        };
      } else {
        responseData = {
          Success: 'Anonymous metrics sent to AWS',
        };
      }

      return cb(responseData);
    });
  }