xref: /spdk/python/spdk/rpc/trace.py (revision 555ca7adc00c380f5f6446e7658c7d7298cf48ed)
1588dfe31SMichal Berger#  SPDX-License-Identifier: BSD-3-Clause
2588dfe31SMichal Berger#  Copyright (C) 2018 Intel Corporation.
3588dfe31SMichal Berger#  All rights reserved.
4588dfe31SMichal Berger
5*555ca7adSMike Gerdts
67610bc38SKonrad Sztyberdef trace_enable_tpoint_group(client, name):
77610bc38SKonrad Sztyber    """Enable trace on a specific tpoint group.
87610bc38SKonrad Sztyber
97610bc38SKonrad Sztyber    Args:
107610bc38SKonrad Sztyber        name: trace group name we want to enable in tpoint_group_mask. (for example "bdev").
117610bc38SKonrad Sztyber    """
127610bc38SKonrad Sztyber    params = {'name': name}
137610bc38SKonrad Sztyber    return client.call('trace_enable_tpoint_group', params)
147610bc38SKonrad Sztyber
157610bc38SKonrad Sztyber
167610bc38SKonrad Sztyberdef trace_disable_tpoint_group(client, name):
177610bc38SKonrad Sztyber    """Disable trace on a specific tpoint group.
187610bc38SKonrad Sztyber
197610bc38SKonrad Sztyber    Args:
207610bc38SKonrad Sztyber        name: trace group name we want to disable in tpoint_group_mask. (for example "bdev").
217610bc38SKonrad Sztyber    """
227610bc38SKonrad Sztyber    params = {'name': name}
237610bc38SKonrad Sztyber    return client.call('trace_disable_tpoint_group', params)
247610bc38SKonrad Sztyber
257610bc38SKonrad Sztyber
267610bc38SKonrad Sztyberdef trace_set_tpoint_mask(client, name, tpoint_mask):
277610bc38SKonrad Sztyber    """Enable tracepoint mask on a specific tpoint group.
287610bc38SKonrad Sztyber
297610bc38SKonrad Sztyber    Args:
307610bc38SKonrad Sztyber        name: trace group name we want to enable in tpoint_group_mask. (for example "bdev").
317610bc38SKonrad Sztyber        tpoint_mask: tracepoints to be enabled inside decleared group
327610bc38SKonrad Sztyber                        (for example "0x3" to enable first two tpoints).
337610bc38SKonrad Sztyber    """
347610bc38SKonrad Sztyber    params = {'name': name, 'tpoint_mask': tpoint_mask}
357610bc38SKonrad Sztyber    return client.call('trace_set_tpoint_mask', params)
367610bc38SKonrad Sztyber
377610bc38SKonrad Sztyber
387610bc38SKonrad Sztyberdef trace_clear_tpoint_mask(client, name, tpoint_mask):
397610bc38SKonrad Sztyber    """Disable tracepoint mask on a specific tpoint group.
407610bc38SKonrad Sztyber
417610bc38SKonrad Sztyber    Args:
427610bc38SKonrad Sztyber        name: trace group name we want to disable in tpoint_group_mask. (for example "bdev").
437610bc38SKonrad Sztyber        tpoint_mask: tracepoints to be disabled inside decleared group
447610bc38SKonrad Sztyber                        (for example "0x3" to disable first two tpoints).
457610bc38SKonrad Sztyber    """
467610bc38SKonrad Sztyber    params = {'name': name, 'tpoint_mask': tpoint_mask}
477610bc38SKonrad Sztyber    return client.call('trace_clear_tpoint_mask', params)
487610bc38SKonrad Sztyber
497610bc38SKonrad Sztyber
507610bc38SKonrad Sztyberdef trace_get_tpoint_group_mask(client):
517610bc38SKonrad Sztyber    """Get trace point group mask
527610bc38SKonrad Sztyber
537610bc38SKonrad Sztyber    Returns:
547610bc38SKonrad Sztyber        List of trace point group mask
557610bc38SKonrad Sztyber    """
567610bc38SKonrad Sztyber    return client.call('trace_get_tpoint_group_mask')
57cd4ac9c7SXinrui Mao
58cd4ac9c7SXinrui Mao
59cd4ac9c7SXinrui Maodef trace_get_info(client):
60cd4ac9c7SXinrui Mao    """Get name of shared memory file and list of the available trace point groups
61cd4ac9c7SXinrui Mao
62cd4ac9c7SXinrui Mao    Returns:
63cd4ac9c7SXinrui Mao        Name of shared memory file and list of the available trace point groups
64cd4ac9c7SXinrui Mao    """
65cd4ac9c7SXinrui Mao    return client.call('trace_get_info')
66