Skip to content

Improve loading time for large number of events

Tan Le requested to merge 246742-reduce-batch-loader-footprint-audit-events into master

What does this MR do?

This MR disable method replacement from BatchLoader. This vastly reduces the number of #define_method calls from BatchLoader that adversely impact processing time of CSV exports. More information regarding the replace_methods option in BatchLoader can be found here.

Profile

Profiling was carried out on local env with ~ 1,000 of audit events.

Before

Total: 41.839245 msec
[5] pry(main)> Gitlab::Profiler.print_by_total_time(result, min_percent: 2)
Measure Mode: wall_time
Thread ID: 70340164395040
Fiber ID: 70340197652460
Total: 41.839245
Sort by: total_time

 %self      total      self      wait     child     calls  name                           location
  0.00     41.839     0.000     0.000    41.839        1   <Module::Gitlab::Profiler>#profile /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/profiler.rb:78
  0.07     41.839     0.030     0.000    41.809    18948  *Kernel#public_send
  0.00     41.839     0.000     0.000    41.839        1   ActionDispatch::Integration::RequestHelpers#get /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/testing/integration.rb:17
  0.00     41.839     0.000     0.000    41.839        1   ActionDispatch::Integration::Session#process /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/testing/integration.rb:211
  0.00     41.839     0.000     0.000    41.839        1   Rack::Test::Session#request    /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/test.rb:116
  0.00     41.838     0.000     0.000    41.838        1   Rack::Test::Session#process_request /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/test.rb:265
  0.00     41.838     0.000     0.000    41.838        1   Rack::MockSession#request      /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/mock_session.rb:26
  0.00     41.838     0.000     0.000    41.838        1   Rails::Engine#call             /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/engine.rb:525
  0.00     41.838     0.000     0.000    41.838        1   Raven::Rack#call               /Users/tanle/.gem/ruby/2.6.6/gems/sentry-raven-3.0.4/lib/raven/integrations/rack.rb:43
  0.00     41.838     0.000     0.000    41.838        1   Gitlab::Metrics::RequestsRackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/requests_rack_middleware.rb:47
  0.00     41.838     0.000     0.000    41.837        1   ActionDispatch::HostAuthorization#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/host_authorization.rb:75
  0.00     41.835     0.000     0.000    41.835        1   Rack::Sendfile#call            /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/sendfile.rb:110
  0.00     41.835     0.000     0.000    41.835        1   Rack::Proxy#call               /Users/tanle/.gem/ruby/2.6.6/gems/rack-proxy-0.6.0/lib/rack/proxy.rb:56
  0.00     41.835     0.000     0.000    41.835        1   Gitlab::Webpack::DevServerMiddleware#perform_request /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/webpack/dev_server_middleware.rb:18
  0.00     41.835     0.000     0.000    41.835        1   Gitlab::Middleware::Static#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/static.rb:8
  0.00     41.835     0.000     0.000    41.835        1   ActionDispatch::Static#call    /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/static.rb:115
  0.00     41.835     0.000     0.000    41.835        2  *ActionDispatch::Executor#call  /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/executor.rb:11
  0.00     41.689     0.000     0.000    41.688        1   LocalCacheRegistryCleanupWithEnsure#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/config/initializers/fix_local_cache_middleware.rb:7
  0.00     41.688     0.000     0.000    41.688        1   Rack::Runtime#call             /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/runtime.rb:20
  0.00     41.688     0.000     0.000    41.688        1   Rack::MethodOverride#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/method_override.rb:13
  0.00     41.688     0.000     0.000    41.688        1   ActionDispatch::RequestId#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/request_id.rb:24
  0.00     41.688     0.000     0.000    41.688        1   RequestStore::Middleware#call  /Users/tanle/.gem/ruby/2.6.6/gems/request_store-1.5.0/lib/request_store/middleware.rb:16
  0.00     41.688     0.000     0.000    41.688        1   Gitlab::Middleware::RequestContext#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/request_context.rb:10
  0.00     41.688     0.000     0.000    41.688        1   Gitlab::Middleware::HandleIpSpoofAttackError#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:24
  0.00     41.688     0.000     0.000    41.688        1   ActionDispatch::RemoteIp#call  /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/remote_ip.rb:78
  0.00     41.688     0.000     0.000    41.688        1   Sprockets::Rails::QuietAssets#call /Users/tanle/.gem/ruby/2.6.6/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:9
  0.00     41.688     0.000     0.000    41.688        1   Rails::Rack::Logger#call       /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:22
  0.00     41.688     0.000     0.000    41.688        1   ActiveSupport::TaggedLogging#tagged /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:79
  0.00     41.688     0.000     0.000    41.688        1   ActiveSupport::TaggedLogging::Formatter#tagged /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:26
  0.00     41.688     0.000     0.000    41.688        1   Rails::Rack::Logger#call_app   /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:33
  0.00     41.686     0.000     0.000    41.686        1   Gitlab::Middleware::BasicHealthCheck#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/basic_health_check.rb:24
  0.00     41.686     0.000     0.000    41.686        1   ActionDispatch::ShowExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/show_exceptions.rb:31
  0.00     41.686     0.000     0.000    41.686        1   ActionDispatch::DebugExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:30
  0.00     41.686     0.000     0.000    41.686        1   BetterErrors::Middleware#call  /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:55
  0.00     41.686     0.000     0.000    41.686        1   BetterErrors::Middleware#better_errors_call /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:72
  0.00     41.686     0.000     0.000    41.686        1   BetterErrors::Middleware#protected_app_call /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:83
  0.00     41.686     0.000     0.000    41.686        1   ActionDispatch::ActionableExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/actionable_exceptions.rb:15
  0.06     41.640     0.023     0.000    41.617     4033  *ActiveSupport::Callbacks#run_callbacks /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:97
  0.00     41.493     0.000     0.000    41.493        1   ActionDispatch::Callbacks#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/callbacks.rb:24
  0.00     41.493     0.000     0.000    41.493        1   ActiveRecord::Migration::CheckPending#call /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/migration.rb:561
  0.00     41.322     0.000     0.000    41.321       10  *Kernel#catch
 16.11     41.275     6.741     0.000    34.534   290958  *Array#each
  0.00     41.176     0.000     0.000    41.176        1   Gitlab::Middleware::SameSiteCookies#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/same_site_cookies.rb:26
  0.00     41.176     0.000     0.000    41.176        1   ActionDispatch::Cookies#call   /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/cookies.rb:645
  0.00     41.176     0.000     0.000    41.176        1   Rack::Session::Abstract::Persisted#call /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:252
  0.00     41.176     0.000     0.000    41.176        1   Rack::Session::Abstract::Persisted#context /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:256
  0.00     41.176     0.000     0.000    41.176        1   Gitlab::Middleware::ReadOnly#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/read_only.rb:17
  0.00     41.176     0.000     0.000    41.176        1   Gitlab::Middleware::ReadOnly::Controller#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/read_only/controller.rb:37
  0.00     41.175     0.000     0.000    41.175        1   ActionDispatch::ContentSecurityPolicy::Middleware#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/http/content_security_policy.rb:16
  0.00     41.175     0.000     0.000    41.175        1   Rack::Head#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/head.rb:11
  0.00     41.175     0.000     0.000    41.175        1   Rack::ConditionalGet#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/conditional_get.rb:22
  0.00     41.175     0.000     0.000    41.175        1   Rack::ETag#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/etag.rb:24
  0.00     41.175     0.000     0.000    41.175        1   Rack::TempfileReaper#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/tempfile_reaper.rb:13
  0.00     41.175     0.000     0.000    41.175        1   Rack::Cors#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-cors-1.0.6/lib/rack/cors.rb:64
  0.00     41.175     0.000     0.000    41.175        1   Warden::Manager#call           /Users/tanle/.gem/ruby/2.6.6/gems/warden-1.2.8/lib/warden/manager.rb:30
  0.00     41.174     0.000     0.000    41.174        2  *Rack::Attack#call              /Users/tanle/.gem/ruby/2.6.6/gems/rack-attack-6.3.0/lib/rack/attack.rb:96
  0.00     41.149     0.000     0.000    41.149        1   Gitlab::Middleware::Multipart#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/multipart.rb:215
  0.00     41.149     0.000     0.000    41.149        1   ApolloUploadServer::Middleware#call /Users/tanle/.gem/ruby/2.6.6/gems/apollo_upload_server-2.0.2/lib/apollo_upload_server/middleware.rb:9
  0.00     41.149     0.000     0.000    41.149        1   Bullet::Rack#call              /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/rack.rb:11
  0.00     41.143     0.000     0.000    41.143        1   BatchLoader::Middleware#call   /Users/tanle/.gem/ruby/2.6.6/gems/batch-loader-1.4.0/lib/batch_loader/middleware.rb:9
  0.00     41.143     0.000     0.000    41.143        1   Gitlab::EtagCaching::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/etag_caching/middleware.rb:10
  0.00     41.143     0.000     0.000    41.143        1   Gitlab::Middleware::Go#call    /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/go.rb:17
  0.00     41.143     0.000     0.000    41.143        1   Gitlab::Jira::Middleware#call  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/jira/middleware.rb:14
  0.00     41.143     0.000     0.000    41.143        1   Labkit::Middleware::Rack#call  /Users/tanle/.gem/ruby/2.6.6/gems/gitlab-labkit-0.12.1/lib/labkit/middleware/rack.rb:17
  0.00     41.143     0.000     0.000    41.143        2  *<Class::Labkit::Context>#with_context /Users/tanle/.gem/ruby/2.6.6/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:28
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::QueryLimiting::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/query_limiting/middleware.rb:15
  0.00     41.142     0.000     0.000    41.142        1   <Class::Gitlab::QueryLimiting::Transaction>#run /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/query_limiting/transaction.rb:35
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::RequestProfiler::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/request_profiler/middleware.rb:13
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::Metrics::RackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/rack_middleware.rb:12
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::Metrics::Transaction#run /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/transaction.rb:55
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::Middleware::RailsQueueDuration#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/rails_queue_duration.rb:16
  0.00     41.142     0.000     0.000    41.142        1   Gitlab::Metrics::ElasticsearchRackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/elasticsearch_rack_middleware.rb:13
  0.00     41.142     0.000     0.000    41.142        1   OmniAuth::Strategy#call        /Users/tanle/.gem/ruby/2.6.6/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:168
  0.00     41.141     0.000     0.000    41.141        1   OmniAuth::Strategy#call!       /Users/tanle/.gem/ruby/2.6.6/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:177
  0.00     41.134     0.000     0.000    41.134        1   ActionDispatch::Routing::RouteSet#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:831
  0.00     41.134     0.000     0.000    41.134        1   ActionDispatch::Journey::Router#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/journey/router.rb:31
  0.81     36.921     0.340     0.001    36.580    40275  *Array#map
  0.00     21.833     0.002     0.000    21.831     2027  *ActiveSupport::Callbacks::CallbackSequence#invoke_before /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:512
  0.00     21.765     0.000     0.000    21.765        1   ActionDispatch::Routing::RouteSet::Dispatcher#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:29
  0.00     21.764     0.000     0.000    21.764        1   ActionDispatch::Routing::RouteSet::Dispatcher#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:49
  0.00     21.764     0.000     0.000    21.764        1   <Class::ActionController::Metal>#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal.rb:250
  0.00     21.764     0.000     0.000    21.764        1   ActionController::Metal#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal.rb:187
  0.00     21.764     0.000     0.000    21.764        1   ActionView::Rendering#process  /Users/tanle/.gem/ruby/2.6.6/gems/actionview-6.0.3.1/lib/action_view/rendering.rb:37
  0.00     21.764     0.000     0.000    21.764        1   AbstractController::Base#process /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/base.rb:127
  0.00     21.752     0.001     0.000    21.751       52  *ActiveSupport::Notifications::Instrumenter#instrument /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/notifications/instrumenter.rb:20
  0.00     21.739     0.000     0.000    21.739       34  *<Module::ActiveSupport::Notifications>#instrument /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:178
  0.00     21.734     0.000     0.000    21.734        1   ActiveRecord::Railties::ControllerRuntime#process_action /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/railties/controller_runtime.rb:22
  0.00     21.734     0.000     0.000    21.734        1   ActionController::ParamsWrapper#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/params_wrapper.rb:243
  0.00     21.734     0.000     0.000    21.734        1   ActionController::Instrumentation#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/instrumentation.rb:19
  0.00     21.732     0.000     0.000    21.732        1   ActionController::Rescue#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/rescue.rb:21
  0.00     21.732     0.000     0.000    21.732        1   AbstractController::Callbacks#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/callbacks.rb:40
  0.00     21.731     0.000     0.000    21.731        1   ApplicationController#set_current_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:461
  0.00     21.713     0.000     0.000    21.713       11  *BasicObject#instance_exec
  0.00     21.710     0.000     0.000    21.710        1   <Class::Gitlab::ApplicationContext>#with_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/application_context.rb:18
  0.00     21.710     0.000     0.000    21.710        1   Gitlab::ApplicationContext#use /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/application_context.rb:51
  0.00     21.709     0.000     0.000    21.709        1   Marginalia::ActionControllerInstrumentation#record_query_comment /Users/tanle/.gem/ruby/2.6.6/gems/marginalia-1.9.0/lib/marginalia.rb:109
  0.00     21.704     0.000     0.000    21.704        1   ApplicationController#sentry_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:540
  0.00     21.704     0.000     0.000    21.704        1   <Module::Gitlab::ErrorTracking>#with_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/error_tracking.rb:40
  0.00     21.702     0.000     0.000    21.702        1   SessionlessAuthentication#sessionless_bypass_admin_mode! /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/concerns/sessionless_authentication.rb:29
  0.00     21.681     0.000     0.000    21.681        1   ApplicationController#set_locale /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:475
  0.00     21.681     0.000     0.000    21.681        1   Gitlab::I18n#with_user_locale  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/i18n.rb:78
  0.00     21.681     0.000     0.000    21.681        1   Gitlab::I18n#with_locale       /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/i18n.rb:69
  0.00     21.680     0.000     0.000    21.680        1   ApplicationController#set_session_storage /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:479
  0.00     21.680     0.000     0.000    21.680        1   ApplicationController#set_current_admin /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:490
  0.00     21.680     0.000     0.000    21.680        1   EE::ApplicationController#set_current_ip_address /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/controllers/ee/application_controller.rb:43
  0.00     21.680     0.000     0.000    21.680        1   <Class::Gitlab::IpAddressState>#with /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/lib/gitlab/ip_address_state.rb:8
  0.00     21.639     0.000     0.000    21.639        1   ActionController::Rendering#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/rendering.rb:28
  0.00     21.639     0.000     0.000    21.639        1   AbstractController::Base#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/base.rb:194
  0.00     21.639     0.000     0.000    21.639        1   ActionController::BasicImplicitRender#send_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/basic_implicit_render.rb:5
  0.00     21.639     0.000     0.000    21.639        1   Admin::AuditLogReportsController#index /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/controllers/admin/audit_log_reports_controller.rb:6
  0.00     21.624     0.000     0.000    21.624        1   AuditEvents::ExportCsvService#csv_data /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:11
  0.00     21.500     0.000     0.000    21.500        1   AuditEvents::ExportCsvService#csv_builder /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:17
  0.00     19.569     0.000     0.000    19.569        1   CsvBuilder#render              /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:37
  0.00     19.569     0.000     0.000    19.569        1   <Class::Tempfile>#open         /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/tempfile.rb:290
  0.00     19.567     0.000     0.000    19.567        1   CsvBuilder#write_csv           /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:100
  0.00     19.566     0.000     0.000    19.566        1   CsvBuilder#each                /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:76
  0.00     19.566     0.000     0.000    19.566        2  *ActiveRecord::Batches#find_each /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:67
  0.00     19.566     0.000     0.000    19.566        2  *ActiveRecord::Batches#find_in_batches /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:126
  0.00     19.566     0.000     0.000    19.566        2  *ActiveRecord::Batches#in_batches /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:201
  0.00     19.566     0.000     0.000    19.566       15  *Kernel#loop
  1.53     18.901     0.641     0.001    18.259   353721  *Class#new
  0.01     18.708     0.002     0.000    18.705      657  *Thread::Mutex#synchronize
  0.00     18.416     0.000     0.000    18.416        2   ActionDispatch::Routing::Mapper::Constraints#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/mapper.rb:45
  0.00     18.416     0.000     0.000    18.416        1   <Class::Grape::API::Instance>#call /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:64
  0.00     18.408     0.000     0.000    18.408        1   <Class::Grape::API::Instance>#compile! /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:83
  0.00     18.408     0.000     0.000    18.408        1   <Class::Grape::API::Instance>#compile /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:51
  0.00     18.408     0.000     0.000    18.408        1   Grape::API::Instance#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:154
  0.00     17.768     0.002     0.000    17.767     1005   CsvBuilder#row                 /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:90
  0.02     17.669     0.007     0.000    17.662     2157  *Grape::Endpoint#routes         /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:140
  0.01     17.653     0.006     0.000    17.647     1996   Grape::Endpoint#to_routes      /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:170
  0.11     17.638     0.048     0.000    17.590     5030  *Gitlab::Metrics::MethodCall#measure /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/method_call.rb:24
  0.01     17.315     0.002     0.000    17.313     1996   Grape::Endpoint#map_routes     /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:210
  0.01     17.265     0.004     0.000    17.261     1005   #<Module:0x00007ff237cd5f88>#author_name /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/instrumentation.rb:157
  0.01     17.206     0.003     0.000    17.202     1005   AuditEvent#author_name         /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/models/audit_event.rb:59
  0.01     16.991     0.004     0.000    16.987     1005   BatchLoader#method_missing     /Users/tanle/.gem/ruby/2.6.6/gems/batch-loader-1.4.0/lib/batch_loader.rb:72
  0.01     16.964     0.003     0.000    16.961     1005   BatchLoader#__sync!            /Users/tanle/.gem/ruby/2.6.6/gems/batch-loader-1.4.0/lib/batch_loader.rb:76
  0.03     16.899     0.011     0.000    16.888     4026   Module#class_eval
  0.00     16.887     0.002     0.000    16.885     1005   BatchLoader#__replace_with!    /Users/tanle/.gem/ruby/2.6.6/gems/batch-loader-1.4.0/lib/batch_loader.rb:120
  0.00     16.663     0.000     0.000    16.663        1   Grape::API::Instance#add_head_not_allowed_methods_and_options_methods /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:194
  0.04     16.533     0.016     0.000    16.518     1171   Array#collect
  0.00     16.510     0.000     0.000    16.510        1   Grape::API::Instance#collect_route_config_per_pattern /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:222
  0.07     15.652     0.030     0.000    15.622     2462   Grape::Router::Route#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/router/route.rb:48
  0.08     15.570     0.033     0.000    15.537     2462   Grape::Router::Pattern#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/router/pattern.rb:20
  0.02     15.404     0.009     0.000    15.395     2462   <Class::Mustermann::Pattern>#new /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/pattern.rb:50
  0.05     15.281     0.021     0.000    15.259     3162  *Mustermann::EqualityMap#fetch  /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/equality_map.rb:33
  0.43     15.181     0.178     0.000    15.003      700   Mustermann::RegexpBased#initialize /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/regexp_based.rb:17
  0.01     14.966     0.006     0.000    14.960      700   Mustermann::AST::Pattern#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/pattern.rb:79
  1.33     12.684     0.556     0.000    12.128   190622  *Mustermann::AST::Translator#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:113
  1.32     12.435     0.551     0.000    11.884   237981  *Mustermann::AST::Translator::NodeTranslator#t /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:40
  0.11     12.305     0.047     0.000    12.258    16728  *Delegator#method_missing       /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/delegate.rb:78
  0.01     12.119     0.002     0.000    12.117      700   Mustermann::AST::Pattern#to_ast /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/pattern.rb:88
 19.00      8.869     7.951     0.000     0.917  3105873   Module#define_method
  1.21      7.691     0.506     0.000     7.185   190622   Mustermann::AST::Translator#decorator_for /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:105
  0.75      6.622     0.314     0.001     6.307   217745  *Enumerable#inject
  0.01      5.136     0.005     0.000     5.131     1006   Object#methods                 /Users/tanle/.gem/ruby/2.6.6/gems/awesome_print-1.8.0/lib/awesome_print/core_ext/object.rb:16
  4.38      5.123     1.833     0.000     3.289     1725   Method#call
  0.01      3.638     0.004     0.000     3.634      700   Mustermann::AST::Pattern#set_boundaries /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.00      3.632     0.002     0.000     3.630      700   <Class::Mustermann::AST::Boundaries>#set_boundaries /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:11
  1.27      3.606     0.532     0.000     3.075    27514  *#<Class:0x00007ff2b3937a08>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:16
  0.01      3.567     0.004     0.000     3.563     1587  *#<Class:0x00007ff2b3936d60>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:27
  0.01      3.541     0.002     0.000     3.539      700   Mustermann::AST::Pattern#transform /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.00      3.536     0.001     0.000     3.535      700   <Class::Mustermann::AST::Transformer>#transform /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:15
  0.04      3.509     0.017     0.000     3.492     1409  *Mustermann::AST::Transformer::GroupTransformer#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:34
  0.01      3.345     0.005     0.000     3.340     1409  *Mustermann::AST::Transformer::ArrayTransform#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:122
  7.85      3.284     3.284     0.000     0.000     1006   Kernel#methods
  0.00      3.170     0.000     0.000     3.170       14   #<Module:0x00007ff29148fd38>#records /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/active_record60.rb:45
  0.01      2.838     0.003     0.000     2.835      700   <Class::Mustermann::AST::Compiler>#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:142
  0.01      2.832     0.005     0.000     2.827      700   Mustermann::AST::Compiler#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:151
  0.01      2.784     0.004     0.000     2.780      700   Mustermann::AST::Pattern#validate /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.00      2.777     0.001     0.000     2.775      700   <Class::Mustermann::AST::Validation>#validate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:17
  0.14      2.752     0.059     0.000     2.693    25194  *#<Class:0x00007ff2b3974700>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:23
  0.01      2.721     0.004     0.000     2.717     1409  *#<Class:0x00007ff2b3946738>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:14
  0.01      2.721     0.003     0.000     2.719     1587  *#<Class:0x00007ff2b3974458>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:24
  0.01      2.690     0.003     0.000     2.687     1587  *#<Class:0x00007ff2b3946968>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:13
  0.00      2.334     0.000     0.000     2.333        8   ActiveRecord::Relation#skip_query_cache_if_necessary /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:833
  0.00      2.330     0.000     0.000     2.330       14   ActiveRecord::Relation#records /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:249
  0.00      2.330     0.000     0.000     2.330       14   ActiveRecord::Relation#load    /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:625
  0.00      2.330     0.000     0.000     2.330        7   ActiveRecord::Relation::RecordFetchWarning#exec_queries /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/record_fetch_warning.rb:16
  0.00      2.328     0.000     0.000     2.328        7   ActiveRecord::Relation#exec_queries /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:807
  0.00      2.324     0.000     0.000     2.324        7   #<Module:0x00007ff29148ff68>#find_by_sql /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/active_record60.rb:18
  0.30      2.263     0.126     0.000     2.137    76264  *Kernel#tap
  0.02      2.124     0.007     0.000     2.117      700   Mustermann::AST::Pattern#parse /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.00      2.112     0.002     0.000     2.110      700   <Class::Mustermann::AST::Parser>#parse /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:16
  0.00      2.108     0.002     0.000     2.106      700   Mustermann::AST::Parser#parse  /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:56
  0.32      2.104     0.134     0.000     1.970    27514  *Mustermann::AST::Parser#node   /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:68
  0.00      2.093     0.002     0.000     2.091      700   <Class::Mustermann::AST::Node::Root>#parse /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/node.rb:168
  0.19      2.087     0.079     0.000     2.009     3877  *Mustermann::AST::Node#parse    /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/node.rb:56
  0.23      2.072     0.096     0.000     1.976    26105  *#<Class:0x00007ff2b3965930>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:20
  0.23      2.034     0.098     0.000     1.935    55580   ActiveRecord::AttributeMethods::Read#_read_attribute /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/attribute_methods/read.rb:37
  0.45      1.967     0.187     0.000     1.780    26103  *Mustermann::AST::Parser#read   /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:87
  0.00      1.932     0.000     0.000     1.932        1   AuditEvents::ExportCsvService#data /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:21
  0.00      1.932     0.000     0.000     1.932        1   AuditLogFinder#execute         /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/finders/audit_log_finder.rb:30
  0.19      1.916     0.079     0.000     1.836    55580   ActiveModel::AttributeSet#fetch_value /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute_set.rb:40
  0.00      1.789     0.000     0.000     1.789        7   ActiveRecord::Delegation#each  /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:87
  0.00      1.751     0.000     0.000     1.751        1   <Class::Gitlab::Audit::Events::Preloader>#preload! /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/lib/gitlab/audit/events/preloader.rb:7
  0.00      1.749     0.000     0.000     1.749        7   ActiveRecord::Querying#find_by_sql /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/querying.rb:45
  0.00      1.635     0.002     0.000     1.633      869  *Enumerable#map
  0.00      1.606     0.000     0.000     1.606        7   ActiveRecord::Result#each      /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/result.rb:60
  0.01      1.569     0.006     0.000     1.563     2013   ActiveRecord::Persistence::ClassMethods#instantiate_instance_of /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/persistence.rb:401
  0.15      1.538     0.064     0.000     1.474    55589   ActiveModel::Attribute#value   /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute.rb:40
  0.02      1.534     0.008     0.000     1.525     2013   ActiveRecord::Core#init_with_attributes /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/core.rb:355
  0.02      1.529     0.010     0.000     1.519     1996   Grape::Endpoint#prepare_path   /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:214
  0.05      1.498     0.020     0.000     1.477     3992   Grape::Util::InheritableSetting#to_hash /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/inheritable_setting.rb:90
  0.05      1.474     0.021     0.000     1.453    17103   ActiveModel::Attribute::FromDatabase#type_cast /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute.rb:163
  0.01      1.460     0.002     0.000     1.458     2013   ActiveRecord::Base#_run_initialize_callbacks /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:824
  0.00      1.415     0.002     0.000     1.413     2027   ActiveSupport::Callbacks::CallbackSequence#invoke_after /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:516
  0.02      1.394     0.009     0.000     1.384     6432   AuditEvent::GeneratedAttributeMethods#details /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/attribute_methods/read.rb:15
  0.03      1.367     0.013     0.000     1.354     7984   Grape::Util::StackableValues#to_hash /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/stackable_values.rb:23
  0.01      1.364     0.003     0.000     1.361     2010   AuditEvent#initialize_details  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/models/audit_event.rb:55
  0.00      1.322     0.000     0.000     1.322       35  *ActiveRecord::Relation#scoping /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:406
  0.00      1.322     0.000     0.000     1.322       39  *ActiveRecord::Relation#_scoping /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:782
  0.01      1.318     0.004     0.000     1.315     1159  *Grape::Endpoint#mount_in       /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:150
  0.02      1.308     0.006     0.000     1.302     2010   ActiveRecord::Type::Serialized#deserialize /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/type/serialized.rb:18
  0.23      1.299     0.097     0.000     1.202    18682   #<Class:0x00007ff2b3945bf8>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:17
  0.00      1.293     0.000     0.000     1.293        6   ActiveRecord::Delegation::ClassSpecificRelation#method_missing /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:104
  0.03      1.277     0.014     0.000     1.263     4020   ActiveRecord::Coders::YAMLColumn#load /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/coders/yaml_column.rb:23
  0.02      1.252     0.008     0.000     1.244     2010   <Module::Psych>#load           /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych.rb:271
  0.33      1.194     0.140     0.000     1.054    20147   Mustermann::AST::Compiler#encoded /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:126
  0.00      1.141     0.000     0.000     1.141        3   ActiveRecord::QueryCache::ClassMethods#uncached /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/query_cache.rb:19
  0.00      1.140     0.000     0.000     1.140        3   ActiveRecord::ConnectionAdapters::QueryCache#uncached /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/query_cache.rb:77
  0.03      1.133     0.013     0.000     1.121    10452   Enumerable#each_with_object
  0.41      1.114     0.170     0.000     0.944    30180   Object#bullet_primary_key_value /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/ext/object.rb:8
  1.70      1.088     0.713     0.000     0.374   342664  *Grape::Util::StackableValues#[] /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/stackable_values.rb:9
  0.00      0.953     0.000     0.000     0.953        1   ActionDispatch::Journey::Router#find_routes /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/journey/router.rb:107
  2.19      0.918     0.918     0.000     0.000  3105906   BasicObject#singleton_method_added
  0.14      0.864     0.059     0.000     0.805    20120   Object#bullet_key              /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/ext/object.rb:4
  0.76      0.843     0.317     0.000     0.526   190622   Mustermann::AST::Translator::NodeTranslator#initialize /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:30

