Module: Gitlab::Metrics::DatabaseTransactionSlis

Defined in:
lib/gitlab/metrics/database_transaction_slis.rb

Constant Summary collapse

REQUEST_STORE_KEY =
:txn_duration
DEFAULT_DURATION_THRESHOLD =
1
THRESHOLDS =
{ 'main' => 2.0, 'ci' => 2.5 }.freeze

Class Method Summary collapse

Class Method Details

.initialize_slis!(possible_labels) ⇒ Object



12
13
14
# File 'lib/gitlab/metrics/database_transaction_slis.rb', line 12

def initialize_slis!(possible_labels)
  Gitlab::Metrics::Sli::Apdex.initialize_sli(:db_transaction, possible_labels)
end

.record_txn_apdex(labels, txn_durations) ⇒ Object



16
17
18
19
20
21
22
23
# File 'lib/gitlab/metrics/database_transaction_slis.rb', line 16

def record_txn_apdex(labels, txn_durations)
  threshold = THRESHOLDS.fetch(labels[:db_config_name], DEFAULT_DURATION_THRESHOLD)

  Gitlab::Metrics::Sli::Apdex[:db_transaction].increment(
    labels: labels,
    success: txn_durations < threshold
  )
end