prometheus-client-mmap 0.7.0.beta21 → 0.7.0.beta22
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c651c9c769fbe5a7c5a3812213fa277c9f69ee06
|
4
|
+
data.tar.gz: fbd42b2f525f0624e511629af7066726430c639e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d6f8554e2a900ffcbdee6a45a644e575ea46ebbab395f22243ea33c40743b2a16c610e6683571dc9a55ddd425aa137ec736bfc652e7e44cbcd8ff443222230a1
|
7
|
+
data.tar.gz: b4945c0cc77aa9918d905c78b5239b7da229e74ba050deeb45756908347b7781cbfeaf2fae1d89d1891354696b647577522cfe611fefa61fee0b81bf575f1a02
|
@@ -24,7 +24,7 @@ module Prometheus
|
|
24
24
|
self[0..3] = [value].pack('l')
|
25
25
|
end
|
26
26
|
|
27
|
-
def
|
27
|
+
def try_add_entry(data, value)
|
28
28
|
self.used = START_POSITION if used.zero?
|
29
29
|
|
30
30
|
# Pad to be 8-byte aligned.
|
@@ -32,14 +32,12 @@ module Prometheus
|
|
32
32
|
entry = [data.length, padded, value].pack("lA#{padded.length}d")
|
33
33
|
used_ = used
|
34
34
|
|
35
|
-
|
36
|
-
extend(size)
|
37
|
-
@size = File.size(filepath)
|
38
|
-
end
|
35
|
+
return false if (used_ + entry.length) > @size
|
39
36
|
|
40
37
|
self[used_..used_ + entry.length] = entry
|
41
|
-
|
42
38
|
self.used = used_ + entry.length
|
39
|
+
|
40
|
+
true
|
43
41
|
end
|
44
42
|
|
45
43
|
def close
|
@@ -59,7 +59,7 @@ module Prometheus
|
|
59
59
|
end
|
60
60
|
|
61
61
|
def path
|
62
|
-
@m.filepath
|
62
|
+
@m.filepath if @m
|
63
63
|
end
|
64
64
|
|
65
65
|
def close
|
@@ -73,7 +73,14 @@ module Prometheus
|
|
73
73
|
|
74
74
|
# Initialize a value. Lock must be held by caller.
|
75
75
|
def init_value(key)
|
76
|
-
@m.
|
76
|
+
until @m.try_add_entry(key, 0.0) do
|
77
|
+
filepath = @m.filepath
|
78
|
+
size = @m.size
|
79
|
+
@m.close
|
80
|
+
|
81
|
+
File.truncate(filepath, size * 2)
|
82
|
+
@m = Helper::MmapedFile.open(filepath)
|
83
|
+
end
|
77
84
|
|
78
85
|
# Update how much space we've used.
|
79
86
|
@used = @m.used
|