* recursively called methods

Noticeable trace:

19.00 8.869 7.951 0.000 0.917 3105873 Module#define_method

After

Total: 29.875720 msec
[2] pry(main)> Gitlab::Profiler.print_by_total_time(result, min_percent: 2)
Measure Mode: wall_time
Thread ID: 70140381298640
Fiber ID: 70139457717100
Total: 29.875720
Sort by: total_time

 %self      total      self      wait     child     calls  name                           location
  0.00     29.876     0.000     0.000    29.876        1   <Module::Gitlab::Profiler>#profile /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/profiler.rb:78
  0.09     29.876     0.026     0.000    29.850    17966  *Kernel#public_send
  0.00     29.876     0.000     0.000    29.876        1   ActionDispatch::Integration::RequestHelpers#get /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/testing/integration.rb:17
  0.00     29.876     0.000     0.000    29.876        1   ActionDispatch::Integration::Session#process /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/testing/integration.rb:211
  0.00     29.875     0.000     0.000    29.875        1   Rack::Test::Session#request    /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/test.rb:116
  0.00     29.875     0.000     0.000    29.875        1   Rack::Test::Session#process_request /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/test.rb:265
  0.00     29.875     0.000     0.000    29.875        1   Rack::MockSession#request      /Users/tanle/.gem/ruby/2.6.6/gems/rack-test-1.1.0/lib/rack/mock_session.rb:26
  0.00     29.874     0.000     0.000    29.874        1   Rails::Engine#call             /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/engine.rb:525
  0.00     29.874     0.000     0.000    29.874        1   Raven::Rack#call               /Users/tanle/.gem/ruby/2.6.6/gems/sentry-raven-3.0.4/lib/raven/integrations/rack.rb:43
  0.00     29.874     0.000     0.000    29.874        1   Gitlab::Metrics::RequestsRackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/requests_rack_middleware.rb:47
  0.00     29.874     0.000     0.000    29.874        1   ActionDispatch::HostAuthorization#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/host_authorization.rb:75
  0.00     29.874     0.000     0.000    29.874        1   Rack::Sendfile#call            /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/sendfile.rb:110
  0.00     29.874     0.000     0.000    29.874        1   Rack::Proxy#call               /Users/tanle/.gem/ruby/2.6.6/gems/rack-proxy-0.6.0/lib/rack/proxy.rb:56
  0.00     29.874     0.000     0.000    29.874        1   Gitlab::Webpack::DevServerMiddleware#perform_request /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/webpack/dev_server_middleware.rb:18
  0.00     29.874     0.000     0.000    29.874        1   Gitlab::Middleware::Static#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/static.rb:8
  0.00     29.874     0.000     0.000    29.874        1   ActionDispatch::Static#call    /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/static.rb:115
  0.00     29.874     0.000     0.000    29.873        2  *ActionDispatch::Executor#call  /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/executor.rb:11
  0.00     29.731     0.000     0.000    29.731        1   LocalCacheRegistryCleanupWithEnsure#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/config/initializers/fix_local_cache_middleware.rb:7
  0.00     29.731     0.000     0.000    29.731        1   Rack::Runtime#call             /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/runtime.rb:20
  0.00     29.729     0.000     0.000    29.729        1   Rack::MethodOverride#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/method_override.rb:13
  0.00     29.729     0.000     0.000    29.729        1   ActionDispatch::RequestId#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/request_id.rb:24
  0.00     29.729     0.000     0.000    29.729        1   RequestStore::Middleware#call  /Users/tanle/.gem/ruby/2.6.6/gems/request_store-1.5.0/lib/request_store/middleware.rb:16
  0.00     29.729     0.000     0.000    29.729        1   Gitlab::Middleware::RequestContext#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/request_context.rb:10
  0.00     29.728     0.000     0.000    29.728        1   Gitlab::Middleware::HandleIpSpoofAttackError#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:24
  0.00     29.728     0.000     0.000    29.728        1   ActionDispatch::RemoteIp#call  /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/remote_ip.rb:78
  0.00     29.728     0.000     0.000    29.728        1   Sprockets::Rails::QuietAssets#call /Users/tanle/.gem/ruby/2.6.6/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:9
  0.00     29.728     0.000     0.000    29.728        1   Rails::Rack::Logger#call       /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:22
  0.00     29.728     0.000     0.000    29.728        1   ActiveSupport::TaggedLogging#tagged /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:79
  0.00     29.728     0.000     0.000    29.728        1   ActiveSupport::TaggedLogging::Formatter#tagged /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:26
  0.00     29.728     0.000     0.000    29.728        1   Rails::Rack::Logger#call_app   /Users/tanle/.gem/ruby/2.6.6/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:33
  0.00     29.727     0.000     0.000    29.727        1   Gitlab::Middleware::BasicHealthCheck#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/basic_health_check.rb:24
  0.00     29.727     0.000     0.000    29.727        1   ActionDispatch::ShowExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/show_exceptions.rb:31
  0.00     29.727     0.000     0.000    29.727        1   ActionDispatch::DebugExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:30
  0.00     29.727     0.000     0.000    29.727        1   BetterErrors::Middleware#call  /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:55
  0.00     29.726     0.000     0.000    29.726        1   BetterErrors::Middleware#better_errors_call /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:72
  0.00     29.726     0.000     0.000    29.726        1   BetterErrors::Middleware#protected_app_call /Users/tanle/.gem/ruby/2.6.6/gems/better_errors-2.7.1/lib/better_errors/middleware.rb:83
  0.00     29.726     0.000     0.000    29.726        1   ActionDispatch::ActionableExceptions#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/actionable_exceptions.rb:15
  0.08     29.615     0.023     0.000    29.592     4039  *ActiveSupport::Callbacks#run_callbacks /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:97
  0.00     29.472     0.000     0.000    29.472        1   ActionDispatch::Callbacks#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/callbacks.rb:24
  0.00     29.471     0.000     0.000    29.471        1   ActiveRecord::Migration::CheckPending#call /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/migration.rb:561
  0.00     29.051     0.000     0.000    29.051       10  *Kernel#catch
 15.93     29.021     4.760     0.000    24.261   290337  *Array#each
  0.00     28.909     0.000     0.000    28.909        1   Gitlab::Middleware::SameSiteCookies#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/same_site_cookies.rb:26
  0.00     28.909     0.000     0.000    28.909        1   ActionDispatch::Cookies#call   /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/cookies.rb:645
  0.00     28.909     0.000     0.000    28.909        1   Rack::Session::Abstract::Persisted#call /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:252
  0.00     28.909     0.000     0.000    28.909        1   Rack::Session::Abstract::Persisted#context /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/session/abstract/id.rb:256
  0.00     28.909     0.000     0.000    28.909        1   Gitlab::Middleware::ReadOnly#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/read_only.rb:17
  0.00     28.909     0.000     0.000    28.908        1   Gitlab::Middleware::ReadOnly::Controller#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/read_only/controller.rb:37
  0.00     28.908     0.000     0.000    28.908        1   ActionDispatch::ContentSecurityPolicy::Middleware#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/http/content_security_policy.rb:16
  0.00     28.908     0.000     0.000    28.908        1   Rack::Head#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/head.rb:11
  0.00     28.908     0.000     0.000    28.908        1   Rack::ConditionalGet#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/conditional_get.rb:22
  0.00     28.908     0.000     0.000    28.908        1   Rack::ETag#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/etag.rb:24
  0.00     28.908     0.000     0.000    28.908        1   Rack::TempfileReaper#call      /Users/tanle/.gem/ruby/2.6.6/gems/rack-2.0.9/lib/rack/tempfile_reaper.rb:13
  0.00     28.908     0.000     0.000    28.908        1   Rack::Cors#call                /Users/tanle/.gem/ruby/2.6.6/gems/rack-cors-1.0.6/lib/rack/cors.rb:64
  0.00     28.908     0.000     0.000    28.908        1   Warden::Manager#call           /Users/tanle/.gem/ruby/2.6.6/gems/warden-1.2.8/lib/warden/manager.rb:30
  0.00     28.908     0.000     0.000    28.908        2  *Rack::Attack#call              /Users/tanle/.gem/ruby/2.6.6/gems/rack-attack-6.3.0/lib/rack/attack.rb:96
  0.00     28.885     0.000     0.000    28.885        1   Gitlab::Middleware::Multipart#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/multipart.rb:215
  0.00     28.885     0.000     0.000    28.885        1   ApolloUploadServer::Middleware#call /Users/tanle/.gem/ruby/2.6.6/gems/apollo_upload_server-2.0.2/lib/apollo_upload_server/middleware.rb:9
  0.00     28.884     0.000     0.000    28.884        1   Bullet::Rack#call              /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/rack.rb:11
  0.00     28.879     0.000     0.000    28.879        1   BatchLoader::Middleware#call   /Users/tanle/.gem/ruby/2.6.6/gems/batch-loader-1.4.0/lib/batch_loader/middleware.rb:9
  0.00     28.879     0.000     0.000    28.879        1   Gitlab::EtagCaching::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/etag_caching/middleware.rb:10
  0.00     28.879     0.000     0.000    28.879        1   Gitlab::Middleware::Go#call    /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/go.rb:17
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::Jira::Middleware#call  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/jira/middleware.rb:14
  0.00     28.878     0.000     0.000    28.878        1   Labkit::Middleware::Rack#call  /Users/tanle/.gem/ruby/2.6.6/gems/gitlab-labkit-0.12.1/lib/labkit/middleware/rack.rb:17
  0.00     28.878     0.000     0.000    28.878        2  *<Class::Labkit::Context>#with_context /Users/tanle/.gem/ruby/2.6.6/gems/gitlab-labkit-0.12.1/lib/labkit/context.rb:28
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::QueryLimiting::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/query_limiting/middleware.rb:15
  0.00     28.878     0.000     0.000    28.878        1   <Class::Gitlab::QueryLimiting::Transaction>#run /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/query_limiting/transaction.rb:35
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::RequestProfiler::Middleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/request_profiler/middleware.rb:13
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::Metrics::RackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/rack_middleware.rb:12
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::Metrics::Transaction#run /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/transaction.rb:55
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::Middleware::RailsQueueDuration#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/middleware/rails_queue_duration.rb:16
  0.00     28.878     0.000     0.000    28.878        1   Gitlab::Metrics::ElasticsearchRackMiddleware#call /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/metrics/elasticsearch_rack_middleware.rb:13
  0.00     28.878     0.000     0.000    28.878        1   OmniAuth::Strategy#call        /Users/tanle/.gem/ruby/2.6.6/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:168
  0.00     28.877     0.000     0.000    28.877        1   OmniAuth::Strategy#call!       /Users/tanle/.gem/ruby/2.6.6/gems/omniauth-1.9.0/lib/omniauth/strategy.rb:177
  0.00     28.876     0.000     0.000    28.876        1   ActionDispatch::Routing::RouteSet#call /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:831
  0.00     28.876     0.000     0.000    28.876        1   ActionDispatch::Journey::Router#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/journey/router.rb:31
  1.68     24.885     0.501     0.000    24.383    40391  *Array#map
  2.68     23.539     0.800     0.001    22.739   354143  *Class#new
  0.01     23.375     0.003     0.000    23.372      765  *Thread::Mutex#synchronize
  0.00     23.062     0.000     0.000    23.062        2   ActionDispatch::Routing::Mapper::Constraints#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/mapper.rb:45
  0.00     23.062     0.000     0.000    23.062        1   <Class::Grape::API::Instance>#call /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:64
  0.00     23.052     0.000     0.000    23.052        1   <Class::Grape::API::Instance>#compile! /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:83
  0.00     23.052     0.000     0.000    23.052        1   <Class::Grape::API::Instance>#compile /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:51
  0.00     23.052     0.000     0.000    23.052        1   Grape::API::Instance#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:154
  0.03     22.197     0.008     0.000    22.188     2157  *Grape::Endpoint#routes         /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:140
  0.02     22.177     0.006     0.000    22.171     1996   Grape::Endpoint#to_routes      /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:170
  0.01     21.795     0.003     0.000    21.792     1996   Grape::Endpoint#map_routes     /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:210
  0.00     21.148     0.000     0.000    21.148        1   Grape::API::Instance#add_head_not_allowed_methods_and_options_methods /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:194
  0.05     20.983     0.016     0.000    20.967     1172   Array#collect
  0.00     20.966     0.000     0.000    20.966        1   Grape::API::Instance#collect_route_config_per_pattern /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/api/instance.rb:222
  0.14     19.859     0.041     0.000    19.819     2462   Grape::Router::Route#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/router/route.rb:48
  0.12     19.759     0.037     0.000    19.722     2462   Grape::Router::Pattern#initialize /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/router/pattern.rb:20
  0.03     19.567     0.010     0.000    19.557     2462   <Class::Mustermann::Pattern>#new /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/pattern.rb:50
  0.10     19.414     0.028     0.000    19.385     3162  *Mustermann::EqualityMap#fetch  /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/equality_map.rb:33
  0.70     19.296     0.210     0.000    19.086      700   Mustermann::RegexpBased#initialize /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/regexp_based.rb:17
  0.02     19.039     0.007     0.000    19.032      700   Mustermann::AST::Pattern#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/pattern.rb:79
  2.29     16.061     0.684     0.000    15.377   190622  *Mustermann::AST::Translator#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:113
  2.17     15.761     0.650     0.001    15.111   237981  *Mustermann::AST::Translator::NodeTranslator#t /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:40
  0.18     15.431     0.053     0.000    15.379    16728  *Delegator#method_missing       /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/delegate.rb:78
  0.01     14.954     0.003     0.000    14.952      700   Mustermann::AST::Pattern#to_ast /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/pattern.rb:88
  1.98      9.714     0.591     0.000     9.123   190622   Mustermann::AST::Translator#decorator_for /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:105
  2.16      8.177     0.646     0.000     7.531   217755  *Enumerable#inject
  0.01      4.939     0.002     0.000     4.937     2029  *ActiveSupport::Callbacks::CallbackSequence#invoke_before /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:512
  0.00      4.916     0.000     0.000     4.916        1   ActionDispatch::Routing::RouteSet::Dispatcher#serve /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:29
  0.00      4.916     0.000     0.000     4.916        1   ActionDispatch::Routing::RouteSet::Dispatcher#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/routing/route_set.rb:49
  0.00      4.916     0.000     0.000     4.916        1   <Class::ActionController::Metal>#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal.rb:250
  0.00      4.916     0.000     0.000     4.916        1   ActionController::Metal#dispatch /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal.rb:187
  0.00      4.916     0.000     0.000     4.916        1   ActionView::Rendering#process  /Users/tanle/.gem/ruby/2.6.6/gems/actionview-6.0.3.1/lib/action_view/rendering.rb:37
  0.00      4.909     0.000     0.000     4.909        1   AbstractController::Base#process /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/base.rb:127
  0.00      4.896     0.001     0.000     4.895       63  *ActiveSupport::Notifications::Instrumenter#instrument /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/notifications/instrumenter.rb:20
  0.00      4.882     0.000     0.000     4.881       37  *<Module::ActiveSupport::Notifications>#instrument /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:178
  0.00      4.877     0.000     0.000     4.877        1   ActiveRecord::Railties::ControllerRuntime#process_action /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/railties/controller_runtime.rb:22
  0.00      4.877     0.000     0.000     4.877        1   ActionController::ParamsWrapper#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/params_wrapper.rb:243
  0.00      4.877     0.000     0.000     4.877        1   ActionController::Instrumentation#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/instrumentation.rb:19
  0.00      4.877     0.000     0.000     4.877       11  *BasicObject#instance_exec
  0.00      4.875     0.000     0.000     4.875        1   ActionController::Rescue#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/rescue.rb:21
  0.00      4.875     0.000     0.000     4.875        1   AbstractController::Callbacks#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/callbacks.rb:40
  0.00      4.874     0.000     0.000     4.874        1   ApplicationController#set_current_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:461
  0.00      4.874     0.000     0.000     4.874        1   <Class::Gitlab::ApplicationContext>#with_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/application_context.rb:18
  0.00      4.873     0.000     0.000     4.873        1   Gitlab::ApplicationContext#use /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/application_context.rb:51
  0.00      4.846     0.000     0.000     4.846        1   Marginalia::ActionControllerInstrumentation#record_query_comment /Users/tanle/.gem/ruby/2.6.6/gems/marginalia-1.9.0/lib/marginalia.rb:109
  0.00      4.841     0.000     0.000     4.841        1   ApplicationController#sentry_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:540
  0.00      4.841     0.000     0.000     4.841        1   <Module::Gitlab::ErrorTracking>#with_context /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/error_tracking.rb:40
  0.00      4.838     0.000     0.000     4.838        1   SessionlessAuthentication#sessionless_bypass_admin_mode! /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/concerns/sessionless_authentication.rb:29
  0.00      4.838     0.000     0.000     4.837        7  *<Class::Feature>#enabled?      /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/feature.rb:61
  0.00      4.790     0.000     0.000     4.790        1   ApplicationController#set_locale /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:475
  0.00      4.790     0.000     0.000     4.790        1   Gitlab::I18n#with_user_locale  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/i18n.rb:78
  0.00      4.789     0.000     0.000     4.789        1   Gitlab::I18n#with_locale       /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/gitlab/i18n.rb:69
  0.00      4.789     0.000     0.000     4.789        1   ApplicationController#set_session_storage /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:479
  0.00      4.788     0.000     0.000     4.788        1   ApplicationController#set_current_admin /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/controllers/application_controller.rb:490
  0.00      4.788     0.000     0.000     4.788        1   EE::ApplicationController#set_current_ip_address /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/controllers/ee/application_controller.rb:43
  0.00      4.788     0.000     0.000     4.788        1   <Class::Gitlab::IpAddressState>#with /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/lib/gitlab/ip_address_state.rb:8
  0.00      4.788     0.000     0.000     4.788        1   Admin::AuditLogReportsController#validate_audit_log_reports_available! /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/controllers/admin/audit_log_reports_controller.rb:22
  0.00      4.670     0.000     0.000     4.670        1   ActionController::Rendering#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/rendering.rb:28
  0.00      4.670     0.000     0.000     4.670        1   AbstractController::Base#process_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/abstract_controller/base.rb:194
  0.00      4.670     0.000     0.000     4.670        1   ActionController::BasicImplicitRender#send_action /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_controller/metal/basic_implicit_render.rb:5
  0.00      4.670     0.000     0.000     4.670        1   Admin::AuditLogReportsController#index /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/controllers/admin/audit_log_reports_controller.rb:6
  0.00      4.652     0.000     0.000     4.652        1   AuditEvents::ExportCsvService#csv_data /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:11
  0.00      4.652     0.000     0.000     4.652        1   AuditEvents::ExportCsvService#csv_builder /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:17
  0.01      4.622     0.003     0.000     4.619      700   Mustermann::AST::Pattern#transform /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.00      4.616     0.001     0.000     4.614      700   <Class::Mustermann::AST::Transformer>#transform /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:15
  0.06      4.581     0.019     0.000     4.561     1409  *Mustermann::AST::Transformer::GroupTransformer#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:34
  0.00      4.519     0.000     0.000     4.519        1   AuditEvents::ExportCsvService#data /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/services/audit_events/export_csv_service.rb:21
  0.17      4.392     0.051     0.000     4.341     1409  *Mustermann::AST::Transformer::ArrayTransform#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:122
  0.01      4.074     0.004     0.000     4.070      700   <Class::Mustermann::AST::Compiler>#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:142
  0.02      4.069     0.007     0.000     4.062      700   Mustermann::AST::Compiler#compile /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:151
  0.02      4.060     0.006     0.000     4.054      700   Mustermann::AST::Pattern#set_boundaries /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.01      4.051     0.002     0.000     4.049      700   <Class::Mustermann::AST::Boundaries>#set_boundaries /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:11
  0.64      4.019     0.191     0.000     3.828    27514  *#<Class:0x00007f95abf3e178>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:16
  0.02      3.973     0.005     0.000     3.968     1587  *#<Class:0x00007f95abf3d930>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/boundaries.rb:27
  0.04      3.932     0.011     0.000     3.921     1409  *#<Class:0x00007f95abf4dce0>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:14
  0.01      3.890     0.004     0.000     3.886     1587  *#<Class:0x00007f95abf4dec0>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:13
  0.01      3.453     0.003     0.000     3.450      700   Mustermann::AST::Pattern#validate /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.01      3.447     0.004     0.000     3.443      700   <Class::Mustermann::AST::Validation>#validate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:17
  0.30      3.411     0.091     0.000     3.320    25194  *#<Class:0x00007f95abf6cb90>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:23
  0.02      3.371     0.005     0.000     3.365     1587  *#<Class:0x00007f95abf6c938>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/validation.rb:24
  0.00      3.361     0.000     0.000     3.360       29   #<Module:0x00007f952cce6710>#records /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/active_record60.rb:45
  0.02      2.769     0.005     0.000     2.764      700   Mustermann::AST::Pattern#parse /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/forwardable.rb:221
  0.01      2.758     0.002     0.000     2.756      700   <Class::Mustermann::AST::Parser>#parse /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:16
  0.01      2.751     0.002     0.000     2.749      700   Mustermann::AST::Parser#parse  /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:56
  0.71      2.746     0.213     0.000     2.534    27514  *Mustermann::AST::Parser#node   /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:68
  0.01      2.730     0.002     0.000     2.727      700   <Class::Mustermann::AST::Node::Root>#parse /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/node.rb:168
  0.35      2.723     0.105     0.000     2.618     3877  *Mustermann::AST::Node#parse    /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/node.rb:56
  0.50      2.685     0.149     0.000     2.536    26105  *#<Class:0x00007f95abf5c380>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/transformer.rb:20
  0.46      2.683     0.138     0.000     2.546    75262  *Kernel#tap
  0.00      2.618     0.000     0.000     2.618        1   CsvBuilder#render              /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:37
  0.00      2.618     0.000     0.000     2.618        1   <Class::Tempfile>#open         /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/tempfile.rb:290
  0.00      2.617     0.000     0.000     2.617        1   CsvBuilder#write_csv           /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:100
  0.00      2.617     0.000     0.000     2.617        1   CsvBuilder#each                /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:76
  0.00      2.617     0.000     0.000     2.617        2  *ActiveRecord::Batches#find_each /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:67
  0.00      2.617     0.000     0.000     2.617        2  *ActiveRecord::Batches#find_in_batches /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:126
  0.00      2.617     0.000     0.000     2.617        2  *ActiveRecord::Batches#in_batches /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/batches.rb:201
  0.00      2.617     0.000     0.000     2.617       21  *Kernel#loop
  0.85      2.569     0.254     0.000     2.315    26103  *Mustermann::AST::Parser#read   /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:87
  0.00      2.536     0.000     0.000     2.536       11   ActiveRecord::Relation#skip_query_cache_if_necessary /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:833
  0.00      2.531     0.000     0.000     2.531       29   ActiveRecord::Relation#records /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:249
  0.00      2.531     0.000     0.000     2.531       29   ActiveRecord::Relation#load    /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:625
  0.00      2.531     0.000     0.000     2.531       10   ActiveRecord::Relation::RecordFetchWarning#exec_queries /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/record_fetch_warning.rb:16
  0.00      2.529     0.000     0.000     2.529       10   ActiveRecord::Relation#exec_queries /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:807
  0.00      2.524     0.000     0.000     2.524       10   #<Module:0x00007f952cce67d8>#find_by_sql /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/active_record60.rb:18
  0.59      2.044     0.176     0.000     1.868    18682   #<Class:0x00007f95abf4d308>#translate /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:17
  0.32      1.998     0.095     0.000     1.903    55676   ActiveRecord::AttributeMethods::Read#_read_attribute /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/attribute_methods/read.rb:37
  0.00      1.994     0.000     0.000     1.994       22   ActiveRecord::Delegation#each  /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:87
  0.00      1.941     0.000     0.000     1.941       10   ActiveRecord::Querying#find_by_sql /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/querying.rb:45
  0.00      1.900     0.000     0.000     1.900        1   AuditLogFinder#execute         /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/finders/audit_log_finder.rb:30
  0.00      1.898     0.000     0.000     1.898        1   AuditLogFinder#sort            /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/app/finders/audit_log_finder.rb:71
  0.60      1.885     0.181     0.000     1.705    20147   Mustermann::AST::Compiler#encoded /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/compiler.rb:126
  0.26      1.882     0.079     0.000     1.803    55676   ActiveModel::AttributeSet#fetch_value /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute_set.rb:40
  0.00      1.850     0.000     0.000     1.850        1   <Class::Gitlab::Audit::Events::Preloader>#preload! /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/ee/lib/gitlab/audit/events/preloader.rb:7
  0.01      1.787     0.002     0.000     1.785      892  *Enumerable#map
  0.04      1.753     0.012     0.000     1.742     1996   Grape::Endpoint#prepare_path   /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:214
  0.00      1.753     0.000     0.000     1.753       10   ActiveRecord::Result#each      /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/result.rb:60
  0.02      1.717     0.006     0.000     1.711     2016   ActiveRecord::Persistence::ClassMethods#instantiate_instance_of /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/persistence.rb:401
  0.07      1.711     0.021     0.000     1.689     3992   Grape::Util::InheritableSetting#to_hash /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/inheritable_setting.rb:90
  0.03      1.673     0.008     0.000     1.665     2016   ActiveRecord::Core#init_with_attributes /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/core.rb:355
  5.25      1.569     1.569     0.000     0.000  1090137   Module#name
  0.01      1.560     0.002     0.000     1.558     2016   ActiveRecord::Base#_run_initialize_callbacks /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:824
  0.05      1.555     0.016     0.000     1.539     7984   Grape::Util::StackableValues#to_hash /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/stackable_values.rb:23
  0.21      1.522     0.063     0.000     1.459    55687   ActiveModel::Attribute#value   /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute.rb:40
  0.01      1.515     0.002     0.000     1.513     2029   ActiveSupport::Callbacks::CallbackSequence#invoke_after /Users/tanle/.gem/ruby/2.6.6/gems/activesupport-6.0.3.1/lib/active_support/callbacks.rb:516
  0.41      1.464     0.123     0.000     1.342     2012   AuditEvent#initialize_details  /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/app/models/audit_event.rb:55
  0.06      1.459     0.019     0.000     1.440    17121   ActiveModel::Attribute::FromDatabase#type_cast /Users/tanle/.gem/ruby/2.6.6/gems/activemodel-6.0.3.1/lib/active_model/attribute.rb:163
  0.01      1.400     0.004     0.000     1.396     1159  *Grape::Endpoint#mount_in       /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/endpoint.rb:150
  0.03      1.376     0.010     0.000     1.366     6438   AuditEvent::GeneratedAttributeMethods#details /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/attribute_methods/read.rb:15
  0.02      1.299     0.006     0.000     1.293     2012   ActiveRecord::Type::Serialized#deserialize /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/type/serialized.rb:18
  0.05      1.279     0.015     0.000     1.264    10452   Enumerable#each_with_object
  0.05      1.270     0.013     0.000     1.256     4024   ActiveRecord::Coders::YAMLColumn#load /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/coders/yaml_column.rb:23
  0.03      1.244     0.008     0.000     1.237     2012   <Module::Psych>#load           /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych.rb:271
  2.63      1.236     0.785     0.001     0.450   342664  *Grape::Util::StackableValues#[] /Users/tanle/.gem/ruby/2.6.6/gems/grape-1.4.0/lib/grape/util/stackable_values.rb:9
  0.00      1.154     0.000     0.000     1.154       44  *ActiveRecord::Relation#scoping /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:406
  0.00      1.154     0.000     0.000     1.154       48  *ActiveRecord::Relation#_scoping /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation.rb:782
  0.00      1.128     0.000     0.000     1.127        6   ActiveRecord::Delegation::ClassSpecificRelation#method_missing /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/relation/delegation.rb:104
  0.58      1.121     0.173     0.000     0.947    30246   Object#bullet_primary_key_value /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/ext/object.rb:8
  0.00      1.102     0.000     0.000     1.102        3   ActiveRecord::QueryCache::ClassMethods#uncached /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/query_cache.rb:19
  0.00      1.102     0.000     0.000     1.102        3   ActiveRecord::ConnectionAdapters::QueryCache#uncached /Users/tanle/.gem/ruby/2.6.6/gems/activerecord-6.0.3.1/lib/active_record/connection_adapters/abstract/query_cache.rb:77
  0.00      0.897     0.000     0.000     0.897        1   ActionDispatch::Journey::Router#find_routes /Users/tanle/.gem/ruby/2.6.6/gems/actionpack-6.0.3.1/lib/action_dispatch/journey/router.rb:107
  1.08      0.873     0.322     0.000     0.551   190622   Mustermann::AST::Translator::NodeTranslator#initialize /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:30
  0.18      0.857     0.055     0.000     0.802    20164   Object#bullet_key              /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/ext/object.rb:4
  0.01      0.839     0.002     0.000     0.837     1006   CsvBuilder#row                 /Users/tanle/Code/gitlab/gitlab-development-kit/gitlab/lib/csv_builder.rb:90
  0.36      0.805     0.106     0.000     0.699    40294   Mustermann::AST::Translator#escape /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:121
  0.01      0.797     0.003     0.000     0.793     2012   Psych::Nodes::Node#to_ruby     /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/nodes/node.rb:49
  2.60      0.777     0.777     0.000     0.000  1089785   <Class::Mustermann::AST::Translator>#dispatch_table /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/translator.rb:51
  0.18      0.762     0.053     0.000     0.709    26103   Mustermann::AST::Parser#read_suffix /Users/tanle/.gem/ruby/2.6.6/gems/mustermann-1.1.1/lib/mustermann/ast/parser.rb:112
  0.13      0.757     0.039     0.000     0.718    25756  *Psych::Visitors::ToRuby#accept /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/to_ruby.rb:31
  0.09      0.754     0.026     0.000     0.729    25756  *Psych::Visitors::Visitor#accept /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/visitor.rb:5
  0.26      0.752     0.078     0.000     0.674    25756  *Psych::Visitors::Visitor#visit /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/visitor.rb:15
  0.01      0.742     0.003     0.000     0.739     2012   Psych::Visitors::ToRuby#visit_Psych_Nodes_Document /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/to_ruby.rb:310
  2.47      0.739     0.739     0.000     0.000    31829   Regexp#initialize
  0.02      0.724     0.005     0.000     0.719     2012   Psych::Visitors::ToRuby#visit_Psych_Nodes_Mapping /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/to_ruby.rb:158
  0.01      0.717     0.003     0.000     0.714     2012   Psych::Visitors::ToRuby#revive_hash /Users/tanle/.rubies/2.6.6/lib/ruby/2.6.0/psych/visitors/to_ruby.rb:335
  0.00      0.717     0.000     0.000     0.717        8   <Class::Bullet::Detector::NPlusOneQuery>#add_possible_objects /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/detector/n_plus_one_query.rb:32
  0.01      0.714     0.004     0.000     0.710     2012   Enumerable#each_slice
  0.00      0.689     0.000     0.000     0.689        8   <Class::Bullet::Detector::CounterCache>#add_possible_objects /Users/tanle/.gem/ruby/2.6.6/gems/bullet-6.1.0/lib/bullet/detector/counter_cache.rb:19

* recursively called methods

Does this MR meet the acceptance criteria?

Conformity

Availability and Testing

Security

If this MR contains changes to processing or storing of credentials or tokens, authorization and authentication methods and other items described in the security review guidelines:

  • [-] Label as security and @ mention @gitlab-com/gl-security/appsec
  • [-] The MR includes necessary changes to maintain consistency between UI, API, email, or other methods
  • [-] Security reports checked/validated by a reviewer from the AppSec team

Relates #246742 (closed)

Edited by Tan Le

Merge request reports