Class: Gitlab::Metrics::Middleware::PathTraversalCheck

Inherits:
Object
  • Object
show all
Includes:
SliConfig
Defined in:
lib/gitlab/metrics/middleware/path_traversal_check.rb

Constant Summary collapse

DURATION_APDEX_NAME =
:path_traversal_check_request
DURATION_APDEX_FEATURE_CATEGORY =
{ feature_category: :not_owned }.freeze
DURATION_APDEX_SLI_DEFINITION =
[
  DURATION_APDEX_NAME,
  [
    DURATION_APDEX_FEATURE_CATEGORY.merge(request_rejected: true),
    DURATION_APDEX_FEATURE_CATEGORY.merge(request_rejected: false)
  ]
].freeze
DURATION_APDEX_THRESHOLD =
0.001.seconds

Constants included from SliConfig

SliConfig::RegisterClass

Class Method Summary collapse

Methods included from SliConfig

enabled_slis, included, register, registered_classes

Class Method Details

.increment(labels:, duration:) ⇒ Object



26
27
28
29
30
31
# File 'lib/gitlab/metrics/middleware/path_traversal_check.rb', line 26

def self.increment(labels:, duration:)
  ::Gitlab::Metrics::Sli::Apdex[DURATION_APDEX_NAME].increment(
    labels: labels.merge(DURATION_APDEX_FEATURE_CATEGORY),
    success: duration <= DURATION_APDEX_THRESHOLD
  )
end

.initialize_slis!Object



22
23
24
# File 'lib/gitlab/metrics/middleware/path_traversal_check.rb', line 22

def self.initialize_slis!
  Gitlab::Metrics::Sli::Apdex.initialize_sli(*DURATION_APDEX_SLI_DEFINITION)
end