Class: DeadBro::AnalysisResult

Inherits:
Object
  • Object
show all
Defined in:
lib/dead_bro.rb

Overview

Returned by DeadBro.analyze. sql_queries is intentionally omitted from inspect/to_s/pretty_print to avoid bloating console output. Access it explicitly via .sql_queries.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(label:, total_time_ms:, sql_count:, sql_time_ms:, sql_queries:, memory_before_mb:, memory_after_mb:, memory_delta_mb:, memory_details:, verbose:) ⇒ AnalysisResult

Returns a new instance of AnalysisResult.



43
44
45
46
47
48
49
50
51
52
53
54
55
56
# File 'lib/dead_bro.rb', line 43

def initialize(label:, total_time_ms:, sql_count:, sql_time_ms:, sql_queries:,
               memory_before_mb:, memory_after_mb:, memory_delta_mb:,
               memory_details:, verbose:)
  @label = label
  @total_time_ms = total_time_ms
  @sql_count = sql_count
  @sql_time_ms = sql_time_ms
  @sql_queries = sql_queries
  @memory_before_mb = memory_before_mb
  @memory_after_mb = memory_after_mb
  @memory_delta_mb = memory_delta_mb
  @memory_details = memory_details
  @verbose = verbose
end

Instance Attribute Details

#labelObject (readonly)

Returns the value of attribute label.



39
40
41
# File 'lib/dead_bro.rb', line 39

def label
  @label
end

#memory_after_mbObject (readonly)

Returns the value of attribute memory_after_mb.



39
40
41
# File 'lib/dead_bro.rb', line 39

def memory_after_mb
  @memory_after_mb
end

#memory_before_mbObject (readonly)

Returns the value of attribute memory_before_mb.



39
40
41
# File 'lib/dead_bro.rb', line 39

def memory_before_mb
  @memory_before_mb
end

#memory_delta_mbObject (readonly)

Returns the value of attribute memory_delta_mb.



39
40
41
# File 'lib/dead_bro.rb', line 39

def memory_delta_mb
  @memory_delta_mb
end

#memory_detailsObject (readonly)

Returns the value of attribute memory_details.



39
40
41
# File 'lib/dead_bro.rb', line 39

def memory_details
  @memory_details
end

#sql_countObject (readonly)

Returns the value of attribute sql_count.



39
40
41
# File 'lib/dead_bro.rb', line 39

def sql_count
  @sql_count
end

#sql_queriesObject (readonly)

Returns the value of attribute sql_queries.



39
40
41
# File 'lib/dead_bro.rb', line 39

def sql_queries
  @sql_queries
end

#sql_time_msObject (readonly)

Returns the value of attribute sql_time_ms.



39
40
41
# File 'lib/dead_bro.rb', line 39

def sql_time_ms
  @sql_time_ms
end

#total_time_msObject (readonly)

Returns the value of attribute total_time_ms.



39
40
41
# File 'lib/dead_bro.rb', line 39

def total_time_ms
  @total_time_ms
end

#verboseObject (readonly)

Returns the value of attribute verbose.



39
40
41
# File 'lib/dead_bro.rb', line 39

def verbose
  @verbose
end

Instance Method Details

#[](key) ⇒ Object



79
80
81
82
83
# File 'lib/dead_bro.rb', line 79

def [](key)
  public_send(key)
rescue NoMethodError
  nil
end

#inspectObject Also known as: to_s



58
59
60
61
62
63
# File 'lib/dead_bro.rb', line 58

def inspect
  "#<DeadBro::AnalysisResult label=#{label.inspect} total_time_ms=#{total_time_ms} " \
    "sql_count=#{sql_count} sql_time_ms=#{sql_time_ms} " \
    "memory_before_mb=#{memory_before_mb} memory_after_mb=#{memory_after_mb} " \
    "memory_delta_mb=#{memory_delta_mb}>"
end

#longest_queriesObject



71
72
73
# File 'lib/dead_bro.rb', line 71

def longest_queries
  sql_queries.max_by(5) { |q| q[:total_time_ms] }
end

#most_queriesObject



67
68
69
# File 'lib/dead_bro.rb', line 67

def most_queries
  sql_queries.max_by(5) { |q| q[:count] }
end

#pretty_print(pp) ⇒ Object



75
76
77
# File 'lib/dead_bro.rb', line 75

def pretty_print(pp)
  pp.text(inspect)
end