def job_view_stats(df):
    """Produces a dataframe that is focused on the job level. 
    Each row is a job, the task id is the last task that ran and 'overhead'
    is (end_time_ms-submit_time_ms)-run_time_ms. 
    This measures the added cost from the scheduler and lack of infinite compute.
    
    Parameters:
    -----------
    df : pandas.DataFrame
        dataframe returned from prepare_df
        
    Returns:
    --------
    df : pandas.DataFrame
        dataframe with job level info"""
    df = df.copy()
    df = df.sort_values("end_time_ms").groupby("job_id").last()
    df["submit_to_complete_ms"] = df.end_time_ms - df.submit_time_ms
    df["job_overhead"] = df.submit_to_complete_ms - df.run_time_ms
    df.reset_index(inplace=True)
    return df