lib/prometheus/client/mmaped_dict.rb in prometheus-client-mmap-0.7.0.beta17 vs lib/prometheus/client/mmaped_dict.rb in prometheus-client-mmap-0.7.0.beta18
- old
+ new
@@ -24,22 +24,22 @@
# @m.mlock # TODO: Ensure memory is locked to RAM
@used = @m.used
@positions = {}
- read_all_positions.each do |key, _, pos|
+ read_all_positions.each do |key, pos|
@positions[key] = pos
end
rescue StandardError => e
raise ParsingError, "exception #{e} while processing metrics file #{path}"
end
# Yield (key, value). No locking is performed.
def self.read_all_values(f)
m = Helper::MmapedFile.open(f)
- m.entries.map do |data, encoded_len, value_offset|
+ m.entries.map do |data, encoded_len, value_offset, _|
encoded, value = data.unpack(format('@4A%d@%dd', encoded_len, value_offset))
[encoded, value]
end
ensure
m.munmap
@@ -71,14 +71,10 @@
@m.close
rescue TypeError => e
Prometheus::Client.logger.warn("munmap raised error #{e}")
end
- def initial_mmap_file_size
- Prometheus::Client.configuration.initial_mmap_file_size
- end
-
private
# Initialize a value. Lock must be held by caller.
def init_value(key)
@m.add_entry(key, 0.0)
@@ -87,14 +83,14 @@
@used = @m.used
@positions[key] = @used - 8
end
- # Yield (key, value, pos). No locking is performed.
+ # Yield (key, pos). No locking is performed.
def read_all_positions
- @m.entries.map do |data, encoded_len, value_offset|
+ @m.entries.map do |data, encoded_len, _, absolute_pos|
encoded, = data.unpack(format('@4A%d', encoded_len))
- [encoded, value_offset]
+ [encoded, absolute_pos]
end
end
end
end
end