Sha256: 1c3370847377f28af901863b8fd0e433956d94b541fdcad2e06245b67ae25e4f

Contents?: true

Size: 862 Bytes

Versions: 3

Compression:

Stored size: 862 Bytes

Contents

# frozen_string_literal: true

module Dial
  module RubyStat
    private

    def ruby_vm_stat_diff before, after
      stat_diff before, after, except: [:next_shape_id]
    end

    def gc_stat_diff before, after
      stat_diff before, after, except: [
        :heap_allocatable_slots,
        :malloc_increase_bytes_limit,
        :remembered_wb_unprotected_objects_limit,
        :old_objects_limit,
        :oldmalloc_increase_bytes_limit
      ]
    end

    def gc_stat_heap_diff before, after
      after.each_with_object({}) do |(slot_index, slot_stat), diff|
        diff[slot_index] = stat_diff before[slot_index], slot_stat, except: [:slot_size]
      end
    end

    def stat_diff before, after, except: []
      after.except(*except).each_with_object({}) do |(key, value), diff|
        diff[key] = value - before[key]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dial-0.1.2 lib/dial/ruby_stat.rb
dial-0.1.1 lib/dial/ruby_stat.rb
dial-0.1.0 lib/dial/ruby_stat.rb