Sha256: b5f9acf17987edcef4eaf31099be3ac48c44e752eb92c13b36af700132182bd0

Contents?: true

Size: 1.23 KB

Versions: 20

Compression:

Stored size: 1.23 KB

Contents

class Kuroko2::JobDefinitionStatsController < Kuroko2::ApplicationController
  def index
    set_definition
  end

  def execution_time
    set_definition
    set_period

    @logs = Kuroko2::JobInstance.where(job_definition_id: params[:job_definition_id]).
      order(created_at: :desc)
    if @start_at
      @logs = @logs.where(created_at: @start_at..@end_at)
    else
      @logs = @logs.limit(10)
    end
  end

  def memory
    set_definition
    set_period

    target_instance = Kuroko2::JobInstance.where(job_definition_id: params[:job_definition_id])
    if @start_at
      target_instance = target_instance.where(created_at: @start_at..@end_at)
    end

    @logs = Kuroko2::MemoryConsumptionLog.joins(:job_instance).
      merge(target_instance).order(created_at: :desc)
    @logs = @logs.limit(10) unless @start_at
  end

  private

  def set_period
    @end_at   = Time.current

    @start_at =
      case params[:period]
      when /\A(\d+)d\z/
        $1.to_i.days.ago(@end_at)
      when /\A(\d+)w\z/
        $1.to_i.weeks.ago(@end_at)
      when /\A(\d+)m\z/
        $1.to_i.month.ago(@end_at)
      else
        nil
      end
  end

  def set_definition
    @definition =  Kuroko2::JobDefinition.find(params[:job_definition_id])
  end
end

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
kuroko2-0.8.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.7.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.6.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.5.2 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.5.1 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.5.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.6 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.5 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.4 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.3 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.2 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.1 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.4.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.3.4 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.3.3 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.3.2 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.3.1 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.3.0 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.2.3 app/controllers/kuroko2/job_definition_stats_controller.rb
kuroko2-0.2.2 app/controllers/kuroko2/job_definition_stats_controller.rb