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.



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

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.



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

def label
  @label
end

#memory_after_mbObject (readonly)

Returns the value of attribute memory_after_mb.



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

def memory_after_mb
  @memory_after_mb
end

#memory_before_mbObject (readonly)

Returns the value of attribute memory_before_mb.



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

def memory_before_mb
  @memory_before_mb
end

#memory_delta_mbObject (readonly)

Returns the value of attribute memory_delta_mb.



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

def memory_delta_mb
  @memory_delta_mb
end

#memory_detailsObject (readonly)

Returns the value of attribute memory_details.



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

def memory_details
  @memory_details
end

#sql_countObject (readonly)

Returns the value of attribute sql_count.



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

def sql_count
  @sql_count
end

#sql_queriesObject (readonly)

Returns the value of attribute sql_queries.



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

def sql_queries
  @sql_queries
end

#sql_time_msObject (readonly)

Returns the value of attribute sql_time_ms.



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

def sql_time_ms
  @sql_time_ms
end

#total_time_msObject (readonly)

Returns the value of attribute total_time_ms.



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

def total_time_ms
  @total_time_ms
end

#verboseObject (readonly)

Returns the value of attribute verbose.



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

def verbose
  @verbose
end

Instance Method Details

#[](key) ⇒ Object



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

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

#inspectObject Also known as: to_s



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

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



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

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

#most_queriesObject



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

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

#pretty_print(pp) ⇒ Object



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

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