Skip to content
代码片段 群组 项目
提交 96ee0f18 编辑于 作者: Allison Browne's avatar Allison Browne 提交者: Fabio Pitino
浏览文件

Add generic cost factor logging

Changelog: changed
EE: true
上级 00ee9b26
No related branches found
No related tags found
无相关合并请求
......@@ -22,19 +22,30 @@ def amount
private
def cost_factor
if runner_cost_factor > 0 && gitlab_contribution_cost_factor
Gitlab::AppLogger.info(
message: "GitLab contributor cost factor granted",
cost_factor: gitlab_contribution_cost_factor,
project_path: project.full_path,
pipeline_id: @build.pipeline_id,
class: self.class.name
)
gitlab_cost_factor_applies = !!(
runner_cost_factor > 0 &&
gitlab_contribution_cost_factor
else
runner_cost_factor
end
)
factor = if gitlab_cost_factor_applies
gitlab_contribution_cost_factor
else
runner_cost_factor
end
log_cost_factor(project, factor, gitlab_cost_factor_applies)
factor
end
def log_cost_factor(project, factor, gitlab_cost_factor_applies)
Gitlab::AppLogger.info(
cost_factor: factor,
project_path: project.full_path,
pipeline_id: @build.pipeline_id,
class: self.class.name,
gitlab_cost_factor_applied: gitlab_cost_factor_applies
)
end
def runner_cost_factor
......
......@@ -25,6 +25,12 @@
end
with_them do
let(:expected_cost_factor) do
next public_cost_factor if visibility_level == Gitlab::VisibilityLevel::PUBLIC
private_cost_factor
end
before do
runner.update!(
public_projects_minutes_cost_factor: public_cost_factor,
......@@ -40,6 +46,19 @@
expect(subject).to eq(result)
end
it 'logs the cost factor' do
expect(Gitlab::AppLogger).to receive(:info).with(
hash_including(
cost_factor: expected_cost_factor,
project_path: project.full_path,
pipeline_id: build.pipeline_id,
gitlab_cost_factor_applied: false
)
)
subject
end
context 'when consumption comes from a GitLab contribution' do
let(:contribution_cost_factor) do
instance_double(::Gitlab::Ci::Minutes::GitlabContributionCostFactor, cost_factor: 0.25)
......@@ -60,10 +79,10 @@
it 'logs that the contributor cost factor was granted' do
expect(Gitlab::AppLogger).to receive(:info).with(
hash_including(
message: "GitLab contributor cost factor granted",
cost_factor: 0.25,
project_path: project.full_path,
pipeline_id: build.pipeline_id
pipeline_id: build.pipeline_id,
gitlab_cost_factor_applied: true
)
)
......
......@@ -48,6 +48,7 @@
end
it 'logs event' do
allow(Gitlab::AppLogger).to receive(:info).and_call_original
expect(Gitlab::AppLogger).to receive(:info).with(
message: 'Build dropped due to CI minutes limit exceeded',
namespace: project.root_namespace.name,
......
0% 加载中 .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册