Пример #1
0
 def test_get_metrics_export_result(self):
     self.assertEqual(
         get_metrics_export_result(ExportResult.SUCCESS),
         MetricsExportResult.SUCCESS,
     )
     self.assertEqual(
         get_metrics_export_result(ExportResult.FAILED_NOT_RETRYABLE),
         MetricsExportResult.FAILURE,
     )
     self.assertEqual(
         get_metrics_export_result(ExportResult.FAILED_RETRYABLE),
         MetricsExportResult.FAILURE,
     )
     self.assertEqual(get_metrics_export_result(None), None)
 def export(self,
            metric_records: Sequence[MetricRecord]) -> MetricsExportResult:
     envelopes = list(map(self._metric_to_envelope, metric_records))
     envelopes = list(
         map(
             lambda x: x.to_dict(),
             self._apply_telemetry_processors(envelopes),
         ))
     try:
         result = self._transmit(envelopes)
         if result == ExportResult.FAILED_RETRYABLE:
             self.storage.put(envelopes, result)
         if result == ExportResult.SUCCESS:
             # Try to send any cached events
             self._transmit_from_storage()
         return get_metrics_export_result(result)
     except Exception:  # pylint: disable=broad-except
         logger.exception("Exception occurred while exporting the data.")
         return get_metrics_export_result(ExportResult.FAILED_NOT_RETRYABLE)