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: 05c2d171bfeeb4f30eadedd0ef75e06b39d66785
4
- data.tar.gz: caa03d42c1075a8944b341390f2f62c01a1d6beb
3
+ metadata.gz: c651c9c769fbe5a7c5a3812213fa277c9f69ee06
4
+ data.tar.gz: fbd42b2f525f0624e511629af7066726430c639e
5
5
  SHA512:
6
- metadata.gz: 43c827be0d6f745c2ffa34e79163a28ea05c14e735d07c6c8863190e45b8d34f33914fc9fe8340460aa6eadef645d8c7bf8aaf90b9d06e1f16a74550fdf4b40a
7
- data.tar.gz: c4ab77d90e3f094f612a1c4feec3a4f5bfa2f792119db96f7304fdf063870f541a17c581299d5814ca57a050064107d5ff43a3df8ee771aed3c0826bc37c4b68
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 add_entry(data, value)
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
- while (used_ + entry.length) > @size do
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 unless @m.nil?
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.add_entry(key, 0.0)
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
@@ -1,5 +1,5 @@
1
1
  module Prometheus
2
2
  module Client
3
- VERSION = '0.7.0.beta21'
3
+ VERSION = '0.7.0.beta22'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-client-mmap
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0.beta21
4
+ version: 0.7.0.beta22
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Schmidt