Spdk/python/spdk/rpc/trace.py
Xinrui Mao cd4ac9c792 lib/trace: add trace_get_info RPC
Add rpc method trace_get_info to show name of shared memory file,
list of the available trace point groups and mask of the available trace points for each group.

Fixes #2747

Signed-off-by: Xinrui Mao <xinrui.mao@intel.com>
Change-Id: I2098283bed454dc46644fd2ca1b9568ab2aea81b
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/15426
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
Reviewed-by: Xiaodong Liu <xiaodong.liu@intel.com>
Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
Community-CI: Mellanox Build Bot
2022-12-05 09:50:38 +00:00

65 lines
2.1 KiB
Python

# SPDX-License-Identifier: BSD-3-Clause
# Copyright (C) 2018 Intel Corporation.
# All rights reserved.
def trace_enable_tpoint_group(client, name):
"""Enable trace on a specific tpoint group.
Args:
name: trace group name we want to enable in tpoint_group_mask. (for example "bdev").
"""
params = {'name': name}
return client.call('trace_enable_tpoint_group', params)
def trace_disable_tpoint_group(client, name):
"""Disable trace on a specific tpoint group.
Args:
name: trace group name we want to disable in tpoint_group_mask. (for example "bdev").
"""
params = {'name': name}
return client.call('trace_disable_tpoint_group', params)
def trace_set_tpoint_mask(client, name, tpoint_mask):
"""Enable tracepoint mask on a specific tpoint group.
Args:
name: trace group name we want to enable in tpoint_group_mask. (for example "bdev").
tpoint_mask: tracepoints to be enabled inside decleared group
(for example "0x3" to enable first two tpoints).
"""
params = {'name': name, 'tpoint_mask': tpoint_mask}
return client.call('trace_set_tpoint_mask', params)
def trace_clear_tpoint_mask(client, name, tpoint_mask):
"""Disable tracepoint mask on a specific tpoint group.
Args:
name: trace group name we want to disable in tpoint_group_mask. (for example "bdev").
tpoint_mask: tracepoints to be disabled inside decleared group
(for example "0x3" to disable first two tpoints).
"""
params = {'name': name, 'tpoint_mask': tpoint_mask}
return client.call('trace_clear_tpoint_mask', params)
def trace_get_tpoint_group_mask(client):
"""Get trace point group mask
Returns:
List of trace point group mask
"""
return client.call('trace_get_tpoint_group_mask')
def trace_get_info(client):
"""Get name of shared memory file and list of the available trace point groups
Returns:
Name of shared memory file and list of the available trace point groups
"""
return client.call('trace_get_info')