From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Nandini Persad <nandinipersad361@gmail.com>
Subject: [PATCH v5 03/54] doc: correct grammar and errors in trace library guide
Date: Sun, 18 Jan 2026 11:10:06 -0800 [thread overview]
Message-ID: <20260118191323.241013-4-stephen@networkplumber.org> (raw)
In-Reply-To: <20260118191323.241013-1-stephen@networkplumber.org>
Changes:
- CRITICAL: restore missing "out" in "compiled out by default"
(RTE_TRACE_POINT_FP is disabled by default, not enabled)
- Add missing article and verb ("a framework", "are broadly divided")
- Change subject-verb agreement ("traces that use", "example greps/counts")
- Change article before vowel sound ("an EAL")
- Change preposition ("known to DPDK" not "known of DPDK")
- Use standard spelling "lockless" and "non-lcore"
Signed-off-by: Nandini Persad <nandinipersad361@gmail.com>
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
doc/guides/prog_guide/trace_lib.rst | 68 ++++++++++++++---------------
1 file changed, 34 insertions(+), 34 deletions(-)
diff --git a/doc/guides/prog_guide/trace_lib.rst b/doc/guides/prog_guide/trace_lib.rst
index d9b17abe90..829a061074 100644
--- a/doc/guides/prog_guide/trace_lib.rst
+++ b/doc/guides/prog_guide/trace_lib.rst
@@ -14,29 +14,29 @@ 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.
-Such a mechanism will be useful for resolving a wide range of problems such as
-multi-core synchronization issues, latency measurements, finding out the
-post analysis information like CPU idle time, etc that would otherwise be
-extremely challenging to get.
+This mechanism will be 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.
Tracing is often compared to *logging*. However, tracers and loggers are two
-different tools, serving two different purposes.
-Tracers are designed to record much lower-level events that occur much more
+different tools serving two different purposes.
+Tracers are designed to record much lower-level events that occur more
frequently than log messages, often in the range of thousands per second, with
very little execution overhead.
Logging is more appropriate for a very high-level analysis of less frequent
events: user accesses, exceptional conditions (errors and warnings, for
-example), database transactions, instant messaging communications, and such.
+example), database transactions, instant messaging communications, etc.
Simply put, logging is one of the many use cases that can be satisfied with
tracing.
DPDK tracing library features
-----------------------------
-- A framework to add tracepoints in control and fast path APIs with minimum
+- Provides a framework to add tracepoints in control and fast path APIs with minimum
impact on performance.
Typical trace overhead is ~20 cycles and instrumentation overhead is 1 cycle.
-- Enable and disable the tracepoints at runtime.
+- Enable and disable tracepoints at runtime.
- Save the trace buffer to the filesystem at any point in time.
- Support ``overwrite`` and ``discard`` trace mode operations.
- String-based tracepoint object lookup.
@@ -47,7 +47,7 @@ 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.
@@ -67,14 +67,14 @@ Create the tracepoint header file
rte_trace_point_emit_string(str);
)
-The above macro creates ``app_trace_string`` tracepoint.
+The above macro creates the ``app_trace_string`` tracepoint.
The user can choose any name for the tracepoint.
However, when adding a tracepoint in the DPDK library, the
``rte_<library_name>_trace_[<domain>_]<name>`` naming convention must be
followed.
The examples are ``rte_eal_trace_generic_str``, ``rte_mempool_trace_create``.
-The ``RTE_TRACE_POINT`` macro expands from above definition as the following
+The ``RTE_TRACE_POINT`` macro expands from the above definition as the following
function template:
.. code-block:: c
@@ -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
@@ -122,40 +122,40 @@ convention.
The ``RTE_TRACE_POINT_REGISTER`` defines the placeholder for the
``rte_trace_point_t`` tracepoint object.
- For generic tracepoint or for tracepoint used in public header files,
+ For a generic tracepoint or for the tracepoint used in public header files,
the user must export a ``__<trace_function_name>`` symbol
in the library ``.map`` file for this tracepoint
- to be used out of the library, in shared builds.
+ to be used out of the library in shared builds.
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
``RTE_TRACE_POINT_FP``. When adding the tracepoint in fast path code,
the user must use ``RTE_TRACE_POINT_FP`` instead of ``RTE_TRACE_POINT``.
-``RTE_TRACE_POINT_FP`` is compiled out by default and it can be enabled using
+``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. Trace library exposes the
+Event record mode is an attribute of trace buffers. The trace library exposes the
following modes:
Overwrite
- When the trace buffer is full, new trace events overwrites the existing
+ 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.
-The mode can be configured either using EAL command line parameter
-``--trace-mode`` on application boot up or use ``rte_trace_mode_set()`` API to
+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 file location
+Trace File Location
-------------------
On ``rte_trace_save()`` or ``rte_eal_cleanup()`` invocation, the library saves
@@ -167,7 +167,7 @@ option.
For more information, refer to :doc:`../linux_gsg/linux_eal_parameters` for
trace EAL command line options.
-View and analyze the recorded events
+View and Analyze Recorded Events
------------------------------------
Once the trace directory is available, the user can view/inspect the recorded
@@ -176,7 +176,7 @@ events.
There are many tools you can use to read DPDK traces:
#. ``babeltrace`` is a command-line utility that converts trace formats; it
- supports the format that DPDK trace library produces, CTF, as well as a
+ supports the format that the DPDK trace library produces, CTF, as well as a
basic text output that can be grep'ed.
The babeltrace command is part of the Open Source Babeltrace project.
@@ -195,12 +195,12 @@ to babeltrace with no options::
all their events, merging them in chronological order.
You can pipe the output of the babeltrace into a tool like grep(1) for further
-filtering. Below example grep the events for ``ethdev`` only::
+filtering. The example below greps the events for ``ethdev`` only::
babeltrace /tmp/my-dpdk-trace | grep ethdev
You can pipe the output of babeltrace into a tool like wc(1) to count the
-recorded events. Below example count the number of ``ethdev`` events::
+recorded events. The example below counts the number of ``ethdev`` events::
babeltrace /tmp/my-dpdk-trace | grep ethdev | wc --lines
@@ -238,7 +238,7 @@ 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 uses ``Common Trace
+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.
@@ -249,7 +249,7 @@ a trace.
For detailed information, refer to
`Common Trace Format <https://diamon.org/ctf/>`_.
-The implementation details broadly divided into the following areas:
+The implementation details are broadly divided into the following areas:
Trace metadata creation
~~~~~~~~~~~~~~~~~~~~~~~
@@ -272,16 +272,16 @@ Trace memory
The trace memory will be allocated through an internal function
``__rte_trace_mem_per_thread_alloc()``. The trace memory will be allocated
-per thread to enable lock less trace-emit function.
+per thread to enable lockless trace-emit function.
-For non lcore threads, the trace memory is allocated on the first trace
+For non-lcore threads, the trace memory is allocated on the first trace
emission.
-For lcore threads, if trace points are enabled through a EAL option, the trace
-memory is allocated when the threads are known of DPDK
+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).
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
+the behavior is the same as non-lcore threads and the trace memory is allocated
on the first trace emission.
Trace memory layout
--
2.51.0
next prev parent reply other threads:[~2026-01-18 19:13 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 ` [PATCH v4 09/11] doc: correct errors in trace " Stephen Hemminger
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 ` Stephen Hemminger [this message]
2026-01-18 19:10 ` [PATCH v5 04/54] doc: correct typos in log library guide 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=20260118191323.241013-4-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=nandinipersad361@gmail.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