From 6aa1082ae6ce6c79dbad4ca366e95ef5fdee1545 Mon Sep 17 00:00:00 2001 From: Matthew Kocher <matthew.kocher@broadcom.com> Date: Wed, 14 Feb 2024 19:48:50 +0000 Subject: [PATCH] Process stats presenter includes cpu_entitlement Co-authored-by: Matthew Kocher <matthew.kocher@broadcom.com> --- app/presenters/v3/process_stats_presenter.rb | 1 + spec/request/processes_spec.rb | 21 +++++++++++++++++-- .../v3/process_stats_presenter_spec.rb | 7 +++++++ 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/presenters/v3/process_stats_presenter.rb b/app/presenters/v3/process_stats_presenter.rb index 6bfcae98105..574d39c7386 100644 --- a/app/presenters/v3/process_stats_presenter.rb +++ b/app/presenters/v3/process_stats_presenter.rb @@ -76,6 +76,7 @@ def add_usage_info(presented_stats, stats) { time: stats[:stats][:usage][:time], cpu: stats[:stats][:usage][:cpu], + cpu_entitlement: stats[:stats][:usage][:cpu_entitlement], mem: stats[:stats][:usage][:mem], disk: stats[:stats][:usage][:disk], log_rate: stats[:stats][:usage][:log_rate] diff --git a/spec/request/processes_spec.rb b/spec/request/processes_spec.rb index 8d811498223..88647114944 100644 --- a/spec/request/processes_spec.rb +++ b/spec/request/processes_spec.rb @@ -536,7 +536,8 @@ fds_quota: process.file_descriptors, usage: { time: usage_time, - cpu: 80, + cpu: 0.8, + cpu_entitlement: 0.1, mem: 128, disk: 1024, log_rate: 1024 @@ -560,7 +561,8 @@ 'details' => 'some-details', 'usage' => { 'time' => usage_time, - 'cpu' => 80, + 'cpu' => 0.8, + 'cpu_entitlement' => 0.1, 'mem' => 128, 'disk' => 1024, 'log_rate' => 1024 @@ -606,6 +608,21 @@ expect(parsed_response).to be_a_response_like(expected_response) end end + + context 'cpu entitlement usage is not available' do + before do + stats_for_process[0][:stats][:usage][:cpu_entitlement] = nil + end + + it 'returns cpu entitlement as null' do + get "/v3/processes/#{process.guid}/stats", nil, developer_headers + + parsed_response = MultiJson.load(last_response.body) + + expect(last_response.status).to eq(200) + expect(parsed_response['resources'][0]['usage']['cpu_entitlement']).to be_nil + end + end end describe 'GET /v3/apps/:guid/processes/:type/stats' do diff --git a/spec/unit/presenters/v3/process_stats_presenter_spec.rb b/spec/unit/presenters/v3/process_stats_presenter_spec.rb index 0de03b59a05..66d136774da 100644 --- a/spec/unit/presenters/v3/process_stats_presenter_spec.rb +++ b/spec/unit/presenters/v3/process_stats_presenter_spec.rb @@ -74,6 +74,7 @@ module VCAP::CloudController::Presenters::V3 usage: { time: '2015-12-08 16:54:48 -0800', cpu: 80, + cpu_entitlement: 85, mem: 128, disk: 1024, log_rate: 2048 @@ -97,6 +98,7 @@ module VCAP::CloudController::Presenters::V3 usage: { time: '2015-03-13 16:54:48 -0800', cpu: 70, + cpu_entitlement: 75, mem: 128, disk: 1024, log_rate: 7168 @@ -133,6 +135,7 @@ module VCAP::CloudController::Presenters::V3 expect(result[0][:fds_quota]).to eq(process.file_descriptors) expect(result[0][:usage]).to eq({ time: '2015-12-08 16:54:48 -0800', cpu: 80, + cpu_entitlement: 85, mem: 128, disk: 1024, log_rate: 2048 }) @@ -148,6 +151,7 @@ module VCAP::CloudController::Presenters::V3 expect(result[1][:uptime]).to eq(42) expect(result[1][:usage]).to eq({ time: '2015-03-13 16:54:48 -0800', cpu: 70, + cpu_entitlement: 75, mem: 128, disk: 1024, log_rate: 7168 }) @@ -183,6 +187,7 @@ module VCAP::CloudController::Presenters::V3 usage: { time: '2015-12-08 16:54:48 -0800', cpu: 80, + cpu_entitlement: 85, mem: 128, disk: 1024, log_rate: 2048 @@ -221,6 +226,7 @@ module VCAP::CloudController::Presenters::V3 usage: { time: '2015-12-08 16:54:48 -0800', cpu: 80, + cpu_entitlement: 85, mem: 128, disk: 1024, log_rate: 2048 @@ -289,6 +295,7 @@ module VCAP::CloudController::Presenters::V3 expect(result[0][:fds_quota]).to eq(process.file_descriptors) expect(result[0][:usage]).to eq({ time: '2015-12-08 16:54:48 -0800', cpu: 80, + cpu_entitlement: 85, mem: 128, disk: 1024, log_rate: 2048 })