code: def new_import(name, globals={}, locals={}, fromlist=[]):
      global pp
      if name in seen:
          return old_import(name, globals, locals, fromlist)
      seen.add(name)
  
      node = TreeNode(name)
  
      pp.add_child(node)
      old_pp = pp
      pp = node
  
      # Do the actual import
      t1 = timeit.default_timer()
      module = old_import(name, globals, locals, fromlist)
      t2 = timeit.default_timer()
      node.set_time(int(1000000 * (t2 - t1)))
  
      pp = old_pp
  
      return module
  
imports: from __future__ import print_function
  import timeit
  from sympy import *
label_desc: Use image node_id 1 for calling a global function with example usage: new_import(name, globals, locals, fromlist) and returns: module, old_import