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:
Maciej Wawryk 2019-09-11 12:39:52 +02:00 committed by Ben Walker
parent c61e14be6c
commit ab6ce82806
6 changed files with 29 additions and 26 deletions

View File

@ -83,13 +83,13 @@ limit. Users can run this command with `-h` or `--help` for more information.
## 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
calling `get_bdev_histogram` and parsed using scripts/histogram.py script.
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.
@ -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 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.

View File

@ -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.
@ -707,7 +707,7 @@ Example request:
{
"jsonrpc": "2.0",
"id": 1,
"method": "enable_bdev_histogram",
"method": "bdev_enable_histogram",
"params": {
"name": "Nvme0n1"
"enable": true

View File

@ -509,20 +509,20 @@ SPDK_RPC_REGISTER_ALIAS_DEPRECATED(bdev_set_qos_limit, set_bdev_qos_limit)
/* SPDK_RPC_ENABLE_BDEV_HISTOGRAM */
struct rpc_enable_bdev_histogram_request {
struct rpc_bdev_enable_histogram_request {
char *name;
bool enable;
};
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);
}
static const struct spdk_json_object_decoder rpc_enable_bdev_histogram_request_decoders[] = {
{"name", offsetof(struct rpc_enable_bdev_histogram_request, name), spdk_json_decode_string},
{"enable", offsetof(struct rpc_enable_bdev_histogram_request, enable), spdk_json_decode_bool},
static const struct spdk_json_object_decoder rpc_bdev_enable_histogram_request_decoders[] = {
{"name", offsetof(struct rpc_bdev_enable_histogram_request, name), spdk_json_decode_string},
{"enable", offsetof(struct rpc_bdev_enable_histogram_request, enable), spdk_json_decode_bool},
};
static void
@ -536,14 +536,14 @@ _spdk_bdev_histogram_status_cb(void *cb_arg, int status)
}
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)
{
struct rpc_enable_bdev_histogram_request req = {NULL};
struct rpc_bdev_enable_histogram_request req = {NULL};
struct spdk_bdev *bdev;
if (spdk_json_decode_object(params, rpc_enable_bdev_histogram_request_decoders,
SPDK_COUNTOF(rpc_enable_bdev_histogram_request_decoders),
if (spdk_json_decode_object(params, rpc_bdev_enable_histogram_request_decoders,
SPDK_COUNTOF(rpc_bdev_enable_histogram_request_decoders),
&req)) {
SPDK_ERRLOG("spdk_json_decode_object failed\n");
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);
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 */

View File

@ -588,14 +588,15 @@ if __name__ == "__main__":
p.add_argument('-b', '--name', help="Name of the Blockdev. Example: Nvme0n1", required=False)
p.set_defaults(func=bdev_get_iostat)
def enable_bdev_histogram(args):
rpc.bdev.enable_bdev_histogram(args.client, name=args.name, enable=args.enable)
def bdev_enable_histogram(args):
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('-d', '--disable', dest='enable', action='store_false', help='Disable histograms on specified device')
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):
print_dict(rpc.bdev.get_bdev_histogram(args.client, name=args.name))

View File

@ -735,14 +735,15 @@ def bdev_get_iostat(client, name=None):
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.
Args:
bdev_name: name of bdev
"""
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):

View File

@ -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 &
bdev_perf_pid=$!
waitforlisten $bdev_perf_pid
$rpc_py enable_bdev_histogram aio0 -e
$rpc_py bdev_enable_histogram aio0 -e
sleep 2
$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
$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=$!
waitforlisten $bdev_perf_pid
$rpc_py enable_bdev_histogram aio0 -e
$rpc_py bdev_enable_histogram aio0 -e
sleep 2
$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
$rootdir/test/bdev/bdevperf/bdevperf -c $testdir/bdevperf.conf -q 128 -o 4096 -w unmap -t 1