From 7a1fc246853a02f0bea28722aec186700f0618be Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Tue, 2 Feb 2021 10:37:21 -0500 Subject: [PATCH 1/3] Fix regex for ondemand instances 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. --- lib/vmpooler/metrics/promstats/collector_middleware.rb | 2 +- spec/unit/collector_middleware_spec.rb | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/vmpooler/metrics/promstats/collector_middleware.rb b/lib/vmpooler/metrics/promstats/collector_middleware.rb index 540b1e6..c7e8325 100644 --- a/lib/vmpooler/metrics/promstats/collector_middleware.rb +++ b/lib/vmpooler/metrics/promstats/collector_middleware.rb @@ -113,7 +113,7 @@ module Vmpooler # 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') diff --git a/spec/unit/collector_middleware_spec.rb b/spec/unit/collector_middleware_spec.rb index 5244c25..704ac5a 100644 --- a/spec/unit/collector_middleware_spec.rb +++ b/spec/unit/collector_middleware_spec.rb @@ -72,14 +72,14 @@ describe Vmpooler::Metrics::Promstats::CollectorMiddleware do 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 From 8e9d8ee51edce04376208fe6c875934917849e7a Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Tue, 2 Feb 2021 11:25:26 -0500 Subject: [PATCH 2/3] Update OTel gems to 0.13.z --- lib/vmpooler.rb | 1 - vmpooler.gemspec | 13 ++++++------- 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/lib/vmpooler.rb b/lib/vmpooler.rb index cee8db8..74bd697 100644 --- a/lib/vmpooler.rb +++ b/lib/vmpooler.rb @@ -16,7 +16,6 @@ module Vmpooler require 'yaml' # Dependencies for tracing - require 'opentelemetry-api' require 'opentelemetry-instrumentation-concurrent_ruby' require 'opentelemetry-instrumentation-redis' require 'opentelemetry-instrumentation-sinatra' diff --git a/vmpooler.gemspec b/vmpooler.gemspec index cddd9bd..1ef8f34 100644 --- a/vmpooler.gemspec +++ b/vmpooler.gemspec @@ -21,13 +21,12 @@ Gem::Specification.new do |s| s.add_dependency 'connection_pool', '~> 2.2' s.add_dependency 'net-ldap', '~> 0.16' s.add_dependency 'nokogiri', '~> 1.10' - s.add_dependency 'opentelemetry-api', '= 0.8.0' - s.add_dependency 'opentelemetry-exporter-jaeger', '= 0.8.0' - s.add_dependency 'opentelemetry-instrumentation-concurrent_ruby', '= 0.8.0' - s.add_dependency 'opentelemetry-instrumentation-redis', '= 0.8.0' - s.add_dependency 'opentelemetry-instrumentation-sinatra', '= 0.8.0' - s.add_dependency 'opentelemetry-resource_detectors', '= 0.8.0' - s.add_dependency 'opentelemetry-sdk', '= 0.8.0' + s.add_dependency 'opentelemetry-exporter-jaeger', '= 0.13.0' + s.add_dependency 'opentelemetry-instrumentation-concurrent_ruby', '= 0.13.0' + s.add_dependency 'opentelemetry-instrumentation-redis', '= 0.13.0' + s.add_dependency 'opentelemetry-instrumentation-sinatra', '= 0.13.0' + s.add_dependency 'opentelemetry-resource_detectors', '= 0.13.0' + s.add_dependency 'opentelemetry-sdk', '= 0.13.1' s.add_dependency 'pickup', '~> 0.0.11' s.add_dependency 'prometheus-client', '~> 2.0' s.add_dependency 'puma', '~> 5.0', '>= 5.0.4' From 9984a274b55267dbbc4ba5f9c6dc6e90fd842453 Mon Sep 17 00:00:00 2001 From: Jenkins Date: Tue, 2 Feb 2021 17:05:29 +0000 Subject: [PATCH 3/3] (GEM) update vmpooler version to 1.0.0 --- lib/vmpooler/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/vmpooler/version.rb b/lib/vmpooler/version.rb index 0845fd5..59a3ceb 100644 --- a/lib/vmpooler/version.rb +++ b/lib/vmpooler/version.rb @@ -1,5 +1,5 @@ # frozen_string_literal: true module Vmpooler - VERSION = '0.18.2' + VERSION = '1.0.0' end