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.



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

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.



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

def label
  @label
end

#memory_after_mbObject (readonly)

Returns the value of attribute memory_after_mb.



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

def memory_after_mb
  @memory_after_mb
end

#memory_before_mbObject (readonly)

Returns the value of attribute memory_before_mb.



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

def memory_before_mb
  @memory_before_mb
end

#memory_delta_mbObject (readonly)

Returns the value of attribute memory_delta_mb.



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

def memory_delta_mb
  @memory_delta_mb
end

#memory_detailsObject (readonly)

Returns the value of attribute memory_details.



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

def memory_details
  @memory_details
end

#sql_countObject (readonly)

Returns the value of attribute sql_count.



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

def sql_count
  @sql_count
end

#sql_queriesObject (readonly)

Returns the value of attribute sql_queries.



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

def sql_queries
  @sql_queries
end

#sql_time_msObject (readonly)

Returns the value of attribute sql_time_ms.



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

def sql_time_ms
  @sql_time_ms
end

#total_time_msObject (readonly)

Returns the value of attribute total_time_ms.



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

def total_time_ms
  @total_time_ms
end

#verboseObject (readonly)

Returns the value of attribute verbose.



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

def verbose
  @verbose
end

Instance Method Details

#[](key) ⇒ Object



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

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

#inspectObject Also known as: to_s



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

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



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

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

#most_queriesObject



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

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

#pretty_print(pp) ⇒ Object



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

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