def get_datapoints(target_rps=500, rps_min=50, rps_max=20000, increment=50, exponent=0.5):
    """Get a distribution around target_rps from rps_min to rps_max with increasing distance between individual measurements."""
    rps = [rps_min, target_rps, rps_max]
    for inc in sorted(set([increment * round(2 ** (i * exponent)) for i in range(100)])):

        r = target_rps - inc
        if r > rps_min:
            rps.append(r)

        r = target_rps + inc
        if r < rps_max:
            rps.append(r)

    datapoints = sorted(set(rps))
    num = len(datapoints)

    print(f"Measuring {num} datapoints {datapoints}")
    return datapoints