def METHOD_NAME(limit=-1):
  """A lightweight, extensible re-implementation of traceback.extract_stack.
  NOTE(mrry): traceback.extract_stack eagerly retrieves the line of code for
      each stack frame using linecache, which results in an abundance of stat()
      calls. This implementation does not retrieve the code, and any consumer
      should apply _convert_stack to the result to obtain a traceback that can
      be formatted etc. using traceback methods.
  Args:
    limit: A limit on the number of frames to return.
  Returns:
    A sequence of StackFrame objects
        (filename, lineno, name, globals, func_start_lineno)
    corresponding to the call stack of the current thread.  The returned
    tuples have the innermost stack frame at the end, unlike the Python
    inspect module's stack() function.
  """
  # N.B ExtractStack in tf_stack.cc will drop this frame prior to
  # traversing the stack.
  thread_key = _get_thread_key()
  return _tf_stack.METHOD_NAME(
      limit,
      _source_mapper_stacks[thread_key],
      _source_filter_stacks[thread_key])