Class: Gitlab::Instrumentation::Zoekt
- Inherits:
-
Object
- Object
- Gitlab::Instrumentation::Zoekt
- Defined in:
- lib/gitlab/instrumentation/zoekt.rb
Constant Summary collapse
- ZOEKT_REQUEST_COUNT =
:zoekt_request_count
- ZOEKT_CALL_DURATION =
:zoekt_call_duration
- ZOEKT_CALL_DETAILS =
:zoekt_call_details
Class Method Summary collapse
- .add_call_details(duration:, method:, path:, params: nil, body: nil) ⇒ Object
- .add_duration(duration) ⇒ Object
- .detail_store ⇒ Object
- .get_request_count ⇒ Object
- .increment_request_count ⇒ Object
- .query_time ⇒ Object
Class Method Details
.add_call_details(duration:, method:, path:, params: nil, body: nil) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 34 def add_call_details(duration:, method:, path:, params: nil, body: nil) return unless Gitlab::PerformanceBar.enabled_for_request? detail_store << { method: method, path: path, params: params, body: body, duration: duration, backtrace: ::Gitlab::BacktraceCleaner.clean_backtrace(caller) } end |
.add_duration(duration) ⇒ Object
29 30 31 32 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 29 def add_duration(duration) ::Gitlab::SafeRequestStore[ZOEKT_CALL_DURATION] ||= 0 ::Gitlab::SafeRequestStore[ZOEKT_CALL_DURATION] += duration end |
.detail_store ⇒ Object
20 21 22 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 20 def detail_store ::Gitlab::SafeRequestStore[ZOEKT_CALL_DETAILS] ||= [] end |
.get_request_count ⇒ Object
11 12 13 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 11 def get_request_count ::Gitlab::SafeRequestStore[ZOEKT_REQUEST_COUNT] || 0 end |
.increment_request_count ⇒ Object
15 16 17 18 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 15 def increment_request_count ::Gitlab::SafeRequestStore[ZOEKT_REQUEST_COUNT] ||= 0 ::Gitlab::SafeRequestStore[ZOEKT_REQUEST_COUNT] += 1 end |
.query_time ⇒ Object
24 25 26 27 |
# File 'lib/gitlab/instrumentation/zoekt.rb', line 24 def query_time query_time = ::Gitlab::SafeRequestStore[ZOEKT_CALL_DURATION] || 0 query_time.round(::Gitlab::InstrumentationHelper::DURATION_PRECISION) end |