docstr: Wrap the benchmark `func` with timing code and run for n
  `ITERATIONS`, returning a result row that can be fed into Perspective.
docstr_tok: ["Wrap","the","benchmark","`","func","`","with","timing","code","and","run","for","n","`","ITERATIONS","`",",","returning","a","result","row","that","can","be","fed","into","Perspective","."]
code: def run_method(self, func, *args, **kwargs):
      """Wrap the benchmark `func` with timing code and run for n
      `ITERATIONS`, returning a result row that can be fed into Perspective.
      """
      overall_result = {
          k.replace("__BENCH__", ""): v
          for (k, v) in func.__dict__.items()
          if "__BENCH__" in k
      }
  
      result = (
          timeit(func, number=Runner.ITERATIONS) / Runner.ITERATIONS
      )
      overall_result["__TIME__"] = result
      overall_result["baseline"] = BASELINE["time"][
          BASELINE["name"].index(overall_result["name"])
      ]
      return overall_result
  
imports: import logging
  import os
  import sys
  import signal
  import subprocess
  import venv
  import tornado
  from timeit import timeit
  from perspective import Table, PerspectiveManager, PerspectiveTornadoHandler
label_desc: Use image node_id 5 for calling the Runner obj's underlying member method code with example usage: obj.run_method(func) and returns: overall_result