prometheus-client-mmap 0.7.0.beta4 → 0.7.0.beta5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: daa93d5ecbbd6bffa4c6491d4f34b9e08b055f94
4
- data.tar.gz: 45e486c61d7047a5d7c9137c9629084af2ed825f
3
+ metadata.gz: 70cad9d30fe8702c5d934cc6303fcfd657e1c4ec
4
+ data.tar.gz: 11f7e6cac114e68260ea67a4aab5be3fa43b6259
5
5
  SHA512:
6
- metadata.gz: 335972a8520b2479e60c8662db64d66500d6417cc6c75a0e042cf040b6771c677fb138fe53fd3eb25093cbec193e0651c3a648de571cc68e3392a9b1b2c1a973
7
- data.tar.gz: '009d53e808adca363218b3cc399346895ba345504cbdea7d1ea2d9ab15005138816eff226322665abd034748ada8d03bd7215c6cdacb9ede94ca2c9d795884f1'
6
+ metadata.gz: 3c4347575300007df7c7dc03718f419fdbc1f49748433a4a10a74a3015efc7ee96f910a5fba27c333bb72f917dd00b22b3e8ba4ba6d4d2c46a6420a4c00f3c6c
7
+ data.tar.gz: a85b5b8f6a62232822f6759b6282f377e67e573318cb461fa850eaa4d783a9fd2140bb5e5cb99b3fd2861d2a9b7e8c8eeddfe3839b686c1779512caa695f2923
@@ -38,7 +38,7 @@ module Prometheus
38
38
  (lines << nil).join(DELIMITER)
39
39
  end
40
40
 
41
- def self.marshal_multiprocess(path=ENV['prometheus_multiproc_dir'])
41
+ def self.marshal_multiprocess(path=Prometheus::Client::Multiprocdir)
42
42
  metrics = {}
43
43
  Dir.glob(File.join(path, "*.db")).each do |f|
44
44
  parts = File.basename(f).split("_")
@@ -62,11 +62,8 @@ module Prometheus
62
62
  end
63
63
 
64
64
  def respond_with(format)
65
- if ENV.has_key?('prometheus_multiproc_dir')
66
- response = format.marshal_multiprocess
67
- else
68
- response = format.marshal(@registry)
69
- end
65
+ # For now we're only supporting mmapped ValueClass.
66
+ response = format.marshal_multiprocess
70
67
  [
71
68
  200,
72
69
  { 'Content-Type' => format::CONTENT_TYPE },
@@ -1,6 +1,5 @@
1
1
  # encoding: UTF-8
2
2
 
3
- require 'quantile'
4
3
  require 'prometheus/client/metric'
5
4
 
6
5
  module Prometheus
@@ -17,23 +16,11 @@ module Prometheus
17
16
  def initialize(type, name, labels)
18
17
  @sum = ValueClass.new(type, name, "#{name}_sum", labels)
19
18
  @total = ValueClass.new(type, name, "#{name}_count", labels)
20
- @estimator = Quantile::Estimator.new
21
- @estimator.invariants.each do |invariant|
22
- self[invariant.quantile] = ValueClass.new(type, name, "#{name}_summary", labels.merge({:quantile => invariant.quantile}))
23
- end
24
19
  end
25
20
 
26
21
  def observe(value)
27
22
  @sum.increment(value)
28
23
  @total.increment()
29
- # TODO: The quantile info is innaccurate as it only contains
30
- # observations per-process. What needs to happen is for
31
- # observations to be read into the estimator and then reported.
32
- # Alternatively it could be done in the exporter.
33
- @estimator.observe(value)
34
- @estimator.invariants.each do |invariant|
35
- self[invariant.quantile].set(@estimator.query(invariant.quantile))
36
- end
37
24
  end
38
25
  end
39
26
 
@@ -42,7 +42,7 @@ module Prometheus
42
42
 
43
43
  @@files_lock.synchronize do
44
44
  if !@@files.has_key?(file_prefix)
45
- filename = File.join(ENV['prometheus_multiproc_dir'], "#{file_prefix}_#{@@pid}.db")
45
+ filename = File.join(Prometheus::Client::Multiprocdir, "#{file_prefix}_#{@@pid}.db")
46
46
  @@files[file_prefix] = MmapedDict.new(filename)
47
47
  end
48
48
  end
@@ -90,9 +90,12 @@ module Prometheus
90
90
  # and as that may be in some arbitrary library the user/admin has
91
91
  # no control over we use an enviroment variable.
92
92
  if ENV.has_key?('prometheus_multiproc_dir')
93
+ Multiprocdir = ENV['prometheus_multiproc_dir']
93
94
  ValueClass = MmapedValue
94
95
  else
95
- ValueClass = SimpleValue
96
+ # Only support mmap values for now.
97
+ Multiprocdir = '/var/run/gitlab/unicorn'
98
+ ValueClass = MmapedValue
96
99
  end
97
100
  end
98
101
  end
@@ -201,4 +204,4 @@ class MmapedDict
201
204
  end
202
205
  values
203
206
  end
204
- end
207
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Prometheus
4
4
  module Client
5
- VERSION = '0.7.0.beta4'
5
+ VERSION = '0.7.0.beta5'
6
6
  end
7
7
  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.beta4
4
+ version: 0.7.0.beta5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Schmidt
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: 2.2.6
27
- - !ruby/object:Gem::Dependency
28
- name: quantile
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 0.2.0
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 0.2.0
41
27
  description:
42
28
  email:
43
29
  - ts@soundcloud.com
@@ -62,7 +48,7 @@ files:
62
48
  - lib/prometheus/client/valuetype.rb
63
49
  - lib/prometheus/client/version.rb
64
50
  - lib/prometheus/client/version.rb.orig
65
- homepage: https://github.com/pchojnacki/client_ruby
51
+ homepage: https://gitlab.com/gitlab-org/prometheus-client-mmap
66
52
  licenses:
67
53
  - Apache 2.0
68
54
  metadata: {}