コード例 #1
0
    def test_schedule_matches_expected_target_throughput(self):
        target_throughput = random.randint(10, 1000)

        # this scheduler does not make use of the task, thus we won't specify it here
        s = scheduler.DeterministicScheduler(
            task=None, target_throughput=target_throughput)
        assert_throughput(s, target_throughput,
                          f"target throughput=[{target_throughput}] ops/s")
コード例 #2
0
ファイル: scheduler_test.py プロジェクト: zj15243885020/rally
    def test_schedule_matches_expected_target_throughput(self):
        clients = random.randint(1, 16)
        target_throughput = random.randint(10, 1000)

        s = scheduler.DeterministicScheduler({
            "target-throughput": target_throughput,
            "clients": clients
        })
        self.assertRateEquals(
            s, clients / target_throughput,
            "%d clients with %d target throughput" %
            (clients, target_throughput))
コード例 #3
0
def main():
    def n(data, sched):
        curr = data[-1] if len(data) > 0 else 0
        data.append(sched.next(curr))

    tnd = [0]
    tnp = [0]
    yn = [0]
    sd = scheduler.DeterministicScheduler({"target-interval": 1})
    sp = scheduler.PoissonScheduler({"target-interval": 1})
    # generate data for a little bit longer time frame...
    for i in range(0, 20):
        n(tnd, sd)
        n(tnp, sp)
        yn.append(0)

    fig, axs = plt.subplots(2, 1, sharex=True)
    fig.subplots_adjust(left=0.08, right=0.98, hspace=0.5)

    axes = plt.gca()
    # ... but only show the first ten seconds which makes for a nicer picture
    axes.set_xlim([0, 10])

    ax = axs[0]
    ax.plot(tnd, yn, "o-")
    ax.set_title("Deterministic schedule")

    ax = axs[1]
    ax.set_title("Poisson schedule")
    ax.plot(tnp, yn, "o-")

    plt.xlabel("time [s]")

    if len(sys.argv) == 2:
        output_file_path = sys.argv[1]
        print("Saving output to [%s]" % output_file_path)
        plt.savefig(output_file_path, bbox_inches="tight")
    plt.show()
コード例 #4
0
ファイル: scheduler_test.py プロジェクト: zj15243885020/rally
 def test_schedule_unlimited(self):
     # no params -> no limit
     s = scheduler.DeterministicScheduler({})
     self.assertRateEquals(s, 0)