DPDK patches and discussions
 help / color / mirror / Atom feed
From: Harry van Haaren <harry.van.haaren@intel.com>
To: dev@dpdk.org
Cc: Harry van Haaren <harry.van.haaren@intel.com>, marko.kovacevic@intel.com
Subject: [dpdk-dev] [PATCH 01/18] doc/contrib: document dynamic logging format
Date: Thu, 25 Jan 2018 09:00:53 +0000	[thread overview]
Message-ID: <1516870870-168223-2-git-send-email-harry.van.haaren@intel.com> (raw)
In-Reply-To: <1516870870-168223-1-git-send-email-harry.van.haaren@intel.com>

This commit adds a section to the DPDK style guide to set
the dynamic logging formatting naming scheme.

Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>

---

Maintainer:
Cc: marko.kovacevic@intel.com
---
 doc/guides/contributing/coding_style.rst | 53 ++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index d8e4a0f..a859350 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -702,3 +702,56 @@ All Python code should work with Python 2.7+ and 3.2+ and be compliant with
 `PEP8 (Style Guide for Python Code) <https://www.python.org/dev/peps/pep-0008/>`_.
 
 The ``pep8`` tool can be used for testing compliance with the guidelines.
+
+
+Dynamic Logging
+---------------
+
+DPDK provides infrastructure to perform logging during runtime. This is very
+useful for enabling debug output without recompilation. To enable or disable
+logging of a particular topic, the ``--log-level`` parameter can be provided
+to EAL, which will change the log level. DPDK code can register topics,
+which allows the user to adjust the log verbosity for that specific topic.
+
+In general, the naming scheme is as follows: ``type.section.name``
+
+ * Type is the type of component, where ``lib``, ``pmd``, ``bus`` and ``user``
+   are the common options.
+ * Section refers to a specific area, for example a poll-mode-driver for an
+   ethernet device would use ``pmd.net``, while an eventdev PMD uses
+   ``pmd.event``.
+ * The name identifies the individual item that the log applies to.
+   The name section must align with
+   the directory that the PMD code resides. See examples below for clarity.
+
+Examples:
+
+ * The virtio network PMD in ``drivers/net/virtio`` uses ``pmd.net.virtio``
+ * The eventdev software poll mode driver in ``drivers/event/sw`` uses ``pmd.event.sw``
+ * The octeontx mempool driver in ``drivers/mempool/octeontx`` uses ``pmd.mempool.octeontx``
+ * The DPDK hash library in ``lib/librte_hash`` uses ``lib.hash``
+
+Specializations
+~~~~~~~~~~~~~~~
+
+In addition to the above logging topic, any PMD or library can further split
+logging output by using "specializations". A specialization could be the
+difference between initialization code, and logs of events that occur at runtime.
+
+An example could be the initialization log messages getting one
+specialization, while another specialization handles mailbox command logging.
+Each PMD, library or component can create as many specializations as required.
+
+A specialization looks like this:
+
+ * Initialization output: ``type.section.name.init``
+ * PF/VF mailbox output: ``type.section.name.mbox``
+
+A real world example is the i40e poll mode driver which exposes two
+specializations, one for initialization ``pmd.i40e.init`` and the other for
+the remaining driver logs ``pmd.i40e.driver``.
+
+Note that specializations have no formatting rules, but please follow
+a precedent if one exists. In order to see all current log topics and
+specializations, run the ``app/test`` binary, and use the ``dump_log_types``
+command.
-- 
2.7.4

  reply	other threads:[~2018-01-25  9:01 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-25  9:00 [dpdk-dev] [PATCH 00/18] dynamic logging naming scheme Harry van Haaren
2018-01-25  9:00 ` Harry van Haaren [this message]
2018-01-25  9:23   ` [dpdk-dev] [PATCH 01/18] doc/contrib: document dynamic logging format Kovacevic, Marko
2018-01-25  9:00 ` [dpdk-dev] [PATCH 02/18] event/opdl: align dynamic log name with standard Harry van Haaren
2018-01-25 11:15   ` Liang, Ma
2018-01-25  9:00 ` [dpdk-dev] [PATCH 03/18] octeontx: align dynamic log names " Harry van Haaren
2018-01-25 11:29   ` Jerin Jacob
2018-01-25 14:19   ` santosh
2018-01-25  9:00 ` [dpdk-dev] [PATCH 04/18] bbdev: " Harry van Haaren
2018-01-25  9:00 ` [dpdk-dev] [PATCH 05/18] net/avf: " Harry van Haaren
2018-01-25  9:00 ` [dpdk-dev] [PATCH 06/18] net/avp: " Harry van Haaren
2018-01-25 12:05   ` Legacy, Allain
2018-01-25 17:05     ` Van Haaren, Harry
2018-01-25 17:46       ` Legacy, Allain
2018-01-25  9:00 ` [dpdk-dev] [PATCH 07/18] net/e1000: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 08/18] net/ena: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 09/18] net/enic: " Harry van Haaren
2018-01-25 16:30   ` Hyong Youb Kim
2018-01-25  9:01 ` [dpdk-dev] [PATCH 10/18] net/fm10k: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 11/18] net/i40e: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 12/18] net/ixgbe: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 13/18] net/liquidio: " Harry van Haaren
2018-01-27  5:21   ` Shijith Thotton
2018-01-25  9:01 ` [dpdk-dev] [PATCH 14/18] net/nfp: " Harry van Haaren
2018-01-26 11:00   ` Alejandro Lucero
2018-01-25  9:01 ` [dpdk-dev] [PATCH 15/18] net/qede: " Harry van Haaren
2018-01-25  9:01 ` [dpdk-dev] [PATCH 16/18] net/thunderx: " Harry van Haaren
2018-01-25 11:27   ` Jerin Jacob
2018-01-25  9:01 ` [dpdk-dev] [PATCH 17/18] net/virtio: " Harry van Haaren
2018-01-25 11:25   ` Maxime Coquelin
2018-01-25  9:01 ` [dpdk-dev] [PATCH 18/18] net/vmxnet3: " Harry van Haaren
2018-01-26 10:14 ` [dpdk-dev] [PATCH 00/18] dynamic logging naming scheme Bruce Richardson
2018-01-31  8:28   ` Thomas Monjalon

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=1516870870-168223-2-git-send-email-harry.van.haaren@intel.com \
    --to=harry.van.haaren@intel.com \
    --cc=dev@dpdk.org \
    --cc=marko.kovacevic@intel.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;
as well as URLs for NNTP newsgroup(s).