Improve loading time for large number of events
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
-
Changelog entry -
Documentation (if required) -
Code review guidelines -
Merge request performance guidelines -
Style guides -
Database guides -
Separation of EE specific content
Availability and Testing
-
Review and add/update tests for this feature/bug. Consider all test levels. See the Test Planning Process. - [-] Tested in all supported browsers
- [-] Informed Infrastructure department of a default or new setting change, if applicable per definition of done
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