get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/34444/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 34444,
    "url": "https://patches.dpdk.org/api/patches/34444/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1516870870-168223-2-git-send-email-harry.van.haaren@intel.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1516870870-168223-2-git-send-email-harry.van.haaren@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1516870870-168223-2-git-send-email-harry.van.haaren@intel.com",
    "date": "2018-01-25T09:00:53",
    "name": "[dpdk-dev,01/18] doc/contrib: document dynamic logging format",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "ac2417fe23e47bbaaa40f0667b5dd54d39c57996",
    "submitter": {
        "id": 317,
        "url": "https://patches.dpdk.org/api/people/317/?format=api",
        "name": "Van Haaren, Harry",
        "email": "harry.van.haaren@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1516870870-168223-2-git-send-email-harry.van.haaren@intel.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/34444/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/34444/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 479911B03C;\n\tThu, 25 Jan 2018 10:01:35 +0100 (CET)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby dpdk.org (Postfix) with ESMTP id 64F061B018\n\tfor <dev@dpdk.org>; Thu, 25 Jan 2018 10:01:30 +0100 (CET)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t25 Jan 2018 01:01:28 -0800",
            "from silpixa00398672.ir.intel.com ([10.237.223.111])\n\tby fmsmga001.fm.intel.com with ESMTP; 25 Jan 2018 01:01:27 -0800"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.46,411,1511856000\"; d=\"scan'208\";a=\"25310919\"",
        "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",
        "Date": "Thu, 25 Jan 2018 09:00:53 +0000",
        "Message-Id": "<1516870870-168223-2-git-send-email-harry.van.haaren@intel.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1516870870-168223-1-git-send-email-harry.van.haaren@intel.com>",
        "References": "<1516870870-168223-1-git-send-email-harry.van.haaren@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 01/18] doc/contrib: document dynamic logging\n\tformat",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "This commit adds a section to the DPDK style guide to set\nthe dynamic logging formatting naming scheme.\n\nSigned-off-by: Harry van Haaren <harry.van.haaren@intel.com>\n\n---\n\nMaintainer:\nCc: marko.kovacevic@intel.com\n---\n doc/guides/contributing/coding_style.rst | 53 ++++++++++++++++++++++++++++++++\n 1 file changed, 53 insertions(+)",
    "diff": "diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst\nindex d8e4a0f..a859350 100644\n--- a/doc/guides/contributing/coding_style.rst\n+++ b/doc/guides/contributing/coding_style.rst\n@@ -702,3 +702,56 @@ All Python code should work with Python 2.7+ and 3.2+ and be compliant with\n `PEP8 (Style Guide for Python Code) <https://www.python.org/dev/peps/pep-0008/>`_.\n \n The ``pep8`` tool can be used for testing compliance with the guidelines.\n+\n+\n+Dynamic Logging\n+---------------\n+\n+DPDK provides infrastructure to perform logging during runtime. This is very\n+useful for enabling debug output without recompilation. To enable or disable\n+logging of a particular topic, the ``--log-level`` parameter can be provided\n+to EAL, which will change the log level. DPDK code can register topics,\n+which allows the user to adjust the log verbosity for that specific topic.\n+\n+In general, the naming scheme is as follows: ``type.section.name``\n+\n+ * Type is the type of component, where ``lib``, ``pmd``, ``bus`` and ``user``\n+   are the common options.\n+ * Section refers to a specific area, for example a poll-mode-driver for an\n+   ethernet device would use ``pmd.net``, while an eventdev PMD uses\n+   ``pmd.event``.\n+ * The name identifies the individual item that the log applies to.\n+   The name section must align with\n+   the directory that the PMD code resides. See examples below for clarity.\n+\n+Examples:\n+\n+ * The virtio network PMD in ``drivers/net/virtio`` uses ``pmd.net.virtio``\n+ * The eventdev software poll mode driver in ``drivers/event/sw`` uses ``pmd.event.sw``\n+ * The octeontx mempool driver in ``drivers/mempool/octeontx`` uses ``pmd.mempool.octeontx``\n+ * The DPDK hash library in ``lib/librte_hash`` uses ``lib.hash``\n+\n+Specializations\n+~~~~~~~~~~~~~~~\n+\n+In addition to the above logging topic, any PMD or library can further split\n+logging output by using \"specializations\". A specialization could be the\n+difference between initialization code, and logs of events that occur at runtime.\n+\n+An example could be the initialization log messages getting one\n+specialization, while another specialization handles mailbox command logging.\n+Each PMD, library or component can create as many specializations as required.\n+\n+A specialization looks like this:\n+\n+ * Initialization output: ``type.section.name.init``\n+ * PF/VF mailbox output: ``type.section.name.mbox``\n+\n+A real world example is the i40e poll mode driver which exposes two\n+specializations, one for initialization ``pmd.i40e.init`` and the other for\n+the remaining driver logs ``pmd.i40e.driver``.\n+\n+Note that specializations have no formatting rules, but please follow\n+a precedent if one exists. In order to see all current log topics and\n+specializations, run the ``app/test`` binary, and use the ``dump_log_types``\n+command.\n",
    "prefixes": [
        "dpdk-dev",
        "01/18"
    ]
}