Class: Gitlab::Database::Batch::EfficiencyCalculator

Inherits:
Object
  • Object
show all
Includes:
Utils::StrongMemoize
Defined in:
lib/gitlab/database/batch/efficiency_calculator.rb

Constant Summary collapse

DEFAULT_NUMBER_OF_JOBS =
20
DEFAULT_EMA_ALPHA =
0.4

Instance Method Summary collapse

Constructor Details

#initialize(record:) ⇒ EfficiencyCalculator

Returns a new instance of EfficiencyCalculator.



12
13
14
# File 'lib/gitlab/database/batch/efficiency_calculator.rb', line 12

def initialize(record:)
  @record = record
end

Instance Method Details

#optimizerObject



16
17
18
19
20
21
22
# File 'lib/gitlab/database/batch/efficiency_calculator.rb', line 16

def optimizer
  Gitlab::Database::Batch::Optimizer.new(
    current_batch_size: record.batch_size,
    max_batch_size: record.max_batch_size,
    time_efficiency: smoothed_time_efficiency
  )
end