LCOV - code coverage report
Current view: top level - lib/src/metrics/data - metric_data.dart (source / functions) Coverage Total Hit
Test: lcov.info Lines: 100.0 % 11 11
Test Date: 2026-07-11 13:35:19 Functions: - 0 0

            Line data    Source code
       1              : // Copyright The OpenTelemetry Authors
       2              : // SPDX-License-Identifier: Apache-2.0
       3              : 
       4              : import '../../resource/resource.dart';
       5              : import 'metric.dart';
       6              : 
       7              : /// MetricData represents a collection of metrics to be exported.
       8              : class MetricData {
       9              :   /// The resource associated with the metrics.
      10              :   final Resource? resource;
      11              : 
      12              :   /// The collection of metrics.
      13              :   final List<Metric> metrics;
      14              : 
      15              :   /// Creates a new MetricData instance.
      16          117 :   MetricData({this.resource, required this.metrics});
      17              : 
      18              :   /// Creates an empty MetricData instance.
      19            7 :   factory MetricData.empty() {
      20           14 :     return MetricData(metrics: []);
      21              :   }
      22              : 
      23              :   /// Returns a new MetricData instance with the metrics filtered by the given predicate.
      24            1 :   MetricData filter(bool Function(Metric metric) predicate) {
      25            1 :     return MetricData(
      26            1 :       resource: resource,
      27            3 :       metrics: metrics.where(predicate).toList(),
      28              :     );
      29              :   }
      30              : 
      31              :   /// Returns a new MetricData instance with the given metrics added.
      32            1 :   MetricData merge(MetricData other) {
      33            1 :     return MetricData(
      34            2 :       resource: resource ?? other.resource,
      35            3 :       metrics: [...metrics, ...other.metrics],
      36              :     );
      37              :   }
      38              : }
        

Generated by: LCOV version 2.0-1