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.



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

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.



41
42
43
# File 'lib/dead_bro.rb', line 41

def label
  @label
end

#memory_after_mbObject (readonly)

Returns the value of attribute memory_after_mb.



41
42
43
# File 'lib/dead_bro.rb', line 41

def memory_after_mb
  @memory_after_mb
end

#memory_before_mbObject (readonly)

Returns the value of attribute memory_before_mb.



41
42
43
# File 'lib/dead_bro.rb', line 41

def memory_before_mb
  @memory_before_mb
end

#memory_delta_mbObject (readonly)

Returns the value of attribute memory_delta_mb.



41
42
43
# File 'lib/dead_bro.rb', line 41

def memory_delta_mb
  @memory_delta_mb
end

#memory_detailsObject (readonly)

Returns the value of attribute memory_details.



41
42
43
# File 'lib/dead_bro.rb', line 41

def memory_details
  @memory_details
end

#sql_countObject (readonly)

Returns the value of attribute sql_count.



41
42
43
# File 'lib/dead_bro.rb', line 41

def sql_count
  @sql_count
end

#sql_queriesObject (readonly)

Returns the value of attribute sql_queries.



41
42
43
# File 'lib/dead_bro.rb', line 41

def sql_queries
  @sql_queries
end

#sql_time_msObject (readonly)

Returns the value of attribute sql_time_ms.



41
42
43
# File 'lib/dead_bro.rb', line 41

def sql_time_ms
  @sql_time_ms
end

#total_time_msObject (readonly)

Returns the value of attribute total_time_ms.



41
42
43
# File 'lib/dead_bro.rb', line 41

def total_time_ms
  @total_time_ms
end

#verboseObject (readonly)

Returns the value of attribute verbose.



41
42
43
# File 'lib/dead_bro.rb', line 41

def verbose
  @verbose
end

Instance Method Details

#[](key) ⇒ Object



81
82
83
84
85
# File 'lib/dead_bro.rb', line 81

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

#inspectObject Also known as: to_s



60
61
62
63
64
65
# File 'lib/dead_bro.rb', line 60

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



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

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

#most_queriesObject



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

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

#pretty_print(pp) ⇒ Object



77
78
79
# File 'lib/dead_bro.rb', line 77

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