import re


def remove_job_status_rows(df):
    """
    Removes all of the rows representing calls to the jobs status endpoint.

    For async requests we have a row for each request that pings the job status route. This
    row is not useful for capturing performance information and when there are many async
    requests in a run this can lead to the charts having way too many values on the x axis
    and making the charts difficult to use and filled with information we do not want.

    Arguments:
        df {pandas.DataFrame} -- The dataframe to act on.
    Returns:
        {pandas.DataFrame} -- The original dataframe with all job status rows removed.
    """
    job_status_regex = re.compile(r'\/jobs.*')
    jobs_rows_filter = df['Name'].str.contains(job_status_regex)
    return df[~jobs_rows_filter]