Class: Puppeteer::Page::Metrics

Inherits:
Object
  • Object
show all
Defined in:
lib/puppeteer/page/metrics.rb

Constant Summary collapse

SUPPORTED_KEYS =
Set.new([
  'Timestamp',
  'Documents',
  'Frames',
  'JSEventListeners',
  'Nodes',
  'LayoutCount',
  'RecalcStyleCount',
  'LayoutDuration',
  'RecalcStyleDuration',
  'ScriptDuration',
  'TaskDuration',
  'JSHeapUsedSize',
  'JSHeapTotalSize',
]).freeze

Instance Method Summary collapse

Constructor Details

#initialize(metrics_response) ⇒ Metrics

Returns a new instance of Metrics.

Parameters:

  • metrics_result (Hash)

    response for Performance.getMetrics



24
25
26
27
28
29
30
# File 'lib/puppeteer/page/metrics.rb', line 24

def initialize(metrics_response)
  metrics_response.each do |metric|
    if SUPPORTED_KEYS.include?(metric['name'])
      instance_variable_set(:"@#{metric['name']}", metric['value'])
    end
  end
end

Instance Method Details

#[](key) ⇒ Object



32
33
34
35
36
37
38
# File 'lib/puppeteer/page/metrics.rb', line 32

def [](key)
  if SUPPORTED_KEYS.include?(key.to_s)
    instance_variable_get(:"@#{key}")
  else
    raise ArgumentError.new("invalid metric key specified: #{key}")
  end
end