def METHOD_NAME(frame, event, arg):
    #global filenames, files
    if not hasattr(lStore, 'tPrev'):
        lStore.tPrev = {}
    if not hasattr(lStore, 'lPrev'):
        lStore.lPrev = mydictn()
    fn = frame.f_code.co_filename.split(os.sep)[-1]
    funcName = fn + ' ' + frame.f_code.co_name 
    #print fn
    if fn in filenames and not lStore.lPrev[funcName] is None:
        t = time_fcn()
        files[lStore.lPrev[funcName][0]][lStore.lPrev[funcName][1]] += (t - lStore.tPrev[funcName])
        lStore.lPrev[funcName] = None
    if event == 'call':
        return METHOD_NAME
    if event == 'line':
        if fn in filenames:
            linecounts[fn][frame.f_lineno] += 1
            fullfilenames[fn] = frame.f_code.co_filename
            lStore.lPrev[funcName] = (fn,frame.f_lineno)
            lStore.tPrev[funcName] = time_fcn()