MCPcopy Index your code
hub / github.com/prometheus/client_python / _init_value

Method _init_value

prometheus_client/mmap_dict.py:95–110  ·  view source on GitHub ↗

Initialize a value. Lock must be held by caller.

(self, key)

Source from the content-addressed store, hash-verified

93 return _read_all_values(data, used)
94
95 def _init_value(self, key):
96 """Initialize a value. Lock must be held by caller."""
97 encoded = key.encode('utf-8')
98 # Pad to be 8-byte aligned.
99 padded = encoded + (b' ' * (8 - (len(encoded) + 4) % 8))
100 value = struct.pack(f'i{len(padded)}sdd'.encode(), len(encoded), padded, 0.0, 0.0)
101 while self._used + len(value) > self._capacity:
102 self._capacity *= 2
103 self._f.truncate(self._capacity)
104 self._m = mmap.mmap(self._f.fileno(), self._capacity)
105 self._m[self._used:self._used + len(value)] = value
106
107 # Update how much space we've used.
108 self._used += len(value)
109 _pack_integer(self._m, 0, self._used)
110 self._positions[key] = self._used - 16
111
112 def _read_all_values(self):
113 """Yield (key, value, pos). No locking is performed."""

Callers 2

read_valueMethod · 0.95
write_valueMethod · 0.95

Calls 1

_pack_integerFunction · 0.85

Tested by

no test coverage detected