def METHOD_NAME(relay_server, wandb_init):
    n = 3
    with relay_server() as relay:
        run = wandb_init()
        net = ConvNet()
        run.watch(
            net,
            log="all",
            log_freq=1,
        )
        for _ in range(n):
            output = net(
                dummy_torch_tensor(
                    (32, 1, 28, 28),
                )
            )
            grads = torch.ones(32, 10)
            output.backward(grads)
            run.log({"a": 2})
        run.finish()
    history = relay.context.get_run_history(run.id, include_private=True)
    assert history.shape == (n, 21)  # it's 21 instead of 20 since we add __run_id
    assert history["_step"].to_list() == [i for i in range(3)]
    for i in range(n):
        assert len(history["parameters/fc2.bias"][i]["bins"]) == 65
        assert len(history["gradients/fc2.bias"][i]["bins"]) == 65