prometheus-client 4.2.0 → 4.2.1

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
  SHA256:
3
- metadata.gz: 6a1dc488e71cf101782ff38e48a4fb76477ac8806f48d9af033b599e2dd6381d
4
- data.tar.gz: d8ec80118888f89365a66af533e2465660a4cc4034b30812354c7c833bb42fcc
3
+ metadata.gz: d4744fe6d558634c6fa56a7280a4e7f19f4e7007236f61fbf70da25ffba2b2f9
4
+ data.tar.gz: 4b7e9ba6a1f32a30105317233e86dfbb67c292a554fa1f1b75e93b9aae3004de
5
5
  SHA512:
6
- metadata.gz: fb7fbb85311059b82805454a7582d326ac792584d0784744b3f6c767316101474d2e4afe980aefc984bc6cbec01a4a246ece74dca0bc2738bfc8fa0f8f3c5705
7
- data.tar.gz: d9d8e28717b85f2ced2dbbf796d8ce4eb475457dd2302bc5aabfdf45767cf846067ef55a3b1a923d0a8d233ba86bb6d205ed0f9984590bfceff19d7b30b79c33
6
+ metadata.gz: 48e636ba5c9b9b192f0342988ee971fdebf6e6ed88e2054468cae841aff6b984bd6210ee9a0e2d5a84a9ae36f0e5d65ec668601f21af0c980eb4d3e27f861b10
7
+ data.tar.gz: 6ba530af29c963aa1c1088f0a2319da994c11cc032d2fc799ca24ffc331bf372c2bc213dff2eb29651e01f46d17f9be85d503ee367df6a13888f72c204830c5a
@@ -23,7 +23,7 @@ module Prometheus
23
23
  class HttpServerError < HttpError; end
24
24
 
25
25
  DEFAULT_GATEWAY = 'http://localhost:9091'.freeze
26
- PATH = '/metrics/job/%s'.freeze
26
+ PATH = '/metrics'.freeze
27
27
  SUPPORTED_SCHEMES = %w(http https).freeze
28
28
 
29
29
  attr_reader :job, :gateway, :path
@@ -87,7 +87,14 @@ module Prometheus
87
87
  end
88
88
 
89
89
  def build_path(job, grouping_key)
90
- path = format(PATH, ERB::Util::url_encode(job))
90
+ # Job can't be empty, but it can contain `/`, so we need to base64
91
+ # encode it in that case
92
+ if job.include?('/')
93
+ encoded_job = Base64.urlsafe_encode64(job)
94
+ path = "#{PATH}/job@base64/#{encoded_job}"
95
+ else
96
+ path = "#{PATH}/job/#{ERB::Util::url_encode(job)}"
97
+ end
91
98
 
92
99
  grouping_key.each do |label, value|
93
100
  if value.include?('/')
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Prometheus
4
4
  module Client
5
- VERSION = '4.2.0'
5
+ VERSION = '4.2.1'
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: 4.2.0
4
+ version: 4.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Kochie
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2023-07-28 00:00:00.000000000 Z
13
+ date: 2023-08-04 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: benchmark-ips