From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Nandini Persad <nandinipersad361@gmail.com>,
Jerin Jacob <jerinj@marvell.com>,
Sunil Kumar Kori <skori@marvell.com>
Subject: [PATCH v4 09/11] doc: correct errors in trace library guide
Date: Wed, 14 Jan 2026 14:27:01 -0800 [thread overview]
Message-ID: <20260114222821.87920-10-stephen@networkplumber.org> (raw)
In-Reply-To: <20260114222821.87920-1-stephen@networkplumber.org>
Changes:
- Fix broken sentence in implementation details: "As DPDK trace library
is designed..." was a sentence fragment
- Fix tense inconsistency: "will be useful" -> "is useful",
"will be allocated" -> "is allocated",
"will be discarded" -> "are discarded"
- Fix grammatical parallelism: "or use the API" -> "or by using the API"
- Fix inconsistent capitalization in section headers: "Tracepoint" ->
"tracepoint" to match body text usage throughout
- Fix tool name consistency: "Tracecompass" -> "Trace Compass"
(official name, two words)
- Fix awkward phrasing: "one of a CTF trace's streams" ->
"one of the streams in a CTF trace"
- Fix trace header description for parallelism: "48 bits of timestamp
and 16 bits event ID" -> "a 48-bit timestamp and a 16-bit event ID"
- Add missing article: "to trace library" -> "to the trace library"
- Remove incorrect article:
"the ``my_tracepoint.h``" -> "``my_tracepoint.h``"
- Add function call parentheses: rte_eal_init -> rte_eal_init(),
rte_thread_register -> rte_thread_register()
- Fix ambiguous pronoun: "It can be overridden" -> "This location can
be overridden"
- Fix line wrap for readability in features list
Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/prog_guide/trace_lib.rst | 80 ++++++++++++++---------------
1 file changed, 40 insertions(+), 40 deletions(-)
diff --git a/doc/guides/prog_guide/trace_lib.rst b/doc/guides/prog_guide/trace_lib.rst
index 829a061074..33b6232ce3 100644
--- a/doc/guides/prog_guide/trace_lib.rst
+++ b/doc/guides/prog_guide/trace_lib.rst
@@ -14,7 +14,7 @@ When recording, specific instrumentation points placed in the software source
code generate events that are saved on a giant tape: a trace file.
The trace file then later can be opened in *trace viewers* to visualize and
analyze the trace events with timestamps and multi-core views.
-This mechanism will be useful for resolving a wide range of problems such as
+This mechanism is useful for resolving a wide range of problems such as
multi-core synchronization issues, latency measurements, and finding
post analysis information like CPU idle time, etc., that would otherwise be
extremely challenging to gather.
@@ -33,8 +33,8 @@ tracing.
DPDK tracing library features
-----------------------------
-- Provides a framework to add tracepoints in control and fast path APIs with minimum
- impact on performance.
+- Provides a framework to add tracepoints in control and fast path APIs with
+ minimal impact on performance.
Typical trace overhead is ~20 cycles and instrumentation overhead is 1 cycle.
- Enable and disable tracepoints at runtime.
- Save the trace buffer to the filesystem at any point in time.
@@ -47,8 +47,8 @@ DPDK tracing library features
For detailed information, refer to
`Common Trace Format <https://diamon.org/ctf/>`_.
-How to add a Tracepoint
-------------------------
+How to add a tracepoint
+-----------------------
This section steps you through the details of adding a simple tracepoint.
@@ -91,7 +91,7 @@ The consumer of this tracepoint can invoke
``app_trace_string(const char *str)`` to emit the trace event to the trace
buffer.
-Register the Tracepoint
+Register the tracepoint
~~~~~~~~~~~~~~~~~~~~~~~
.. code-block:: c
@@ -103,7 +103,7 @@ Register the Tracepoint
RTE_TRACE_POINT_REGISTER(app_trace_string, app.trace.string)
The above code snippet registers the ``app_trace_string`` tracepoint to
-trace library. Here, the ``my_tracepoint.h`` is the header file
+the trace library. Here, ``my_tracepoint.h`` is the header file
that the user created in the first step :ref:`create_tracepoint_header_file`.
The second argument for the ``RTE_TRACE_POINT_REGISTER`` is the name for the
@@ -129,7 +129,7 @@ convention.
For example, ``__app_trace_string`` will be the exported symbol in the
above example.
-Fast Path Tracepoint
+Fast path tracepoint
--------------------
In order to avoid performance impact in fast path code, the library introduced
@@ -139,7 +139,7 @@ the user must use ``RTE_TRACE_POINT_FP`` instead of ``RTE_TRACE_POINT``.
``RTE_TRACE_POINT_FP`` is compiled out by default and can be enabled using
the ``enable_trace_fp`` option for meson build.
-Event Record Mode
+Event record mode
-----------------
Event record mode is an attribute of trace buffers. The trace library exposes the
@@ -149,26 +149,26 @@ Overwrite
When the trace buffer is full, new trace events overwrite the existing
captured events in the trace buffer.
Discard
- When the trace buffer is full, new trace events will be discarded.
+ When the trace buffer is full, new trace events are discarded.
The mode can be configured either using the EAL command line parameter
-``--trace-mode`` on application boot up or use the ``rte_trace_mode_set()`` API to
-configure at runtime.
+``--trace-mode`` on application boot up or by using the ``rte_trace_mode_set()``
+API at runtime.
-Trace File Location
+Trace file location
-------------------
On ``rte_trace_save()`` or ``rte_eal_cleanup()`` invocation, the library saves
the trace buffers to the filesystem. By default, the trace files are stored in
``$HOME/dpdk-traces/rte-yyyy-mm-dd-[AP]M-hh-mm-ss/``.
-It can be overridden by the ``--trace-dir=<directory path>`` EAL command line
-option.
+This location can be overridden by the ``--trace-dir=<directory path>`` EAL
+command line option.
For more information, refer to :doc:`../linux_gsg/linux_eal_parameters` for
trace EAL command line options.
-View and Analyze Recorded Events
-------------------------------------
+View and analyze recorded events
+--------------------------------
Once the trace directory is available, the user can view/inspect the recorded
events.
@@ -204,28 +204,28 @@ recorded events. The example below counts the number of ``ethdev`` events::
babeltrace /tmp/my-dpdk-trace | grep ethdev | wc --lines
-Use the tracecompass GUI tool
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+Use the Trace Compass GUI tool
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-``Tracecompass`` is another tool to view/analyze the DPDK traces which gives
-a graphical view of events. Like ``babeltrace``, tracecompass also provides
+``Trace Compass`` is another tool to view/analyze the DPDK traces which gives
+a graphical view of events. Like ``babeltrace``, Trace Compass also provides
an interface to search for a particular event.
-To use ``tracecompass``, following are the minimum required steps:
+To use ``Trace Compass``, the following are the minimum required steps:
-- Install ``tracecompass`` to the localhost. Variants are available for Linux,
+- Install ``Trace Compass`` to the localhost. Variants are available for Linux,
Windows, and OS-X.
-- Launch ``tracecompass`` which will open a graphical window with trace
+- Launch ``Trace Compass`` which will open a graphical window with trace
management interfaces.
-- Open a trace using ``File->Open Trace`` option and select metadata file which
- is to be viewed/analyzed.
+- Open a trace using the ``File->Open Trace`` option and select the metadata file which
+ will be viewed/analyzed.
-For more details, refer
+For more details, refer to
`Trace Compass <https://www.eclipse.org/tracecompass/>`_.
Quick start
-----------
-This section steps you through the details of generating trace and viewing it.
+This section steps you through the details of generating the trace and viewing it.
- Start the dpdk-test::
@@ -238,9 +238,9 @@ This section steps you through the details of generating trace and viewing it.
Implementation details
----------------------
-As DPDK trace library is designed to generate traces that use ``Common Trace
-Format (CTF)``. ``CTF`` specification consists of the following units to create
-a trace.
+The DPDK trace library is designed to generate traces that use
+``Common Trace Format (CTF)``. The ``CTF`` specification consists of the
+following units to create a trace.
- ``Stream`` Sequence of packets.
- ``Packet`` Header and one or more events.
@@ -249,15 +249,15 @@ a trace.
For detailed information, refer to
`Common Trace Format <https://diamon.org/ctf/>`_.
-The implementation details are broadly divided into the following areas:
+Implementation details are broadly divided into the following areas:
Trace metadata creation
~~~~~~~~~~~~~~~~~~~~~~~
-Based on the ``CTF`` specification, one of a CTF trace's streams is mandatory:
-the metadata stream. It contains exactly what you would expect: data about the
-trace itself. The metadata stream contains a textual description of the binary
-layouts of all the other streams.
+Based on the ``CTF`` specification, one of the streams in a CTF trace is
+mandatory: the metadata stream. It contains exactly what you would expect:
+data about the trace itself. The metadata stream contains a textual description
+of the binary layouts of all the other streams.
This description is written using the Trace Stream Description Language (TSDL),
a declarative language that exists only in the realm of CTF.
@@ -270,8 +270,8 @@ The internal ``trace_metadata_create()`` function generates the metadata.
Trace memory
~~~~~~~~~~~~
-The trace memory will be allocated through an internal function
-``__rte_trace_mem_per_thread_alloc()``. The trace memory will be allocated
+The trace memory is allocated through an internal function
+``__rte_trace_mem_per_thread_alloc()``. The trace memory is allocated
per thread to enable lockless trace-emit function.
For non-lcore threads, the trace memory is allocated on the first trace
@@ -279,7 +279,7 @@ emission.
For lcore threads, if trace points are enabled through an EAL option, the trace
memory is allocated when the threads are known to DPDK
-(``rte_eal_init`` for EAL lcores, ``rte_thread_register`` for non-EAL lcores).
+(``rte_eal_init()`` for EAL lcores, ``rte_thread_register()`` for non-EAL lcores).
Otherwise, when trace points are enabled later in the life of the application,
the behavior is the same as non-lcore threads and the trace memory is allocated
on the first trace emission.
@@ -348,7 +348,7 @@ trace.header
| timestamp [47:0] |
+----------------------+
-The trace header is 64 bits, it consists of 48 bits of timestamp and 16 bits
+The trace header is 64 bits, consisting of a 48-bit timestamp and a 16-bit
event ID.
The ``packet.header`` and ``packet.context`` will be written in the slow path
--
2.51.0
next prev parent reply other threads:[~2026-01-14 22:29 UTC|newest]
Thread overview: 118+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-05-13 15:59 [PATCH 0/9] reowrd in prog guide Nandini Persad
2024-05-13 15:59 ` [PATCH 1/9] doc: reword design section in contributors guidelines Nandini Persad
2024-05-13 15:59 ` [PATCH 2/9] doc: reword pmd section in prog guide Nandini Persad
2024-05-13 15:59 ` [PATCH 3/9] doc: reword argparse " Nandini Persad
2024-05-13 19:01 ` Stephen Hemminger
2024-05-13 15:59 ` [PATCH 4/9] doc: reword service cores " Nandini Persad
2024-05-13 15:59 ` [PATCH 5/9] doc: reword trace library " Nandini Persad
2024-05-13 15:59 ` [PATCH 6/9] doc: reword log " Nandini Persad
2024-05-13 15:59 ` [PATCH 7/9] doc: reword cmdline " Nandini Persad
2024-05-13 15:59 ` [PATCH 8/9] doc: reword stack library " Nandini Persad
2024-05-13 15:59 ` [PATCH 9/9] doc: reword rcu " Nandini Persad
2024-06-21 2:32 ` [PATCH v2 1/9] doc: reword pmd " Nandini Persad
2024-06-21 2:32 ` [PATCH v2 2/9] doc: reword argparse " Nandini Persad
2024-06-22 14:53 ` Stephen Hemminger
2026-03-30 16:08 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 3/9] doc: reword design section in contributors guidelines Nandini Persad
2024-06-22 14:47 ` [PATCH] doc/design: minor cleanus Stephen Hemminger
2024-06-24 15:07 ` Thomas Monjalon
2026-03-31 22:53 ` [PATCH v2 3/9] doc: reword design section in contributors guidelines Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 4/9] doc: reword service cores section in prog guide Nandini Persad
2024-06-22 14:53 ` Stephen Hemminger
2026-03-31 22:50 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 5/9] doc: reword trace library " Nandini Persad
2024-06-22 14:54 ` Stephen Hemminger
2026-03-31 22:49 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 6/9] doc: reword log " Nandini Persad
2024-06-22 14:55 ` Stephen Hemminger
2026-03-31 22:47 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 7/9] doc: reword cmdline " Nandini Persad
2024-06-22 14:55 ` Stephen Hemminger
2026-03-31 22:45 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 8/9] doc: reword stack library " Nandini Persad
2024-06-22 14:55 ` Stephen Hemminger
2026-03-31 22:36 ` Stephen Hemminger
2024-06-21 2:32 ` [PATCH v2 9/9] doc: reword rcu " Nandini Persad
2024-06-22 14:55 ` Stephen Hemminger
2026-03-31 22:35 ` Stephen Hemminger
2024-06-22 14:52 ` [PATCH v2 1/9] doc: reword pmd " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 00/11] doc: programmers guide corrections Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 01/11] doc: correct grammar and punctuation errors in ethdev guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 02/11] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 03/11] doc: correct grammar and typos in design guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 04/11] doc: correct errors in Linux system requirements guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 05/11] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 06/11] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 07/11] doc: correct typos in log " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 08/11] doc: correct errors in command-line " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 09/11] doc: correct errors in trace " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 10/11] doc: correct errors in stack " Stephen Hemminger
2026-01-13 22:51 ` [PATCH v3 11/11] doc: correct errors in RCU " Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 00/11] doc: programmers guide corrections Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 01/11] doc: correct grammar and punctuation errors in ethdev guide Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 02/11] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-19 0:50 ` fengchengwen
2026-01-14 22:26 ` [PATCH v4 03/11] doc: correct grammar and typos in design guide Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 04/11] doc: correct errors in Linux system requirements guide Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 05/11] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 06/11] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-14 22:26 ` [PATCH v4 07/11] doc: correct typos in log " Stephen Hemminger
2026-01-14 22:27 ` [PATCH v4 08/11] doc: correct errors in command-line " Stephen Hemminger
2026-01-14 22:27 ` Stephen Hemminger [this message]
2026-01-14 22:27 ` [PATCH v4 10/11] doc: correct errors in stack " Stephen Hemminger
2026-01-14 22:27 ` [PATCH v4 11/11] doc: correct errors in RCU " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 00/54] doc: programmers guide corrections Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 01/54] doc: correct grammar and typos in argparse library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 02/54] doc: correct grammar in service cores guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 03/54] doc: correct grammar and errors in trace library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 04/54] doc: correct typos in log " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 05/54] doc: correct errors in command-line " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 06/54] doc: correct errors in trace " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 07/54] doc: correct errors in stack " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 08/54] doc: correct errors in RCU " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 09/54] doc: correct grammar and formatting in ASan guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 10/54] doc: correct grammar and typos in bbdev guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 11/54] doc: correct grammar and formatting in bpf lib guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 12/54] doc: correct grammar and typos in meson build guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 13/54] doc: correct grammar and typos in cryptodev guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 14/54] doc: correct grammar and formatting in compressdev guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 15/54] doc: correct grammar in dmadev guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 16/54] doc: correct grammar in efd guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 17/54] doc: correct grammar in EAL guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 18/54] doc: correct double space in FIB guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 19/54] doc: correct grammar in GRO guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 20/54] doc: correct grammar in GSO guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 21/54] doc: correct typos and grammar in graph guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 22/54] doc: correct grammar in hash guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 23/54] doc: correct grammar and typos in IP fragment guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 24/54] doc: correct double spaces in IPsec guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 25/54] doc: correct grammar in lcore variables guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 26/54] doc: correct typo in link bonding guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 27/54] doc: correct grammar in LTO guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 28/54] doc: correct grammar in LPM guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 29/54] doc: correct grammar and typo in LPM6 guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 30/54] doc: correct grammar in introduction Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 31/54] doc: correct grammar in mbuf library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 32/54] doc: correct grammar in membership " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 33/54] doc: correct errors in mempool " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 34/54] doc: correct style in meson unit tests guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 35/54] doc: correct errors in metrics library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 36/54] doc: correct grammar in mldev " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 37/54] doc: correct grammar in multi-process guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 38/54] doc: correct grammar in overview Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 39/54] doc: correct grammar in ACL library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 40/54] doc: correct typos in packet distributor guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 41/54] doc: correct grammar in packet framework guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 42/54] doc: correct grammar in PDCP library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 43/54] doc: correct grammar in pdump " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 44/54] doc: correct typos in power management guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 45/54] doc: correct grammar in profiling guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 46/54] doc: correct errors in regexdev guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 47/54] doc: correct grammar in reorder library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 48/54] doc: correct whitespace in RIB " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 49/54] doc: correct incomplete sentence in ring " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 50/54] doc: correct grammar in security " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 51/54] doc: correct hyphenation in thread safety guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 52/54] doc: correct errors in toeplitz hash library guide Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 53/54] doc: correct errors in vhost " Stephen Hemminger
2026-01-18 19:10 ` [PATCH v5 54/54] doc: correct whitespace in efficient code guide Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260114222821.87920-10-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=jerinj@marvell.com \
--cc=nandinipersad361@gmail.com \
--cc=skori@marvell.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox