prometheus-client 0.3.0.pre.rc.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MjNjNjA5ODM2MDg5NzA0Mjk5ZmFhY2Q3MzgzYzU5NmQ0MmEwNjIzYw==
4
+ NTg5OWIzZmEwM2Y5ZTJlYTZhYmZiYmJjNWQ2YzllZDY3ODE0NzZlMA==
5
5
  data.tar.gz: !binary |-
6
- MWM4NWNhOWY5ZjA0YmUyNjY2YzJiZTA3Zjk0OTRkNjAyZTFhZDAzZg==
6
+ OGViMTA5YzQ5ODNiMGMwOTg0OGRkMGYwYjQ4Mjg5ZDMxZjYxYjkxMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- M2JlODIxYWUwZGE0ZDQxODJkODdlNzNmYmYzZjU5NDhiYmYzOTQxYTVlNDg0
10
- ZGQ2NzE3MmEzZDk1ZTUzZmExMDc5ZGE0NDEyMmU5ZjQyZWUyODdmOWE5YWQ0
11
- NThkZDRkNmYzM2Q4YTI0YmM1ZjliOWJmY2Q4OGJhZGZhMDg1NjY=
9
+ YjdhODgyNjgyYzQyMmRmNzQyM2FjMzg2MDQ5NDIwNjM3MzBlNmQwMGVhNTlk
10
+ NWFhNzE0NjU0Mjg2OGE2ZWQzNTNlNmVjODU3MDlmMzZjNmExMmY5ZjkxYzlh
11
+ NmQ3ZDVkOTUzZTk0Yzk3ODAyZTk4ZmZiNGU2M2M1NmU1YzFmMjI=
12
12
  data.tar.gz: !binary |-
13
- ZWZjODRiYzFiNjMxNzliYWM3M2E4M2ZhYTM2Y2Q0MjYyNmRhOWMzZDdiMzU3
14
- ZTBmNDkzYjk1Y2IwMGY2ZTliYmNhYTk1NGEzYTU4YzAyNDc2YzNkZWRlOGY2
15
- NjllNTA2OTFlMGY4ZjQ4NmZjNWFiNDMzODE3YWMyNzljZWYyNzE=
13
+ ODMzOGU1MzVjN2M2NzFmZDQyZjc4MjgwMzRmYjViZDY4MTliNzM2ZDYwNDlm
14
+ MjE0YWQ5ZWI1MDA5MjZlY2U0NGExNzA2MWJlYjk2YWU1NjkwNjdkOWJjZWJj
15
+ ZGMzNmJhZDZiZTgyMTkzYmY1YmFmMmZmNDUzYmQ1ZjE3MDU5NWI=
@@ -28,8 +28,7 @@ module Prometheus
28
28
  lines << format(HELP_LINE, metric.name, escape(metric.docstring))
29
29
 
30
30
  metric.values.each do |label_set, value|
31
- set = metric.base_labels.merge(label_set)
32
- representation(metric, set, value) { |l| lines << l }
31
+ representation(metric, label_set, value) { |l| lines << l }
33
32
  end
34
33
  end
35
34
 
@@ -39,20 +38,26 @@ module Prometheus
39
38
 
40
39
  private
41
40
 
42
- def self.representation(metric, set, value)
43
- if metric.type == :summary
44
- value.each do |q, v|
45
- yield metric(metric.name, labels(set.merge(quantile: q)), v)
46
- end
41
+ def self.representation(metric, label_set, value, &block)
42
+ set = metric.base_labels.merge(label_set)
47
43
 
48
- l = labels(set)
49
- yield metric("#{metric.name}_sum", l, value.sum)
50
- yield metric("#{metric.name}_total", l, value.total)
44
+ if metric.type == :summary
45
+ summary(metric.name, set, value, &block)
51
46
  else
52
47
  yield metric(metric.name, labels(set), value)
53
48
  end
54
49
  end
55
50
 
51
+ def self.summary(name, set, value)
52
+ value.each do |q, v|
53
+ yield metric(name, labels(set.merge(quantile: q)), v)
54
+ end
55
+
56
+ l = labels(set)
57
+ yield metric("#{name}_sum", l, value.sum)
58
+ yield metric("#{name}_total", l, value.total)
59
+ end
60
+
56
61
  def self.metric(name, labels, value)
57
62
  format(METRIC_LINE, name, labels, value)
58
63
  end
@@ -47,14 +47,22 @@ module Prometheus
47
47
  def parse(header)
48
48
  header.to_s.split(/\s*,\s*/).map do |type|
49
49
  attributes = type.split(/\s*;\s*/)
50
- quality = 1.0
51
- attributes.delete_if do |attr|
52
- quality = attr.split('q=').last.to_f if attr.start_with?('q=')
53
- end
50
+ quality = extract_quality(attributes)
51
+
54
52
  [attributes.join('; '), quality]
55
53
  end.sort_by(&:last).reverse
56
54
  end
57
55
 
56
+ def extract_quality(attributes, default = 1.0)
57
+ quality = default
58
+
59
+ attributes.delete_if do |attr|
60
+ quality = attr.split('q=').last.to_f if attr.start_with?('q=')
61
+ end
62
+
63
+ quality
64
+ end
65
+
58
66
  def respond_with(format)
59
67
  [
60
68
  200,
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Prometheus
4
4
  module Client
5
- VERSION = '0.3.0-rc.1'
5
+ VERSION = '0.3.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prometheus-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0.pre.rc.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tobias Schmidt
@@ -61,9 +61,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
61
61
  version: '0'
62
62
  required_rubygems_version: !ruby/object:Gem::Requirement
63
63
  requirements:
64
- - - ! '>'
64
+ - - ! '>='
65
65
  - !ruby/object:Gem::Version
66
- version: 1.3.1
66
+ version: '0'
67
67
  requirements: []
68
68
  rubyforge_project:
69
69
  rubygems_version: 2.1.11