prometheus-client 3.0.0 → 4.0.0
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 +4 -4
- data/lib/prometheus/client/version.rb +1 -1
- data/lib/prometheus/middleware/collector.rb +5 -47
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d86fc24651a441455a293ead401451df5f6954499943f9c752117fe5f879b5cd
|
4
|
+
data.tar.gz: 5aaa58ced22e1050e7a4687a44b251710d5f12281f1572a2375d71f733c4ffc0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 81ddb196287e2d977e6210c6b56a58459cbf4eab56e6e38ac55929a4a59d9749c64f043153b64ae120c591ed35a364b088df3f156b9825b79c69df8bfecbb240
|
7
|
+
data.tar.gz: dfe9c36fc511b3adde97198d6e53705d62d7502af016e6636cd9191cb94434126ee4a0d80e73eccddf8ad3c2d0fe116319c1f769b8fdedfcd0213a3d1176abce
|
@@ -72,12 +72,12 @@ module Prometheus
|
|
72
72
|
counter_labels = {
|
73
73
|
code: code,
|
74
74
|
method: env['REQUEST_METHOD'].downcase,
|
75
|
-
path:
|
75
|
+
path: path,
|
76
76
|
}
|
77
77
|
|
78
78
|
duration_labels = {
|
79
79
|
method: env['REQUEST_METHOD'].downcase,
|
80
|
-
path:
|
80
|
+
path: path,
|
81
81
|
}
|
82
82
|
|
83
83
|
@requests.increment(labels: counter_labels)
|
@@ -87,52 +87,10 @@ module Prometheus
|
|
87
87
|
nil
|
88
88
|
end
|
89
89
|
|
90
|
-
# While `PATH_INFO` is framework agnostic, and works for any Rack app, some Ruby web
|
91
|
-
# frameworks pass a more useful piece of information into the request env - the
|
92
|
-
# route that the request matched.
|
93
|
-
#
|
94
|
-
# This means that rather than using our generic `:id` and `:uuid` replacements in
|
95
|
-
# the `path` label for any path segments that look like dynamic IDs, we can put the
|
96
|
-
# actual route that matched in there, with correctly named parameters. For example,
|
97
|
-
# if a Sinatra app defined a route like:
|
98
|
-
#
|
99
|
-
# get "/foo/:bar" do
|
100
|
-
# ...
|
101
|
-
# end
|
102
|
-
#
|
103
|
-
# instead of containing `/foo/:id`, the `path` label would contain `/foo/:bar`.
|
104
|
-
#
|
105
|
-
# Sadly, Rails is a notable exception, and (as far as I can tell at the time of
|
106
|
-
# writing) doesn't provide this info in the request env.
|
107
90
|
def generate_path(env)
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
# We are deep in the weeds of an object that Grape passes into the request env,
|
112
|
-
# but don't document any explicit guarantees about. Let's have a fallback in
|
113
|
-
# case they change it down the line.
|
114
|
-
#
|
115
|
-
# This code would be neater with the safe navigation operator (`&.`) here rather
|
116
|
-
# than the much more verbose `respond_to?` calls, but unlike Rails' `try`
|
117
|
-
# method, it still raises an error if the object is non-nil, but doesn't respond
|
118
|
-
# to the method being called on it.
|
119
|
-
route = nil
|
120
|
-
|
121
|
-
route_info = env.dig('grape.routing_args', :route_info)
|
122
|
-
if route_info.respond_to?(:pattern)
|
123
|
-
pattern = route_info.pattern
|
124
|
-
if pattern.respond_to?(:origin)
|
125
|
-
route = pattern.origin
|
126
|
-
end
|
127
|
-
end
|
128
|
-
|
129
|
-
# Fall back to PATH_INFO if Grape change the structure of `grape.routing_args`
|
130
|
-
route ||= env['PATH_INFO']
|
131
|
-
else
|
132
|
-
route = env['PATH_INFO']
|
133
|
-
end
|
134
|
-
|
135
|
-
[env['SCRIPT_NAME'], route].join
|
91
|
+
full_path = [env['SCRIPT_NAME'], env['PATH_INFO']].join
|
92
|
+
|
93
|
+
strip_ids_from_path(full_path)
|
136
94
|
end
|
137
95
|
|
138
96
|
def strip_ids_from_path(path)
|
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
|
+
version: 4.0.0
|
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: 2022-
|
13
|
+
date: 2022-03-27 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: benchmark-ips
|
@@ -71,7 +71,7 @@ files:
|
|
71
71
|
- lib/prometheus/middleware/exporter.rb
|
72
72
|
homepage: https://github.com/prometheus/client_ruby
|
73
73
|
licenses:
|
74
|
-
- Apache
|
74
|
+
- Apache-2.0
|
75
75
|
metadata: {}
|
76
76
|
post_install_message:
|
77
77
|
rdoc_options: []
|
@@ -88,7 +88,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
|
-
rubygems_version: 3.
|
91
|
+
rubygems_version: 3.3.4
|
92
92
|
signing_key:
|
93
93
|
specification_version: 4
|
94
94
|
summary: A suite of instrumentation metric primitivesthat can be exposed through a
|