def METHOD_NAME(func):
    @functools.wraps(func)
    def tracking_wrapper(*args, **kwargs):
        # track start times
        start_time = time.time()
        process_start_time = time.process_time()
        # run original function
        res = func(*args, **kwargs)
        # get run times
        run_time = time.time() - start_time
        process_run_time = time.process_time() - process_start_time
        # include run times in metadata
        md = metadata or {}
        md.update({'run_time': run_time, 'process_run_time': process_run_time})
        # track stuff
        tracker.track(usage_event, md)
        return res
    return tracking_wrapper