lib/opentelemetry/sdk/metrics/aggregation/sum.rb in opentelemetry-metrics-sdk-0.2.0 vs lib/opentelemetry/sdk/metrics/aggregation/sum.rb in opentelemetry-metrics-sdk-0.3.0
- old
+ new
@@ -13,35 +13,34 @@
class Sum
attr_reader :aggregation_temporality
def initialize(aggregation_temporality: ENV.fetch('OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE', :delta))
# TODO: the default should be :cumulative, see issue #1555
- @aggregation_temporality = aggregation_temporality
- @data_points = {}
+ @aggregation_temporality = aggregation_temporality.to_sym
end
- def collect(start_time, end_time)
+ def collect(start_time, end_time, data_points)
if @aggregation_temporality == :delta
# Set timestamps and 'move' data point values to result.
- ndps = @data_points.values.map! do |ndp|
+ ndps = data_points.values.map! do |ndp|
ndp.start_time_unix_nano = start_time
ndp.time_unix_nano = end_time
ndp
end
- @data_points.clear
+ data_points.clear
ndps
else
# Update timestamps and take a snapshot.
- @data_points.values.map! do |ndp|
+ data_points.values.map! do |ndp|
ndp.start_time_unix_nano ||= start_time # Start time of a data point is from the first observation.
ndp.time_unix_nano = end_time
ndp.dup
end
end
end
- def update(increment, attributes)
- ndp = @data_points[attributes] || @data_points[attributes] = NumberDataPoint.new(
+ def update(increment, attributes, data_points)
+ ndp = data_points[attributes] || data_points[attributes] = NumberDataPoint.new(
attributes,
nil,
nil,
0,
nil