|
Revision tags: v24.05, v24.09-pre, v24.05-rc1 |
|
| #
ae89daab |
| 30-Mar-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: add concept of "owner" to trace files
An "owner" is now represented by a textual string describing the owner of a trace event.
A trace file can have up to 16K outstanding owners at any given
trace: add concept of "owner" to trace files
An "owner" is now represented by a textual string describing the owner of a trace event.
A trace file can have up to 16K outstanding owners at any given time. We need this many to be able to track all of the various NVMe-oF qpairs, bdevs, NVMe driver qpairs, accel channels, etc. A library creating trace events can call spdk_trace_register_owner() with a description string to allocate a a 16-bit owner_id. This owner_id is then passed as a parameter to spdk_trace_record().
Libraries can change the description of a registered owner by calling spdk_trace_owner_set_description(). This can be useful for cases like NVMe-oF, where where a newly established qpair may only have a source IP/port, but later can be changed to also add the subsystem nqn once the CONNECT command arrives.
A library is responsible for calling spdk_trace_unregister_owner() once the associated object is destroyed (i.e. a qpair disconnects or a bdev is unregistered).
An owner lifetime is tracked by recording the tsc when the owner was registered. This allows the trace app to handle the case where an owner_id gets reused during the span of a trace file.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I79c9979a0769c32a85ee646c8237fe8329993c45 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22646 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com>
show more ...
|
| #
26d44a12 |
| 29-Mar-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For e
trace: rename owner to owner_type
We will be adding the real concept of an "owner" in upcoming patches. So change the existing "owner" to "owner_type" which more accurate reflects its meaning. For example, an "owner_type" can be OWNER_BDEV, but an actual "owner" would be some specific bdev identified by its name.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: Ieb25eb5a574a88b3812291f2345796e5bb66a54f Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22645 Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
dc38e848 |
| 30-Mar-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: make spdk_trace_flags_init() a private function
This does not need to be in public API. So move it internally and rename it to trace_flags_init().
Signed-off-by: Jim Harris <jim.harris@samsu
trace: make spdk_trace_flags_init() a private function
This does not need to be in public API. So move it internally and rename it to trace_flags_init().
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I871eace8ba3a028d6d61d9f3b155ae8651a32b66 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/22643 Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Shuhei Matsumoto <smatsumoto@nvidia.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
14e26b9d |
| 12-Feb-2024 |
Jim Harris <jim.harris@samsung.com> |
trace: rename spdk_trace_histories to spdk_trace_file.
The new name is obviously a better fit for what this structure has become.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I91e9
trace: rename spdk_trace_histories to spdk_trace_file.
The new name is obviously a better fit for what this structure has become.
Signed-off-by: Jim Harris <jim.harris@samsung.com> Change-Id: I91e96bea1d1d507b601e131e222f3181909f35de Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21826 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: LTS, v24.01, v24.05-pre, v24.01-rc1 |
|
| #
b930f0dd |
| 09-Jan-2024 |
Krishna Kanth Reddy <krish.reddy@samsung.com> |
lib/trace : Unregister tracing support for user created threads
Cleanup the tracing support whenever the user created threads are exited.
fio_plugin is modified to verify the cleanup of tracing sup
lib/trace : Unregister tracing support for user created threads
Cleanup the tracing support whenever the user created threads are exited.
fio_plugin is modified to verify the cleanup of tracing support for the user created threads.
Change-Id: Ifebdf5d76f6cc190bde75d542797ce4455860c1a Signed-off-by: Krishna Kanth Reddy <krish.reddy@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/21304 Community-CI: Mellanox Build Bot Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <jim.harris@samsung.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
| #
ae5e1aaf |
| 01-Dec-2023 |
Krishna Kanth Reddy <krish.reddy@samsung.com> |
lib/trace : Enable tracing support for user created threads
Only the environment created threads have the tracing support. Added tracing support for the user created threads by reserving lcore_histo
lib/trace : Enable tracing support for user created threads
Only the environment created threads have the tracing support. Added tracing support for the user created threads by reserving lcore_history entries.
fio_plugin is modified to verify the tracing support for the user created threads.
This allows all SPDK applications to use SPDK tracing, even if they are not using the SPDK app framework.
Change-Id: Ib7831b30d7de420fcc4a5849f3757733755a5406 Signed-off-by: Krishna Kanth Reddy <krish.reddy@samsung.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/20852 Reviewed-by: Jim Harris <jim.harris@samsung.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
show more ...
|
|
Revision tags: v23.09, v24.01-pre, v23.09-rc1, v23.05, v23.09-pre, v23.01.1, v23.01, v23.05-pre, v23.01-rc1, v22.01.2, v22.09, v23.01-pre, v22.09-rc1, v22.05, v22.09-pre, v22.05-rc1, v22.01.1, v22.01, v22.01-rc1 |
|
| #
aa1ec373 |
| 22-Dec-2021 |
Krzysztof Karas <krzysztof.karas@intel.com> |
trace: make trace_create_tpoint_group_mask() external
Make trace_create_tpoint_group_mask() an external function. This is going to be used in following patch.
Change-Id: I06cd1652bb30abddd49536bc76
trace: make trace_create_tpoint_group_mask() external
Make trace_create_tpoint_group_mask() an external function. This is going to be used in following patch.
Change-Id: I06cd1652bb30abddd49536bc76ec134a01121537 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10830 Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com> Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com>
show more ...
|
|
Revision tags: v21.10, v21.10-rc1 |
|
| #
70c17160 |
| 19-Oct-2021 |
Krzysztof Karas <krzysztof.karas@intel.com> |
trace: enable adding relations between traces
Currently we do not have any way to connect traces from different modules in SPDK. This change modifies our trace library and app/trace to handle adding
trace: enable adding relations between traces
Currently we do not have any way to connect traces from different modules in SPDK. This change modifies our trace library and app/trace to handle adding relations between trace points and a trace object.
Additionally this patch adds classes and fields to structs inside trace.py to prepare it for future patches implementing printing relation information.
Change-Id: Ia09d01244d923957d589fd37e6d4c98f9f7bbd07 Signed-off-by: Krzysztof Karas <krzysztof.karas@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/9620 Reviewed-by: Tomasz Zawadzki <tomasz.zawadzki@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@gmail.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
show more ...
|
|
Revision tags: v21.07, v21.07-rc1 |
|
| #
f301d156 |
| 17-May-2021 |
Konrad Sztyber <konrad.sztyber@intel.com> |
lib/trace: variable number of tracepoint arguments
This patch allows tracepoint to record a variable number of arugments. An additional function has been added, `spdk_trace_register_description_ext(
lib/trace: variable number of tracepoint arguments
This patch allows tracepoint to record a variable number of arugments. An additional function has been added, `spdk_trace_register_description_ext()`, which allows the user to register definitions for tracepoints specifying all the arugments that they accept. Users can also call `spdk_trace_register_description()` to register tpoints with a single argument (or none).
Currently, all of the tracepoint arguments need to be passed as uint64_t.
The trace record functions use variable arguments and rely on tracepoint description to know the order and the format of the arguments passed. That means that the user needs to take care that they're always in sync.
Moreover, this patch extends the tracepoint entry size from 32B to 64B, meaning that there are 40B that can be utilized for passing arguments, which in turn means that there can be up to 5 arguments per tracepoint.
Signed-off-by: Konrad Sztyber <konrad.sztyber@intel.com> Change-Id: I9993eabb2663078052439320e6d2f6ae607a47ff Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/7956 Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Community-CI: Mellanox Build Bot
show more ...
|
|
Revision tags: v21.04, v21.04-rc1, v21.01.1, v21.01, v21.01-rc1, v20.10, v20.10-rc1, v20.07, v20.07-rc1, v20.04.1, v20.01.2 |
|
| #
74dcd8e2 |
| 10-May-2020 |
Seth Howell <seth.howell@intel.com> |
lib/trace: add a map file.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: Id3e4e1f3cd17739f534db9266d56ceda586312c1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2300 Commu
lib/trace: add a map file.
Signed-off-by: Seth Howell <seth.howell@intel.com> Change-Id: Id3e4e1f3cd17739f534db9266d56ceda586312c1 Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/2300 Community-CI: Mellanox Build Bot Community-CI: Broadcom CI Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Jim Harris <james.r.harris@intel.com> Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
show more ...
|