RPC: rename enable_bdev_histogram to bdev_enable_histogram
Signed-off-by: Maciej Wawryk <maciejx.wawryk@intel.com> Change-Id: Ie60cf733138c677af71db66d24880af33b099673 Reviewed-on: https://review.gerrithub.io/c/spdk/spdk/+/468085 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com> Reviewed-by: Paul Luse <paul.e.luse@intel.com> Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
This commit is contained in:
parent
c61e14be6c
commit
ab6ce82806
@ -83,13 +83,13 @@ limit. Users can run this command with `-h` or `--help` for more information.
|
|||||||
|
|
||||||
## Histograms {#rpc_bdev_histogram}
|
## Histograms {#rpc_bdev_histogram}
|
||||||
|
|
||||||
The `enable_bdev_histogram` RPC command allows to enable or disable gathering
|
The `bdev_enable_histogram` RPC command allows to enable or disable gathering
|
||||||
latency data for specified bdev. Histogram can be downloaded by the user by
|
latency data for specified bdev. Histogram can be downloaded by the user by
|
||||||
calling `get_bdev_histogram` and parsed using scripts/histogram.py script.
|
calling `get_bdev_histogram` and parsed using scripts/histogram.py script.
|
||||||
|
|
||||||
Example command
|
Example command
|
||||||
|
|
||||||
`rpc.py enable_bdev_histogram Nvme0n1 --enable`
|
`rpc.py bdev_enable_histogram Nvme0n1 --enable`
|
||||||
|
|
||||||
The command will enable gathering data for histogram on Nvme0n1 device.
|
The command will enable gathering data for histogram on Nvme0n1 device.
|
||||||
|
|
||||||
@ -98,7 +98,7 @@ The command will enable gathering data for histogram on Nvme0n1 device.
|
|||||||
The command will download gathered histogram data. The script will parse
|
The command will download gathered histogram data. The script will parse
|
||||||
the data and show table containing IO count for latency ranges.
|
the data and show table containing IO count for latency ranges.
|
||||||
|
|
||||||
`rpc.py enable_bdev_histogram Nvme0n1 --disable`
|
`rpc.py bdev_enable_histogram Nvme0n1 --disable`
|
||||||
|
|
||||||
The command will disable histogram on Nvme0n1 device.
|
The command will disable histogram on Nvme0n1 device.
|
||||||
|
|
||||||
|
@ -688,7 +688,7 @@ Example response:
|
|||||||
}
|
}
|
||||||
~~~
|
~~~
|
||||||
|
|
||||||
## enable_bdev_histogram {#rpc_enable_bdev_histogram}
|
## bdev_enable_histogram {#rpc_bdev_enable_histogram}
|
||||||
|
|
||||||
Control whether collecting data for histogram is enabled for specified bdev.
|
Control whether collecting data for histogram is enabled for specified bdev.
|
||||||
|
|
||||||
@ -707,7 +707,7 @@ Example request:
|
|||||||
{
|
{
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"id": 1,
|
"id": 1,
|
||||||
"method": "enable_bdev_histogram",
|
"method": "bdev_enable_histogram",
|
||||||
"params": {
|
"params": {
|
||||||
"name": "Nvme0n1"
|
"name": "Nvme0n1"
|
||||||
"enable": true
|
"enable": true
|
||||||
|
@ -509,20 +509,20 @@ SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_set_qos_limit, set_bdev_qos_limit)
|
|||||||
|
|
||||||
/* SPDK_RPC_ENABLE_BDEV_HISTOGRAM */
|
/* SPDK_RPC_ENABLE_BDEV_HISTOGRAM */
|
||||||
|
|
||||||
struct rpc_enable_bdev_histogram_request {
|
struct rpc_bdev_enable_histogram_request {
|
||||||
char *name;
|
char *name;
|
||||||
bool enable;
|
bool enable;
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_rpc_enable_bdev_histogram_request(struct rpc_enable_bdev_histogram_request *r)
|
free_rpc_bdev_enable_histogram_request(struct rpc_bdev_enable_histogram_request *r)
|
||||||
{
|
{
|
||||||
free(r->name);
|
free(r->name);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct spdk_json_object_decoder rpc_enable_bdev_histogram_request_decoders[] = {
|
static const struct spdk_json_object_decoder rpc_bdev_enable_histogram_request_decoders[] = {
|
||||||
{"name", offsetof(struct rpc_enable_bdev_histogram_request, name), spdk_json_decode_string},
|
{"name", offsetof(struct rpc_bdev_enable_histogram_request, name), spdk_json_decode_string},
|
||||||
{"enable", offsetof(struct rpc_enable_bdev_histogram_request, enable), spdk_json_decode_bool},
|
{"enable", offsetof(struct rpc_bdev_enable_histogram_request, enable), spdk_json_decode_bool},
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -536,14 +536,14 @@ _spdk_bdev_histogram_status_cb(void *cb_arg, int status)
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
spdk_rpc_enable_bdev_histogram(struct spdk_jsonrpc_request *request,
|
spdk_rpc_bdev_enable_histogram(struct spdk_jsonrpc_request *request,
|
||||||
const struct spdk_json_val *params)
|
const struct spdk_json_val *params)
|
||||||
{
|
{
|
||||||
struct rpc_enable_bdev_histogram_request req = {NULL};
|
struct rpc_bdev_enable_histogram_request req = {NULL};
|
||||||
struct spdk_bdev *bdev;
|
struct spdk_bdev *bdev;
|
||||||
|
|
||||||
if (spdk_json_decode_object(params, rpc_enable_bdev_histogram_request_decoders,
|
if (spdk_json_decode_object(params, rpc_bdev_enable_histogram_request_decoders,
|
||||||
SPDK_COUNTOF(rpc_enable_bdev_histogram_request_decoders),
|
SPDK_COUNTOF(rpc_bdev_enable_histogram_request_decoders),
|
||||||
&req)) {
|
&req)) {
|
||||||
SPDK_ERRLOG("spdk_json_decode_object failed\n");
|
SPDK_ERRLOG("spdk_json_decode_object failed\n");
|
||||||
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
spdk_jsonrpc_send_error_response(request, SPDK_JSONRPC_ERROR_INTERNAL_ERROR,
|
||||||
@ -560,10 +560,11 @@ spdk_rpc_enable_bdev_histogram(struct spdk_jsonrpc_request *request,
|
|||||||
spdk_bdev_histogram_enable(bdev, _spdk_bdev_histogram_status_cb, request, req.enable);
|
spdk_bdev_histogram_enable(bdev, _spdk_bdev_histogram_status_cb, request, req.enable);
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
free_rpc_enable_bdev_histogram_request(&req);
|
free_rpc_bdev_enable_histogram_request(&req);
|
||||||
}
|
}
|
||||||
|
|
||||||
SPDK_RPC_REGISTER("enable_bdev_histogram", spdk_rpc_enable_bdev_histogram, SPDK_RPC_RUNTIME)
|
SPDK_RPC_REGISTER("bdev_enable_histogram", spdk_rpc_bdev_enable_histogram, SPDK_RPC_RUNTIME)
|
||||||
|
SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_enable_histogram, enable_bdev_histogram)
|
||||||
|
|
||||||
/* SPDK_RPC_GET_BDEV_HISTOGRAM */
|
/* SPDK_RPC_GET_BDEV_HISTOGRAM */
|
||||||
|
|
||||||
|
@ -588,14 +588,15 @@ if __name__ == "__main__":
|
|||||||
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
|
||||||
p.set_defaults(func=bdev_get_iostat)
|
p.set_defaults(func=bdev_get_iostat)
|
||||||
|
|
||||||
def enable_bdev_histogram(args):
|
def bdev_enable_histogram(args):
|
||||||
rpc.bdev.enable_bdev_histogram(args.client, name=args.name, enable=args.enable)
|
rpc.bdev.bdev_enable_histogram(args.client, name=args.name, enable=args.enable)
|
||||||
|
|
||||||
p = subparsers.add_parser('enable_bdev_histogram', help='Enable or disable histogram for specified bdev')
|
p = subparsers.add_parser('bdev_enable_histogram', aliases=['enable_bdev_histogram'],
|
||||||
|
help='Enable or disable histogram for specified bdev')
|
||||||
p.add_argument('-e', '--enable', default=True, dest='enable', action='store_true', help='Enable histograms on specified device')
|
p.add_argument('-e', '--enable', default=True, dest='enable', action='store_true', help='Enable histograms on specified device')
|
||||||
p.add_argument('-d', '--disable', dest='enable', action='store_false', help='Disable histograms on specified device')
|
p.add_argument('-d', '--disable', dest='enable', action='store_false', help='Disable histograms on specified device')
|
||||||
p.add_argument('name', help='bdev name')
|
p.add_argument('name', help='bdev name')
|
||||||
p.set_defaults(func=enable_bdev_histogram)
|
p.set_defaults(func=bdev_enable_histogram)
|
||||||
|
|
||||||
def get_bdev_histogram(args):
|
def get_bdev_histogram(args):
|
||||||
print_dict(rpc.bdev.get_bdev_histogram(args.client, name=args.name))
|
print_dict(rpc.bdev.get_bdev_histogram(args.client, name=args.name))
|
||||||
|
@ -735,14 +735,15 @@ def bdev_get_iostat(client, name=None):
|
|||||||
return client.call('bdev_get_iostat', params)
|
return client.call('bdev_get_iostat', params)
|
||||||
|
|
||||||
|
|
||||||
def enable_bdev_histogram(client, name, enable):
|
@deprecated_alias('enable_bdev_histogram')
|
||||||
|
def bdev_enable_histogram(client, name, enable):
|
||||||
"""Control whether histogram is enabled for specified bdev.
|
"""Control whether histogram is enabled for specified bdev.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
bdev_name: name of bdev
|
bdev_name: name of bdev
|
||||||
"""
|
"""
|
||||||
params = {'name': name, "enable": enable}
|
params = {'name': name, "enable": enable}
|
||||||
return client.call('enable_bdev_histogram', params)
|
return client.call('bdev_enable_histogram', params)
|
||||||
|
|
||||||
|
|
||||||
def get_bdev_histogram(client, name):
|
def get_bdev_histogram(client, name):
|
||||||
|
@ -38,19 +38,19 @@ echo "AIO $testdir/aio.bdev aio0 4096" >> $testdir/bdevperf.conf
|
|||||||
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w write -t 5 -r /var/tmp/spdk.sock &
|
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w write -t 5 -r /var/tmp/spdk.sock &
|
||||||
bdev_perf_pid=$!
|
bdev_perf_pid=$!
|
||||||
waitforlisten $bdev_perf_pid
|
waitforlisten $bdev_perf_pid
|
||||||
$rpc_py enable_bdev_histogram aio0 -e
|
$rpc_py bdev_enable_histogram aio0 -e
|
||||||
sleep 2
|
sleep 2
|
||||||
$rpc_py get_bdev_histogram aio0 | $rootdir/scripts/histogram.py
|
$rpc_py get_bdev_histogram aio0 | $rootdir/scripts/histogram.py
|
||||||
$rpc_py enable_bdev_histogram aio0 -d
|
$rpc_py bdev_enable_histogram aio0 -d
|
||||||
wait $bdev_perf_pid
|
wait $bdev_perf_pid
|
||||||
|
|
||||||
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w read -t 5 -r /var/tmp/spdk.sock &
|
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w read -t 5 -r /var/tmp/spdk.sock &
|
||||||
bdev_perf_pid=$!
|
bdev_perf_pid=$!
|
||||||
waitforlisten $bdev_perf_pid
|
waitforlisten $bdev_perf_pid
|
||||||
$rpc_py enable_bdev_histogram aio0 -e
|
$rpc_py bdev_enable_histogram aio0 -e
|
||||||
sleep 2
|
sleep 2
|
||||||
$rpc_py get_bdev_histogram aio0 | $rootdir/scripts/histogram.py
|
$rpc_py get_bdev_histogram aio0 | $rootdir/scripts/histogram.py
|
||||||
$rpc_py enable_bdev_histogram aio0 -d
|
$rpc_py bdev_enable_histogram aio0 -d
|
||||||
wait $bdev_perf_pid
|
wait $bdev_perf_pid
|
||||||
|
|
||||||
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w unmap -t 1
|
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w unmap -t 1
|
||||||
|
Loading…
Reference in New Issue
Block a user