save method

  1. @override
Future save(
  1. List<Counter> counters
)

Saves the current counters measurements.

  • counters current counters measurements to be saves.

Implementation

@override
Future save(List<Counter> counters) async {
  if (_client == null || !_pushEnabled) return;
  var body = PrometheusCounterConverter.toString2(counters, null, null);

  var url = _uri! + _requestRoute!;
  try {
    var response = await _client!
        .put(Uri.parse(url), headers: {'Accept': 'text/html'}, body: body);
    if (response.statusCode >= 400) {
      _logger.error('prometheus-counters', ApplicationException(),
          'Failed to push metrics to prometheus');
    }
  } catch (ex) {
    _logger.error('prometheus-counters', ApplicationException().wrap(ex),
        'Failed to push metrics to prometheus');
  }
}