class Flog

def each_by_score max = nil

def each_by_score max = nil
  current = 0
  calls.sort_by { |k,v| -totals[k] }.each do |class_method, call_list|
    score = totals[class_method]
    yield class_method, score, call_list
    current += score
    break if max and current >= max
  end
end