Skip to content

Commit

Permalink
Fix regex for ondemand instances
Browse files Browse the repository at this point in the history
It appears we renamed `/ondemand/` to `/ondemandvm/` at some point and,
as a result, have not been stripping hostnames from that endpoint's
metrics. This has caused issues with metrics collection due a very high
cardinality.
  • Loading branch information
genebean committed Feb 2, 2021
1 parent 45c1431 commit 7a1fc24
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
2 changes: 1 addition & 1 deletion lib/vmpooler/metrics/promstats/collector_middleware.rb
Original file line number Diff line number Diff line change
Expand Up @@ -113,7 +113,7 @@ def strip_hostnames_from_path(path)
# Similarly, request IDs are also stripped from the /ondemand path.
path
.gsub(%r{/vm/.+$}, '/vm')
.gsub(%r{/ondemand/.+$}, '/ondemand')
.gsub(%r{/ondemandvm/.+$}, '/ondemandvm')
.gsub(%r{/token/.+$}, '/token')
.gsub(%r{/lib/.+$}, '/lib')
.gsub(%r{/img/.+$}, '/img')
Expand Down
6 changes: 3 additions & 3 deletions spec/unit/collector_middleware_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -72,14 +72,14 @@
it 'normalizes paths containing /ondemandvm by ' do
expect(Benchmark).to receive(:realtime).and_yield.and_return(0.3)

get '/foo/ondemand/bar/fatman'
get '/foo/ondemandvm/bar/fatman'

metric = :http_server_requests_total
labels = { method: 'get', path: '/foo/ondemand', code: '200' }
labels = { method: 'get', path: '/foo/ondemandvm', code: '200' }
expect(registry.get(metric).get(labels: labels)).to eql(1.0)

metric = :http_server_request_duration_seconds
labels = { method: 'get', path: '/foo/ondemand' }
labels = { method: 'get', path: '/foo/ondemandvm' }
expect(registry.get(metric).get(labels: labels)).to include("0.1" => 0, "0.5" => 1)
end

Expand Down

0 comments on commit 7a1fc24

Please sign in to comment.