{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.ghprb.GhprbCause",
          "shortDescription" : "GitHub pull request #2885 of commit ceb458d6a07a42d8d6d3c16a3b8e387b5131d610, has merge conflicts."
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.ghprb.GhprbParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sha1",
          "value" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommit",
          "value" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbAuthorRepoGitUrl",
          "value" : "https://github.com/sabbene/bcc.git"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLogin",
          "value" : "yonghong-song"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTriggerAuthorLoginMention",
          "value" : "@yonghong-song"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullId",
          "value" : "2885"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTargetBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbSourceBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "GIT_BRANCH",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLogin",
          "value" : "sabbene"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLoginMention",
          "value" : "@sabbene"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullDescription",
          "value" : "GitHub pull request #2885 of commit ceb458d6a07a42d8d6d3c16a3b8e387b5131d610, has merge conflicts."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullTitle",
          "value" : "add support for nfs version 3 to nfsdist.py"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLink",
          "value" : "https://github.com/iovisor/bcc/pull/2885"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLongDescription",
          "value" : "Adding an option to explicitly trace nfs version 3 or 4 operations."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCommentBody",
          "value" : "[buildbot, test this please]"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbGhRepository",
          "value" : "iovisor/bcc"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCredentialsId",
          "value" : "6d3daf13-69b8-48b1-9c8f-ec5353264113"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "detached" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 471,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
            "branch" : [
              {
                "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
                "name" : "detached"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
            "branch" : [
              {
                "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
                "name" : "detached"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
        "branch" : [
          {
            "SHA1" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
            "name" : "detached"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/iovisor/bcc.git"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "<a title=\"add support for nfs version 3 to nfsdist.py\" href=\"https://github.com/iovisor/bcc/pull/2885\">PR #2885</a>: add support for nfs version...",
  "displayName" : "#471",
  "duration" : 1606386,
  "estimatedDuration" : 7460664,
  "executor" : None,
  "fullDisplayName" : "bcc-pr #471",
  "id" : "471",
  "keepLog" : False,
  "number" : 471,
  "queueId" : 3776,
  "result" : "SUCCESS",
  "timestamp" : 1588729217933,
  "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/471/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_usdt_probes.cc",
          "src/cc/libbpf.c"
        ],
        "commitId" : "c6a3f0298ebf0ec1cb1c455320876da5b4a0b07b",
        "timestamp" : 1579623538000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Remove namespace code from libbpf to fix USDT\u000a\u000aThis removes the namespace code from libbpf, as they are no longer necessary\u000asince #2324 was merged, and have caused regressions on older Kernels that do\u000anot use the new API for creating probes. This also deletes the dead code for\u000anamespace handling in libbpf, as this was the last use of it.\u000a\u000aThis also introduces regression tests to ensure that processes in containers\u000acan be USDT probed, by adding tests that unshare the mount and process\u000anamespaces.\u000a",
        "date" : "2020-01-21 08:18:58 -0800",
        "id" : "c6a3f0298ebf0ec1cb1c455320876da5b4a0b07b",
        "msg" : "Remove namespace code from libbpf to fix USDT",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/simulation.py"
        ],
        "commitId" : "dbfb18851866254a7b127146c8a9c2d76260ee78",
        "timestamp" : 1579714917000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix a bug in networking/simulation.py\u000a\u000atest test_brb.py failed on fc31 with the following error messages:\u000a  Traceback (most recent call last):\u000a    File \"./test_brb.py\", line 162, in test_brb\u000a      disable_ipv6=True)\u000a    File \"/home/yhs/work/bcc/tests/python/simulation.py\", line 94, in _create_ns\u000a      disable_ipv6)\u000a    File \"/home/yhs/work/bcc/tests/python/simulation.py\", line 68, in _ns_add_ifc\u000a      ns_ipdb.interfaces.lo.up().commit()\u000a    File \"/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/interfaces.py\", line 1078, in commit\u000a      raise error\u000a    File \"/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/interfaces.py\", line 859, in commit\u000a    transaction.wait_all_targets()\u000a    File \"/usr/local/lib/python3.7/site-packages/pyroute2/ipdb/transactional.py\", line 507, in wait_all_targets\u000a      raise CommitException('target %s is not set' % key)\u000a  pyroute2.ipdb.exceptions.CommitException: target state is not set\u000a\u000aThe reason is in networking/simulation.py, if the interface 'lo'\u000ainside the namespace is already up and it is tried to commit\u000ato 'up' state again, the pyroute2 library will cause an exception.\u000a\u000aThe fix is to avoid to 'up' interface 'lo' again if the interface\u000ais already in 'up' state.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-22 09:41:57 -0800",
        "id" : "dbfb18851866254a7b127146c8a9c2d76260ee78",
        "msg" : "fix a bug in networking/simulation.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/simulation.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/profile.py"
        ],
        "commitId" : "0cafe5571865d4dcab8ff2bd398b41dbc10b42f4",
        "timestamp" : 1579752366000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix line TypeError\u000a\u000a./profile.py -adf -p `pgrep -n main` 5\u000aTraceback (most recent call last):\u000a  File \"./profile.py\", line 342, in <module>\u000a    print(\"%s %d\" % (b\";\".join(line).decode('utf-8', 'replace'), v.value))\u000aTypeError: sequence item 5: expected a bytes-like object, str found\u000a",
        "date" : "2020-01-22 20:06:06 -0800",
        "id" : "0cafe5571865d4dcab8ff2bd398b41dbc10b42f4",
        "msg" : "fix line TypeError",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "introspection/bps.c",
          "docs/kernel-versions.md"
        ],
        "commitId" : "83b67c2a05b107ffc27cb9b8cec0bec9f5c43a84",
        "timestamp" : 1580166073000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync to latest libbpf repo\u000a\u000aSync to latest libbpf repo. New helper bpf_jiffies64\u000aand new program type BPF_PROG_TYPE_EXT is added.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-27 15:01:13 -0800",
        "id" : "83b67c2a05b107ffc27cb9b8cec0bec9f5c43a84",
        "msg" : "sync to latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".gitignore",
          ".github/workflows/bcc-test.yml",
          "tests/wrapper.sh.in",
          "tests/python/test_stackid.py",
          "tests/python/test_debuginfo.py",
          "tests/python/test_tools_smoke.py",
          "tests/python/test_trace3.py",
          "tests/python/utils.py",
          "tests/cc/test_c_api.cc",
          "tests/python/test_brb2.py",
          "tests/python/test_usdt.py",
          "tests/python/test_usdt3.py",
          "tests/python/test_usdt2.py",
          "examples/networking/simulation.py",
          "Dockerfile.tests",
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "a47c44fa0d570b64d8cb06449052db4f363e80a4",
        "timestamp" : 1580314798000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Run BCC test suite with github actions\u000a\u000aWith this commit, pushes to branches can trigger tests directly on\u000aGithub Actions.\u000a\u000aHere it will be able to test against kernel 4.14 and 5.0.0, which correspond\u000ato the latest Ubuntu LTS kernel releases.\u000a\u000aTests are run for both Debug and Release modes.\u000a\u000aTests run inside docker, in an ubuntu 19.04 container base.\u000a\u000aFor the github workflow:\u000a\u000a- The test_libbcc suite is run first, to potentially fail fast on these faster\u000aunit tests.\u000a- The Python test suite is run\u000a\u000aSome of these tests are allowed to fail, but the failure is still reported:\u000a\u000a- In catch2 tests, using the [!mayfail] tag, where this will be displayed in\u000athe test summary\u000a- In Python unittests, using the `@mayFail(\"Reason\")` decorator, which is\u000aintroduce for consistency with catch2. These will report the reason for the\u000afailure, and log this to an artifact of the test.\u000a",
        "date" : "2020-01-29 08:19:58 -0800",
        "id" : "a47c44fa0d570b64d8cb06449052db4f363e80a4",
        "msg" : "Run BCC test suite with github actions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/utils.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/simulation.py"
          },
          {
            "editType" : "add",
            "file" : ".github/workflows/bcc-test.yml"
          },
          {
            "editType" : "add",
            "file" : "Dockerfile.tests"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/wrapper.sh.in"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_stackid.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_debuginfo.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tools_smoke.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_brb2.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt3.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt2.py"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace3.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPF.cc",
          "src/cc/api/BPF.h",
          "src/cc/usdt.h",
          "tests/python/test_usdt2.py",
          "tests/python/test_usdt3.py",
          "tests/python/test_usdt.py"
        ],
        "commitId" : "b090f5f9eee62796829184ec862e3378a3b7e425",
        "timestamp" : 1580351171000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Make inode-only matching default, reverse USDT kludge\u000a",
        "date" : "2020-01-29 18:26:11 -0800",
        "id" : "b090f5f9eee62796829184ec862e3378a3b7e425",
        "msg" : "Make inode-only matching default, reverse USDT kludge",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt2.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt3.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "215b7243a074afc454d5cc092e9e45350ee2a667",
        "timestamp" : 1580425436000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "remove dead link\u000a\u000asolves #2722\u000a",
        "date" : "2020-01-30 15:03:56 -0800",
        "id" : "215b7243a074afc454d5cc092e9e45350ee2a667",
        "msg" : "remove dead link",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/klockstat.py"
        ],
        "commitId" : "90b2382b2068031930704d42205829b356f41ffb",
        "timestamp" : 1580434301000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/klockstat.py: Do not display symbol twice for stack\u000a\u000aCurrently we display the caller symbol in stack,\u000awhich ends up with output below when we enable stack:\u000a\u000a                                  Caller   Avg Hold  Count   Max hold Total hold\u000a                  b'flush_to_ldisc+0x22'      56112      2     103914     112225\u000a                  b'flush_to_ldisc+0x22'\u000a               b'process_one_work+0x1b0'\u000a                   b'worker_thread+0x50'\u000a                         b'kthread+0xfb'\u000a\u000aSkipping one more symbol in stack to fix that:\u000a\u000a                                  Caller   Avg Hold  Count   Max hold Total hold\u000a                  b'flush_to_ldisc+0x22'       1893      2       2765       3787\u000a               b'process_one_work+0x1b0'\u000a                   b'worker_thread+0x50'\u000a                         b'kthread+0xfb'\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-01-30 17:31:41 -0800",
        "id" : "90b2382b2068031930704d42205829b356f41ffb",
        "msg" : "tools/klockstat.py: Do not display symbol twice for stack",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "0e63c5c1ad267281f8d0b652eaf87dd494ddba04",
        "timestamp" : 1580434349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix compilation error due to latest llvm change\u000a\u000allvm 11.0 required explicit conversion from StringRef to std::string.\u000aThe patch is\u000a  https://github.com/llvm/llvm-project/commit/777180a32b61070a10dd330b4f038bf24e916af1\u000a\u000aThis patch made a compatible change which works for old llvm\u000aas well.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-30 17:32:29 -0800",
        "id" : "0e63c5c1ad267281f8d0b652eaf87dd494ddba04",
        "msg" : "fix compilation error due to latest llvm change",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "docs/reference_guide.md",
          "src/cc/api/BPFTable.h",
          "src/cc/api/BPF.cc",
          "src/cc/api/BPF.h",
          "src/cc/export/helpers.h",
          "src/python/bcc/table.py",
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "46965c6b3790a51ba288093c68b16fab71914f88",
        "timestamp" : 1580492211000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add XSKMAP support (#2730)\u000a\u000a* add XSKMAP support\u000a* enable lookup for XSKMAP available from kernel 5.3\u000a* add section for XSKMAP in reference guide\u000a",
        "date" : "2020-01-31 09:36:51 -0800",
        "id" : "46965c6b3790a51ba288093c68b16fab71914f88",
        "msg" : "Add XSKMAP support (#2730)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "f727a00fb4a388f30ab0f637b43f27345b0f6da7",
        "timestamp" : 1580788905000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bcc.BPF.cleanup(): Ensure self.funcs items get deleted during cleanup\u000a\u000aSince commit 115b959d86\u000a(\"Fix a file descriptor leak when module is deleted (#2530)\"), we\u000aobserve the following exceptions during python exit:\u000a\u000a  Error in atexit._run_exitfuncs:\u000a  Traceback (most recent call last):\u000a    File \"/usr/lib/python2.7/atexit.py\", line 24, in _run_exitfuncs\u000a      func(*targs, **kargs)\u000a    File \"/usr/lib/python2.7/dist-packages/bcc/__init__.py\", line 1366, in cleanup\u000a      os.close(fn.fd)\u000a  OSError: [Errno 9] Bad file descriptor\u000a\u000awhich occurs for python programs issuing a call to 'cleanup()', or using\u000athe 'with bcc.BPF(...)' code pattern.\u000a\u000aBPF's 'cleanup' is registered to be invoked atexit. Alas, commit\u000a115b959d86 introduced an 'os.close(fn.fd)' call for each func loaded (to\u000aprevent accidental FD leakage).\u000a\u000aProblem is, that the 'self.funcs' dict entries are NOT deleted, making\u000asubsequent calls to 'cleanup' to attempt closing the same 'fn.fd' again\u000aand again.\u000a\u000aIt is expected from 'cleanup' to operate correctly when called\u000arepeatedly; Therefore, it should \"nullify\" references to closed\u000aresources.\u000a\u000aFix, by deleting the reference to each unloaded function from the\u000a'self.func' dictionary.\u000a\u000aFixes: 115b959d86 (\"Fix a file descriptor leak when module is deleted (#2530)\")\u000aReported-by: Dana Rubin <drubin@metanetworks.com>\u000aSigned-off-by: Shmulik Ladkani <shmulik.ladkani@gmail.com>\u000a",
        "date" : "2020-02-03 20:01:45 -0800",
        "id" : "f727a00fb4a388f30ab0f637b43f27345b0f6da7",
        "msg" : "bcc.BPF.cleanup(): Ensure self.funcs items get deleted during cleanup",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/export/helpers.h"
        ],
        "commitId" : "68789499f281c73d0ef9956dd88100c48558050e",
        "timestamp" : 1580833707000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "define CC_USING_FENTRY if CONFIG_FUNCTION_TRACER is defined\u000a\u000aFix issue #2734.\u000a\u000aIn 4.18 and later, when CONFIG_FUNCTION_TRACER is defined, kernel Makefile adds\u000a-DCC_USING_FENTRY. Let do the same for bpf programs.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-04 08:28:27 -0800",
        "id" : "68789499f281c73d0ef9956dd88100c48558050e",
        "msg" : "define CC_USING_FENTRY if CONFIG_FUNCTION_TRACER is defined",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "snapcraft/bcc-wrapper",
          "snap/README.md",
          "snap/local/bcc-wrapper",
          "src/python/setup.py.in",
          "snap/snapcraft.yaml",
          "snapcraft/Makefile",
          "snapcraft/README.md",
          "snapcraft/snapcraft.yaml"
        ],
        "commitId" : "685ec23ecaa9c55409a21b5cd3c919fe1206fb20",
        "timestamp" : 1581009398000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "snap: update and cleanup snapcraft.yaml\u000a\u000aA couple of issues fixed:\u000a\u000a- put snapcraft.yaml in the snap directory so it is\u000a  picked up by snapcraft when run from the project root.\u000a- use snap/local for local snapcraft assets.\u000a- setup.py.in should not add root for sdist targets\u000a- cleanup snap/README.md.\u000a- re-arrange parts in snapcraft.yaml and move to python3.\u000a\u000aSigned-off-by: Sergio Schvezov <sergio.schvezov@canonical.com>\u000a",
        "date" : "2020-02-06 09:16:38 -0800",
        "id" : "685ec23ecaa9c55409a21b5cd3c919fe1206fb20",
        "msg" : "snap: update and cleanup snapcraft.yaml",
        "paths" : [
          {
            "editType" : "add",
            "file" : "snap/snapcraft.yaml"
          },
          {
            "editType" : "add",
            "file" : "snap/README.md"
          },
          {
            "editType" : "add",
            "file" : "snap/local/bcc-wrapper"
          },
          {
            "editType" : "delete",
            "file" : "snapcraft/snapcraft.yaml"
          },
          {
            "editType" : "delete",
            "file" : "snapcraft/Makefile"
          },
          {
            "editType" : "delete",
            "file" : "snapcraft/README.md"
          },
          {
            "editType" : "delete",
            "file" : "snapcraft/bcc-wrapper"
          },
          {
            "editType" : "edit",
            "file" : "src/python/setup.py.in"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "tools/tcptop.py"
        ],
        "commitId" : "a4834a6cacd14f251e72695f08766a16216642b2",
        "timestamp" : 1581020611000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "prevent rewriting for array element type\u000a\u000aFix issue #2352.\u000aCorresponding llvm bug: https://bugs.llvm.org/show_bug.cgi?id=41918.\u000a\u000aIf the element type is array type, the rewriter may generate code like\u000a  addr = ({ typeof(__u8 [16]) _val; __builtin_memset(&_val, 0, sizeof(_val));\u000a            bpf_probe_read(&_val, sizeof(_val), (u64)&daddr->s6_addr); _val; })\u000afor something like\u000a  addr = daddr->s6_addr;\u000awhere s6_addr is an array.\u000a\u000aThe above code has an issue then as addr is pointing to some data\u000awhich is out of scope, which meaning compiler is free to use the space.\u000a\u000aLet us disable such transformation until we find a good solution.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-06 12:23:31 -0800",
        "id" : "a4834a6cacd14f251e72695f08766a16216642b2",
        "msg" : "prevent rewriting for array element type",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "f149ca5d774aa81d8b78cfcd5be6f5cf58cbdab7",
        "timestamp" : 1581023742000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Do not rewrite array subscripts if invalid sourceloc range\u000a\u000aFix #2739.\u000a\u000aThe issue exposed an issue that to rewrite\u000a  CODE1: __u8 byte = daddr->s6_addr[4];\u000awill segfault and to rewrite\u000a  CODE2: __u8 byte = (daddr->s6_addr)[4];\u000awill be okay.\u000a\u000aFor CODE1, the clang did not give enough information to find the text\u000awhich contains the left bracket \"[\", given base \"daddr->s6_addr\"\u000aand subscript \"4\". For CODE2, the clang is able to get the information\u000asuccessfuly.\u000a\u000aI think if we really go inside the base \"daddr->s6_addr\" and gets to\u000aits member field \"s6_addr\", we can find the needed information\u000afor the text range containing \"[\". Let us fix the segfault first\u000aand if really desirable, we can try to enhance later for CODE1 patterns.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-06 13:15:42 -0800",
        "id" : "f149ca5d774aa81d8b78cfcd5be6f5cf58cbdab7",
        "msg" : "Do not rewrite array subscripts if invalid sourceloc range",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/offwaketime.py"
        ],
        "commitId" : "0a7da74e2580150002131aebbe9eaa2d5e2c9b62",
        "timestamp" : 1581092194000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix offwaketime regression introduced by #ac00ac5\u000a",
        "date" : "2020-02-07 08:16:34 -0800",
        "id" : "0a7da74e2580150002131aebbe9eaa2d5e2c9b62",
        "msg" : "Fix offwaketime regression introduced by #ac00ac5",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "tests/cc/CMakeLists.txt",
          "src/cc/api/BPFTable.h",
          "src/cc/api/BPF.cc",
          "src/cc/bpf_module.cc",
          "src/cc/api/BPF.h",
          "tests/cc/test_cg_storage.cc",
          "src/cc/export/helpers.h",
          "src/cc/bpf_module.h",
          "tests/cc/test_sock_table.cc",
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "6cacc41462bae12b1c38aabc7a6b85f40783da9a",
        "timestamp" : 1581181989000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "support sockmap/sockhash/cgroup_local_storage maps\u000a\u000aThis patch supports sockmap, sockhash and cgroup_local_storage\u000amaps. Two C++ APIs, attach_func and detach_func are also\u000aadded to allow to attach program to cgroups. So this makes\u000ausing C++ APIs for cgroup based networking applications\u000aeasier to integrate with bpf programs.\u000a\u000aThe unit testing is rough as it needs some work to set up\u000acgroups and establish TCP connections to really test the\u000aresult of map operations. But still all supported map\u000aoperations in kernel and in C++ APIs are tested syntacically.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-08 09:13:09 -0800",
        "id" : "6cacc41462bae12b1c38aabc7a6b85f40783da9a",
        "msg" : "support sockmap/sockhash/cgroup_local_storage maps",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_sock_table.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_cg_storage.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/control"
        ],
        "commitId" : "397ff3708f6b0d17ae0a6e2d7edf13c7d0801d83",
        "timestamp" : 1581233483000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbcc debian package is architecture-dependent\u000a",
        "date" : "2020-02-08 23:31:23 -0800",
        "id" : "397ff3708f6b0d17ae0a6e2d7edf13c7d0801d83",
        "msg" : "libbcc debian package is architecture-dependent",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/control"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "0f92c845a7deb60e97f49425f181d7b7e9daf56b",
        "timestamp" : 1581268355000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "correctly describe installation situation for Ubuntu\u000a",
        "date" : "2020-02-09 09:12:35 -0800",
        "id" : "0f92c845a7deb60e97f49425f181d7b7e9daf56b",
        "msg" : "correctly describe installation situation for Ubuntu",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "snap/snapcraft.yaml"
        ],
        "commitId" : "c82aa514babba5d34e3794a76bf464fdd28ae423",
        "timestamp" : 1581518920000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "snapcraft: add missing libfl-dev dependency\u000a\u000aAlso need libfl-dev to build on other non-x86 targets\u000a\u000aSigned-off-by: Colin Ian King <colin.king@canonical.com>\u000a",
        "date" : "2020-02-12 06:48:40 -0800",
        "id" : "c82aa514babba5d34e3794a76bf464fdd28ae423",
        "msg" : "snapcraft: add missing libfl-dev dependency",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "snap/snapcraft.yaml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/bin/bpftool"
        ],
        "commitId" : "4281c62f9f04962bed05a326f68102b6ee8a5464",
        "timestamp" : 1581541170000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
          "fullName" : "andriin"
        },
        "authorEmail" : "andriin@fb.com",
        "comment" : "libbpf tools: check in bpftool for use by libbpf-based tool build\u000a\u000aCheck in bpftool binary to be used for BPF skeleton generation for\u000alibbpf-based tools.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-02-12 12:59:30 -0800",
        "id" : "4281c62f9f04962bed05a326f68102b6ee8a5464",
        "msg" : "libbpf tools: check in bpftool for use by libbpf-based tool build",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/bin/bpftool"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/vmlinux.h",
          "libbpf-tools/vmlinux_505.h"
        ],
        "commitId" : "7fcb335b6c068dded2af10918753ead35ad87532",
        "timestamp" : 1581541254000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
          "fullName" : "andriin"
        },
        "authorEmail" : "andriin@fb.com",
        "comment" : "tools: add vmlinux.h header with all kernel types\u000a\u000aCheck in vmlinux.h generated from Linux 5.5 version with default config. This\u000ais used from libbpf-based tools.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-02-12 13:00:54 -0800",
        "id" : "7fcb335b6c068dded2af10918753ead35ad87532",
        "msg" : "tools: add vmlinux.h header with all kernel types",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/vmlinux.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/vmlinux_505.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt"
        ],
        "commitId" : "2d099cd8c5cb1598d6e911c0b389132ebc7c101b",
        "timestamp" : 1581554521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Allow specifying clang base directory\u000a",
        "date" : "2020-02-12 16:42:01 -0800",
        "id" : "2d099cd8c5cb1598d6e911c0b389132ebc7c101b",
        "msg" : "Allow specifying clang base directory",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/runqslower.c",
          "libbpf-tools/runqslower_example.txt",
          "libbpf-tools/runqslower.bpf.c",
          "libbpf-tools/README.md",
          "libbpf-tools/runqslower.h",
          "man/man8/runqslower.8",
          "libbpf-tools/.gitignore",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "e1496e15a749fa700315f759dfca4ac79f3f6428",
        "timestamp" : 1581570874000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
          "fullName" : "andriin"
        },
        "authorEmail" : "andriin@fb.com",
        "comment" : "tools: add libbpf-based tools to BCC w/ runqslower as first converted tool\u000a\u000aAdd runqslower as a first tool converted from BCC to libbpf, utilizing BPF\u000aCO-RE (Compile Once - Run Everywhere) approach and BPF skeleton for\u000ainterfacing with BPF programs. Current set up is Makefile based and is set up\u000ain such a way as to enable easy addition for more tools, based on a simple and\u000aconvenient naming pattern. General build infrastructure takes case of BPF\u000askeleton generation, tracking dependencies, clean up, etc.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-02-12 21:14:34 -0800",
        "id" : "e1496e15a749fa700315f759dfca4ac79f3f6428",
        "msg" : "tools: add libbpf-based tools to BCC w/ runqslower as first converted tool",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/runqslower.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/runqslower.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/runqslower.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/runqslower_example.txt"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/README.md"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/runqslower.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcpconnlat.py"
        ],
        "commitId" : "a28ad059edf6f74acc124fde4b4934a2fc410a35",
        "timestamp" : 1581892852000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix pid filter bug\u000a\u000a1. Wirte a simple go, just print pid and get some website.\u000afunc main() {\u000a\u0009 pid := os.Getpid()\u000a         fmt.Println(pid)\u000a         response, err := http.Get(\"http://www.baidu.com\")\u000a        ....\u000a}\u000a\u000a./main\u000a3581\u000a\u000a2. But when run `tcpconnlat`, we just go tid 3585, (not pid 3581)\u000a#./tcpconnlat\u000aPID    COMM         IP SADDR            DADDR            DPORT LAT(ms)\u000a3585   main         4  10.0.2.15        180.101.49.11    80    60.68\u000a\u000a3. So run `./tcpconnlat -p 3581` not work\u000aI have tested this situation under kernel 3.10 and 5.0.9.\u000a",
        "date" : "2020-02-16 14:40:52 -0800",
        "id" : "a28ad059edf6f74acc124fde4b4934a2fc410a35",
        "msg" : "fix pid filter bug",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcpconnlat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/stackcount_example.txt",
          "tools/stackcount.py"
        ],
        "commitId" : "9b6a0e357c30b52e115f803bb6babb3ffc4fdabf",
        "timestamp" : 1582069705000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/stackcount: Fix address resolution for user-space stack\u000a\u000aThis patch fixes issue #2748. The bug was that address-to-symbol resolution\u000adidn't work for user-space stacks without the `-P` (per-pid) flag when tracing\u000asingle, isolated processes. The current documentation of the `-P` option\u000aindicates that it's used to \"display stacks separately for each process\",\u000aand this doesn't match with the intended usage.\u000a\u000aThis patch has two parts:\u000a\u000a - Fix `tools/stackcount.py` to explicitly set perpid to True if `-p <pid>`\u000a   is used\u000a - Remove the `-P` option from the example of tracing single, isolated process\u000a   in `tools/stackcount_example.txt`, since the usage of the option can\u000a   be confusing (and unnecessary after the current change)\u000a",
        "date" : "2020-02-18 15:48:25 -0800",
        "id" : "9b6a0e357c30b52e115f803bb6babb3ffc4fdabf",
        "msg" : "tools/stackcount: Fix address resolution for user-space stack",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/stackcount_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/stackcount.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/dddos.py"
        ],
        "commitId" : "1332e68676fe0f1365dccd5ebffc05259b67abc1",
        "timestamp" : 1582084033000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update dddos.py\u000a\u000aFix a few more typos\u000a",
        "date" : "2020-02-18 19:47:13 -0800",
        "id" : "1332e68676fe0f1365dccd5ebffc05259b67abc1",
        "msg" : "Update dddos.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/tracing/dddos.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/bindsnoop_example.txt",
          "tests/python/test_tools_smoke.py",
          "tools/bindsnoop.py",
          "man/man8/bindsnoop.8",
          "README.md"
        ],
        "commitId" : "8dd4b5a521602d86a9331b5c6c6bdd53a8b4ed72",
        "timestamp" : 1582084151000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "bindsnoop BCC tool (#2749)\u000a\u000abindsnoop BCC utility\u000a\u000abindsnoop tool traces the kernel function performing socket binding and\u000aprint socket options set before the system call invocation that might\u000aimpact bind behavior and bound interface\u000a",
        "date" : "2020-02-18 19:49:11 -0800",
        "id" : "8dd4b5a521602d86a9331b5c6c6bdd53a8b4ed72",
        "msg" : "bindsnoop BCC tool (#2749)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tools/bindsnoop.py"
          },
          {
            "editType" : "add",
            "file" : "man/man8/bindsnoop.8"
          },
          {
            "editType" : "add",
            "file" : "tools/bindsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tools_smoke.py"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "51be481a7957b8d84bd02487f66f819f79e94f4a",
        "timestamp" : 1582087366000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync to latest libbpf\u000a\u000async to latest libbpf (libbpf release v0.0.7) to\u000aprepare bcc release.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-18 20:42:46 -0800",
        "id" : "51be481a7957b8d84bd02487f66f819f79e94f4a",
        "msg" : "sync to latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/profile.py"
        ],
        "commitId" : "29aa61985c98456177d52a5f00cba092b572e778",
        "timestamp" : 1582128592000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "tools/profile: fix kernel delimiter when folding (#2758)\u000a\u000aretain delimiter with folding enabled\u000a",
        "date" : "2020-02-19 08:09:52 -0800",
        "id" : "29aa61985c98456177d52a5f00cba092b572e778",
        "msg" : "tools/profile: fix kernel delimiter when folding (#2758)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/execsnoop.py"
        ],
        "commitId" : "b26b429cf38b0e1afe915ceee0a1f0172e803ea4",
        "timestamp" : 1582132188000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: fix confusion between execsnoop and opensnoop\u000a\u000aThe execsnoop documentation mispelled 'execsnoop' as 'opensnoop'.\u000a\u000aBug introduced by https://github.com/iovisor/bcc/pull/2651\u000a",
        "date" : "2020-02-19 09:09:48 -0800",
        "id" : "b26b429cf38b0e1afe915ceee0a1f0172e803ea4",
        "msg" : "tools: fix confusion between execsnoop and opensnoop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/execsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/changelog"
        ],
        "commitId" : "942227484d3207f6a42103674001ef01fb5335a0",
        "timestamp" : 1582174809000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "debian changelog for v0.13.0 tag\u000a\u000a  * Support for kernel up to 5.5\u000a  * bindsnoop tool to track tcp/udp bind information\u000a  * added compile-once run-everywhere based libbpf-tools, currently\u000a    only runqslower is implemented.\u000a  * new map support: sockhash, sockmap, sk_storage, cgroup_storage\u000a  * enable to run github actions on the diff\u000a  * cgroupmap based cgroup filtering for opensnoop, execsnoop and bindsnoop.\u000a  * lots of bug fixes.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-02-19 21:00:09 -0800",
        "id" : "942227484d3207f6a42103674001ef01fb5335a0",
        "msg" : "debian changelog for v0.13.0 tag",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/changelog"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/filtering_by_cgroups.md",
          "tools/tcpaccept.py",
          "tools/tcptracer.py",
          "tools/tcpconnect.py",
          "tools/tcpaccept_example.txt",
          "tools/tcpconnect_example.txt",
          "tools/tcptracer_example.txt"
        ],
        "commitId" : "1ce868fbb4b4cd45f9d3d043c6d697f45fc6268d",
        "timestamp" : 1582247124000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add option --cgroupmap to tcp tools\u000a\u000aList of tcp tools updated: tcpaccept, tcpconnect, tcptracer\u000a",
        "date" : "2020-02-20 17:05:24 -0800",
        "id" : "1ce868fbb4b4cd45f9d3d043c6d697f45fc6268d",
        "msg" : "tools: add option --cgroupmap to tcp tools",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/filtering_by_cgroups.md"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/tcpaccept.8",
          "man/man8/tcpconnect.8",
          "man/man8/execsnoop.8",
          "man/man8/tcptracer.8",
          "man/man8/opensnoop.8"
        ],
        "commitId" : "5e3f9e4915fab83effccf3d20d3fbee715d96f6c",
        "timestamp" : 1582247124000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "man pages: add documentation about --cgroupmap\u000a",
        "date" : "2020-02-20 17:05:24 -0800",
        "id" : "5e3f9e4915fab83effccf3d20d3fbee715d96f6c",
        "msg" : "man pages: add documentation about --cgroupmap",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/tcpaccept.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/execsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcptracer.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcpconnect.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/opensnoop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPF.cc",
          "src/cc/libbpf.c",
          "src/cc/api/BPF.h",
          "src/cc/libbpf.h"
        ],
        "commitId" : "5681ea9edb5763c6199c2e2e7956bdfa7c13ea36",
        "timestamp" : 1582247758000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "c++ api: add wrapper for raw tracepoints\u000a",
        "date" : "2020-02-20 17:15:58 -0800",
        "id" : "5681ea9edb5763c6199c2e2e7956bdfa7c13ea36",
        "msg" : "c++ api: add wrapper for raw tracepoints",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cpp/RandomRead.cc"
        ],
        "commitId" : "2a2e7290b60fdc420baa93954c20af8338fa6fae",
        "timestamp" : 1582247758000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "cpp examples: use a raw tracepoint for RandomRead\u000a",
        "date" : "2020-02-20 17:15:58 -0800",
        "id" : "2a2e7290b60fdc420baa93954c20af8338fa6fae",
        "msg" : "cpp examples: use a raw tracepoint for RandomRead",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/cpp/RandomRead.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/README.md"
        ],
        "commitId" : "7ad17638acd9c1d82264451c9b0800ecf5ce4f59",
        "timestamp" : 1582265941000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
          "fullName" : "andriin"
        },
        "authorEmail" : "andriin@fb.com",
        "comment" : "libbpf-tools: add links to BPF CO-RE posts\u000a\u000aAdd links to BPF CO-RE blog posts, explainint what it is, how to use it, and\u000agiving practical recommendations on how to convert BCC BPF program to\u000alibbpf-based one.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-02-20 22:19:01 -0800",
        "id" : "7ad17638acd9c1d82264451c9b0800ecf5ce4f59",
        "msg" : "libbpf-tools: add links to BPF CO-RE posts",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/execsnoop.8",
          "tools/execsnoop.py",
          "tools/execsnoop_example.txt"
        ],
        "commitId" : "c949f613315f19fce1fe5e6dacb1f0e5759c91c9",
        "timestamp" : 1582302172000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: execsnoop add -U and -u flags\u000a\u000aAdd flags to display UID and filter by UID\u000a",
        "date" : "2020-02-21 08:22:52 -0800",
        "id" : "c949f613315f19fce1fe5e6dacb1f0e5759c91c9",
        "msg" : "tools: execsnoop add -U and -u flags",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/execsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/execsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/execsnoop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/oomkill.py"
        ],
        "commitId" : "9edbae394f1827a2f5d549795848dc892c6531bf",
        "timestamp" : 1582609928000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/oomkill: output PID instead of thread ID (user's view)\u000a",
        "date" : "2020-02-24 21:52:08 -0800",
        "id" : "9edbae394f1827a2f5d549795848dc892c6531bf",
        "msg" : "tools/oomkill: output PID instead of thread ID (user's view)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/oomkill.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/http_filter/http-parse-complete.py"
        ],
        "commitId" : "6f3c33b01ce72a44c89a6dcccd3f1cbd99fe1949",
        "timestamp" : 1582610424000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix the python part of the http-parse-complete example\u000a\u000aThe example wasn't working on my machine, just like in issue #2169\u000a",
        "date" : "2020-02-24 22:00:24 -0800",
        "id" : "6f3c33b01ce72a44c89a6dcccd3f1cbd99fe1949",
        "msg" : "Fix the python part of the http-parse-complete example",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-complete.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "08de253fbbc2603d59c19618a3e9f18f5bff7bff",
        "timestamp" : 1582674495000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix a table of contents of maps\u000a\u000aSigned-off-by: Masanori Misono <m.misono760@gmail.com>\u000a",
        "date" : "2020-02-25 15:48:15 -0800",
        "id" : "08de253fbbc2603d59c19618a3e9f18f5bff7bff",
        "msg" : "Fix a table of contents of maps",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt"
        ],
        "commitId" : "18da40cd186296d277e193fa92dec1791a888b8c",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix bpf linking if specified via LIBBPF_LIBRARIES variable\u000a\u000aWe need to use LIBBPF_LIBRARIES variable instead of just using bpf\u000afor libbpf linking, so it user specified library gets linked in.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "18da40cd186296d277e193fa92dec1791a888b8c",
        "msg" : "Fix bpf linking if specified via LIBBPF_LIBRARIES variable",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "src/cc/bpf_module.cc",
          "src/cc/libbpf.c",
          "src/cc/CMakeLists.txt",
          "src/cc/bcc_btf.cc",
          "src/cc/bcc_libbpf_inc.h"
        ],
        "commitId" : "1e7862fdfd8b428e6b2e3ea23f63a1469c3fabf3",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Unite libbpf includes\u000a\u000aCurrently we include headers from local libbpf subpackage,\u000awhich does not work if user specify LIBBPF_INCLUDE_DIR.\u000a\u000aAdding HAVE_EXTERNAL_LIBBPF macro, that gets defined when\u000auser specifies libbpf header path. This macro is checked\u000ain bcc_libbpf_inc.h and proper files are included.\u000a\u000aUsing bcc_libbpf_inc.h in place of libbpf includes.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "1e7862fdfd8b428e6b2e3ea23f63a1469c3fabf3",
        "msg" : "Unite libbpf includes",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_btf.cc"
          },
          {
            "editType" : "add",
            "file" : "src/cc/bcc_libbpf_inc.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bpf_module.cc",
          "src/cc/libbpf.c"
        ],
        "commitId" : "550706a220da1636fafd322f0366cfde2a188d16",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Do not initialize kern_version for TRACING/EXT programs\u000a\u000aThe TRACING/EXT programs use attach_btf_id and attach_prog_fd\u000afields from struct bpf_load_program_attr.\u000a\u000aThe attach_prog_fd field shares space with kern_version,\u000aso by setting kern_version unconditionally we also set\u000aattach_prog_fd to bogus value and kernel fails the load\u000abecause it tries to look it up.\u000a\u000aSetting kern_version only for programs other than TRACING/EXT\u000atype.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "550706a220da1636fafd322f0366cfde2a188d16",
        "msg" : "Do not initialize kern_version for TRACING/EXT programs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "src/cc/libbpf.c",
          "src/python/bcc/__init__.py",
          "src/cc/libbpf.h",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "572478b2083651f25c4e278f8c34ff3d16e3be6a",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Introduce {attach|detach}_kfunc API\u000a\u000aKernel added new probe called trampoline allowing to probe\u000aalmost any kernel function when BTF info is available in\u000athe system.\u000a\u000aAdding the interface to define trampoline function for given\u000akernel function via BPF_PROG macro, like:\u000a\u000a  KFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode)\u000a  {\u000a    ...\u000a  }\u000a\u000awhich defines trampoline function with the 'kfunc__do_sys_open'\u000aname, that instruments do_sys_open kernel function before the\u000afunction is executed.\u000a\u000aor:\u000a\u000a  KRETFUNC_PROBE(do_sys_open, int dfd, const char *filename, int flags, int mode, int ret)\u000a  {\u000a    ...\u000a  }\u000a\u000awhich defines trampoline function with the 'kfunc__do_sys_open'\u000aname, that instruments do_sys_open kernel function after the\u000afunction is executed.\u000a\u000aThe main benefit is really lower overhead for trampolines (please\u000asee following commit for klockstat.py with perf comparison).\u000a\u000aAnother benefit is the ability of kretfunc probe to access\u000afunction arguments, so some tools might need only one program\u000ainstead of entry/exit ones (please see following commit for\u000aopensnoop.py changes).\u000a\u000aCurrently the interface does not allow to define function\u000aof different name than:\u000a  kfunc__<function_name> or kretfunc__<function_name>\u000a\u000awhich is sufficient by now, and can be easily changed in future\u000aif needed.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "572478b2083651f25c4e278f8c34ff3d16e3be6a",
        "msg" : "Introduce {attach|detach}_kfunc API",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py",
          "src/cc/libbpf.h",
          "src/cc/libbpf.c"
        ],
        "commitId" : "1ad2656a1d9ca1e451ebad5af1330863c66a4035",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add support_kfunc function to BPF object\u000a\u000aAdding support_kfunc function to BPF object to return\u000astate of kfunc trampolines support.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "1ad2656a1d9ca1e451ebad5af1330863c66a4035",
        "msg" : "Add support_kfunc function to BPF object",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/opensnoop.py"
        ],
        "commitId" : "c347fe6c9f75d6740cf45f80312009daba275f76",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Support kfunc in opensnoop.py\u000a\u000aAdding kfunc return trampoline probe if available instead of\u000akprobe/kretprobe probes.\u000a\u000aThe return trampoline has access to function entry arguments,\u000aso we are good with just single eBPF program.\u000a\u000aThe kfunc trampolines are also faster - less intrusive.\u000a\u000aBelow are stats for compiling linux kernel while running\u000aopensnoop.py on the background for kprobes and kfuncs.\u000a\u000aWithout opensnoop.py:\u000a\u000a Performance counter stats for 'system wide':\u000a\u000a   849,741,782,765      cycles:k\u000a\u000a     162.235646336 seconds time elapsed\u000a\u000aWith opensnoop.py using kprobes:\u000a\u000a Performance counter stats for 'system wide':\u000a\u000a   941,615,199,769      cycles:k\u000a\u000a     164.355032879 seconds time elapsed\u000a\u000aWith opensnoop.py using trampolines:\u000a\u000a Performance counter stats for 'system wide':\u000a\u000a   913,437,005,488      cycles:k\u000a\u000a     163.742914795 seconds time elapsed\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "c347fe6c9f75d6740cf45f80312009daba275f76",
        "msg" : "Support kfunc in opensnoop.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/klockstat.py"
        ],
        "commitId" : "da7cac733c931f06801cc3ce118140892fcb8066",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Support kfunc in klockstat.py\u000a\u000aAdding kfunc return trampoline probe if available instead of\u000akprobe/kretprobe probes.\u000a\u000aThe kfunc trampolines are faster - less intrusive. The benchmark\u000awithout klockstat.py script on background:\u000a\u000a\u0009$ perf bench sched messaging -l 50000\u000a\u0009# Running 'sched/messaging' benchmark:\u000a\u0009# 20 sender and receiver processes per group\u000a\u0009# 10 groups == 400 processes run\u000a\u000a\u0009     Total time: 18.571 [sec]\u000a\u000aWith kprobe tracing:\u000a\u0009$ perf bench sched messaging -l 50000\u000a\u0009# Running 'sched/messaging' benchmark:\u000a\u0009# 20 sender and receiver processes per group\u000a\u0009# 10 groups == 400 processes run\u000a\u000a\u0009     Total time: 183.395 [sec]\u000a\u000aWith kfunc tracing:\u000a\u0009$ perf bench sched messaging -l 50000\u000a\u0009# Running 'sched/messaging' benchmark:\u000a\u0009# 20 sender and receiver processes per group\u000a\u0009# 10 groups == 400 processes run\u000a\u000a\u0009     Total time: 39.773 [sec]\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "da7cac733c931f06801cc3ce118140892fcb8066",
        "msg" : "Support kfunc in klockstat.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/vfsstat.py"
        ],
        "commitId" : "2fa54c0bd388898fdda58f30dcfe5a68d6715efc",
        "timestamp" : 1582782477000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Support kfunc in vfsstat.py\u000a\u000aAdding kfunc return trampoline probe if available instead of\u000akprobe/kretprobe probes.\u000a\u000aThe kfunc trampolines are faster - less intrusive.\u000a\u000aBelow are stats for running perf bench sched pipe benchamark while\u000arunning vfsstat.py on the background for kprobes and kfuncs.\u000a\u000aWith kprobes:\u000a         Performance counter stats for './perf bench sched pipe -l 5000000' (3 runs):\u000a\u000a           112,520,853,574      cycles:k\u000a\u000a                    48.674 +- 0.672 seconds time elapsed  ( +-  1.38% )\u000a\u000aWith kfuncs:\u000a         Performance counter stats for './perf bench sched pipe -l 5000000' (3 runs):\u000a\u000a           106,304,165,424      cycles:k\u000a\u000a                    46.820 +- 0.197 seconds time elapsed  ( +-  0.42% )\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-02-26 21:47:57 -0800",
        "id" : "2fa54c0bd388898fdda58f30dcfe5a68d6715efc",
        "msg" : "Support kfunc in vfsstat.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/vfsstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_exception.h"
        ],
        "commitId" : "6de96c71f11ace5091651c6cdf645a2d3426214b",
        "timestamp" : 1582783313000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update StatusTuple to use enum Code\u000a",
        "date" : "2020-02-26 22:01:53 -0800",
        "id" : "6de96c71f11ace5091651c6cdf645a2d3426214b",
        "msg" : "Update StatusTuple to use enum Code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_exception.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "440016f70b24e2913860e21eb2c2a6bbca970f0d",
        "timestamp" : 1582784233000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "doc: add python3 doc to \"Ubuntu - Source\" section in INSTALL.md\u000a",
        "date" : "2020-02-26 22:17:13 -0800",
        "id" : "440016f70b24e2913860e21eb2c2a6bbca970f0d",
        "msg" : "doc: add python3 doc to \"Ubuntu - Source\" section in INSTALL.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/usdt.py"
        ],
        "commitId" : "c46c7b3d4203adbbc964c25451b918c0df5d94ff",
        "timestamp" : 1583172362000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "usdt.py: improve error messags for enable_probe()\u000a",
        "date" : "2020-03-02 10:06:02 -0800",
        "id" : "c46c7b3d4203adbbc964c25451b918c0df5d94ff",
        "msg" : "usdt.py: improve error messags for enable_probe()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/usdt.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/bin/bpftool"
        ],
        "commitId" : "17ff39223a4dd2ff28f63239cb82f785e47ba45c",
        "timestamp" : 1583277540000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
          "fullName" : "andriin"
        },
        "authorEmail" : "andriin@fb.com",
        "comment" : "libbpf-tools: update bpftool\u000a\u000aNewer bpftool generates vmlinux.h with header guard `#define`, which plays\u000anicely with bpf_tracing.h header and PT_REGS_PARM macros.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-03 15:19:00 -0800",
        "id" : "17ff39223a4dd2ff28f63239cb82f785e47ba45c",
        "msg" : "libbpf-tools: update bpftool",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/bin/bpftool"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/drsnoop.c",
          "libbpf-tools/drsnoop.bpf.c",
          "snap/snapcraft.yaml",
          "libbpf-tools/trace_helpers.c",
          "libbpf-tools/drsnoop_example.txt",
          "tools/drsnoop.py",
          "man/man8/drsnoop.8",
          "libbpf-tools/trace_helpers.h",
          "libbpf-tools/drsnoop.h",
          "man/man8/compactsnoop.8",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "c42197080dda3f565280b918b9bd5223f5e509d6",
        "timestamp" : 1583353326000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: covert BCC drsnoop to BPF CO-RE version\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-03-04 12:22:06 -0800",
        "id" : "c42197080dda3f565280b918b9bd5223f5e509d6",
        "msg" : "libbpf-tools: covert BCC drsnoop to BPF CO-RE version",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/drsnoop.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "snap/snapcraft.yaml"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/trace_helpers.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/drsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/drsnoop.8"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/drsnoop.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/drsnoop_example.txt"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/trace_helpers.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/drsnoop.h"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/compactsnoop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/usdt.py"
        ],
        "commitId" : "aeea0e9fce7e868f27cac45f5d6ab4f67c383c62",
        "timestamp" : 1583521117000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "usdt.py: print errors to stderr in enable_probe_or_bail()\u000a",
        "date" : "2020-03-06 10:58:37 -0800",
        "id" : "aeea0e9fce7e868f27cac45f5d6ab4f67c383c62",
        "msg" : "usdt.py: print errors to stderr in enable_probe_or_bail()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/usdt.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/usdt/usdt_args.cc",
          "src/cc/usdt.h",
          "tests/cc/test_usdt_args.cc"
        ],
        "commitId" : "5011f992b3167c162b5a0ad57fd3fa23c9ea76b3",
        "timestamp" : 1583625697000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "usdt: fix parsing sp register in arguments on AArch64\u000a\u000aOne of the USDT probes for OpenJDK on AArch64 has an argument as an\u000aoffset from the stack pointer register like \"8@[sp, 112]\". This causes\u000athe argument parser to fail:\u000a\u000a  Parse error:\u000a      8@x22 8@x20 8@x23 8@x0 8@x26 8@x27 8@[sp, 112] 8@[sp, 120]\u000a  ------------------------------------------^\u000a\u000aThe error message then repeats forever.\u000a\u000aChanged ArgumentParser_aarch64::parse_register so it accepts either\u000a\"xNN\" or \"sp\" and outputs the register name rather than the register\u000anumber. The stack pointer is in a separate field `sp` in `struct\u000apt_regs` rather than in the `regs[]` array [1].\u000a\u000aNote that the parser currently accepts \"x31\" and converts that into a\u000areference to `regs[31]' but that array only has 31 elements. Made x31 an\u000aalias for `sp` to avoid undefined behaviour from reading past the end of\u000athe array.\u000a\u000a[1]: https://elixir.bootlin.com/linux/latest/source/arch/arm64/include/asm/ptrace.h#L160\u000a\u000aChange-Id: I88b6ff741914b5d06ad5798a55bd21ea03f69825\u000aSigned-off-by: Nick Gasson <nick.gasson@arm.com>\u000a",
        "date" : "2020-03-07 16:01:37 -0800",
        "id" : "5011f992b3167c162b5a0ad57fd3fa23c9ea76b3",
        "msg" : "usdt: fix parsing sp register in arguments on AArch64",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt_args.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_args.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPFTable.h",
          "src/cc/api/BPF.cc",
          "src/cc/bpf_module_rw_engine.cc",
          "src/cc/frontends/b/type_check.cc",
          "src/cc/frontends/b/codegen_llvm.cc",
          "src/cc/api/BPFTable.cc",
          "src/cc/frontends/b/printer.cc"
        ],
        "commitId" : "e508059878525159ccff8c3672d36ecb03b27dac",
        "timestamp" : 1583639107000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Replace StatusTuple(0) with StatusTuple::OK()\u000a\u000aWith the following shell command:\u000a$ find src -type f -regex '.*\\.\\(h\\|cc\\)' -exec sed -i 's/StatusTuple(0)/StatusTuple::OK()/' {} \\;\u000a",
        "date" : "2020-03-07 19:45:07 -0800",
        "id" : "e508059878525159ccff8c3672d36ecb03b27dac",
        "msg" : "Replace StatusTuple(0) with StatusTuple::OK()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/codegen_llvm.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/type_check.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module_rw_engine.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/printer.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/table.py"
        ],
        "commitId" : "98c18b640117b10f923c8697be8bfff8ad39834b",
        "timestamp" : 1583639793000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "print error messages to stderr and exit(1) instead of exit(0) for fatal errors\u000a",
        "date" : "2020-03-07 19:56:33 -0800",
        "id" : "98c18b640117b10f923c8697be8bfff8ad39834b",
        "msg" : "print error messages to stderr and exit(1) instead of exit(0) for fatal errors",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/workflows/bcc-test.yml",
          "Dockerfile.ubuntu"
        ],
        "commitId" : "cf20a499655583a985eb959f98fae9c2e7ecf189",
        "timestamp" : 1583646711000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "GitHub Actions: optionally publish container image\u000a\u000aThis is optional: this GitHub Action will only attempt to publish the\u000acontainer image if the GitHub repository has been configured with GitHub\u000asecrets (e.g. https://github.com/iovisor/bcc/settings/secrets).\u000a\u000aThe GitHub secrets can be configured as follows:\u000a- DOCKER_PUBLISH = 1\u000a- DOCKER_IMAGE = docker.io/myorg/bcc\u000a- DOCKER_USERNAME = username\u000a- DOCKER_PASSWORD = password\u000a\u000aThis is intended to make it easy for anyone to fork iovisor/bcc on\u000aGitHub and publish custom container images with bcc.\u000a",
        "date" : "2020-03-07 21:51:51 -0800",
        "id" : "cf20a499655583a985eb959f98fae9c2e7ecf189",
        "msg" : "GitHub Actions: optionally publish container image",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Dockerfile.ubuntu"
          },
          {
            "editType" : "edit",
            "file" : ".github/workflows/bcc-test.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/trace_helpers.c",
          "libbpf-tools/trace_helpers.h",
          "libbpf-tools/Makefile",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "b7541d0b9497e5bca4de28d894d18cc8578ccdc4",
        "timestamp" : 1583646738000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: optimize ksyms cache\u000a\u000aRe-implement internals of ksyms cache to minimize memory overhead and\u000aallocations. Addr is also changed to be unsigned long.\u000a\u000afscanf() can be further optimized into manual parsing, but it's low enough\u000aoverhead right now that I felt like readibility is more important.\u000a\u000aBenchmarking ksyms loading/parsing parts:\u000a\u000aBEFORE:\u000a$ /usr/bin/time ./test\u000a0.03user 0.04system 0:00.08elapsed 98%CPU (0avgtext+0avgdata 6968maxresident)k\u000a0inputs+0outputs (0major+1512minor)pagefaults 0swaps\u000a\u000aAFTER:\u000a$ /usr/bin/time ./test\u000a0.02user 0.03system 0:00.06elapsed 100%CPU (0avgtext+0avgdata 9508maxresident)k\u000a  0inputs+0outputs (0major+2106minor)pagefaults 0swaps\u000a\u000aRSS goes down from 9.5MB to <7MB, while CPU time went up about 20ms.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-07 21:52:18 -0800",
        "id" : "b7541d0b9497e5bca4de28d894d18cc8578ccdc4",
        "msg" : "libbpf-tools: optimize ksyms cache",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/trace_helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/usdt.py",
          "src/python/bcc/libbcc.py",
          "tests/python/test_usdt3.py"
        ],
        "commitId" : "37cd183a71f19c25c08a2a93d271450b392bdca5",
        "timestamp" : 1583731633000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "python binding: allow fully-specified probe names for enable_probe()\u000a",
        "date" : "2020-03-08 22:27:13 -0700",
        "id" : "37cd183a71f19c25c08a2a93d271450b392bdca5",
        "msg" : "python binding: allow fully-specified probe names for enable_probe()",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/test_usdt3.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/usdt.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/trace.py",
          "src/cc/usdt/usdt.cc",
          "src/cc/bcc_usdt.h",
          "src/python/bcc/libbcc.py",
          "src/python/bcc/usdt.py"
        ],
        "commitId" : "21625167988a5ed1e07046e8048b4de59e9fd023",
        "timestamp" : 1583731633000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "trace.py: support an optional provider name for the probe spec\u000a",
        "date" : "2020-03-08 22:27:13 -0700",
        "id" : "21625167988a5ed1e07046e8048b4de59e9fd023",
        "msg" : "trace.py: support an optional provider name for the probe spec",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_usdt.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/usdt.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/softirqs.py"
        ],
        "commitId" : "9465f8cf2a19d28dcc8bce5845b5e8017ee9feb8",
        "timestamp" : 1583734192000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/edwardwu",
          "fullName" : "edwardwu"
        },
        "authorEmail" : "edwardwu@realtek.com",
        "comment" : "softirqs: Combined CPU as part of the key is necessary to avoid amiss value.\u000a\u000aIn the environment of massive software interrupts.\u000a<idle>-0     [003] ..s1   106.421020: softirq_entry: vec=6 [action=TASKLET]\u000a<idle>-0     [000] ..s1   106.421063: softirq_entry: vec=3 [action=NET_RX]\u000a<idle>-0     [003] ..s1   106.421083: softirq_exit: vec=6 [action=TASKLET]\u000a\u000aFollow the above ftrace logs, we know the correct vec-6 start timestamp is replaced with incorrect vec-3.\u000aBecause PID is idle-0. It will produce the wrong result after calculating delta.\u000a",
        "date" : "2020-03-09 14:09:52 +0800",
        "id" : "9465f8cf2a19d28dcc8bce5845b5e8017ee9feb8",
        "msg" : "softirqs: Combined CPU as part of the key is necessary to avoid amiss value.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/softirqs.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/capable.py",
          "tools/capable_example.txt",
          "man/man8/capable.8"
        ],
        "commitId" : "15e998db6ea8617ae8798a09b9d8115ce5e95473",
        "timestamp" : 1583734946000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add option --cgroupmap to capable.py\u000a\u000aDocumentation (man page and example text) updated.\u000a",
        "date" : "2020-03-08 23:22:26 -0700",
        "id" : "15e998db6ea8617ae8798a09b9d8115ce5e95473",
        "msg" : "tools: add option --cgroupmap to capable.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/capable.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/capable_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/capable.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/capable.py",
          "tools/capable_example.txt",
          "man/man8/capable.8"
        ],
        "commitId" : "9d7feeed87c5e2977e0e996cc097dcd9d3001c0d",
        "timestamp" : 1583734946000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add option --unique to capable.py\u000a\u000aSome processes can do a lot of security capability checks, generating a\u000alot of ouput. In this case, the --unique option is useful to only print\u000aonce the same set of capability, pid (or cgroup if --cgroupmap is used)\u000aand kernel/user stacks (if -K or -U are used).\u000a\u000a  # ./capable.py -K -U --unique\u000a\u000aDocumentation (man page and example text) updated.\u000a",
        "date" : "2020-03-08 23:22:26 -0700",
        "id" : "9d7feeed87c5e2977e0e996cc097dcd9d3001c0d",
        "msg" : "tools: add option --unique to capable.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/capable.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/capable_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/capable.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "Dockerfile.ubuntu"
        ],
        "commitId" : "c9cfb52f3bc39fd78f40e3c3de5e066239ce1904",
        "timestamp" : 1583735919000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Reduce container image size with multi-stage builds\u000a\u000aBefore this patch, Dockerfile.ubuntu was generating an oversized image.\u000a\u000a                       Uncompressed size      Compressed size\u000aBefore this patch:     1.3GB                  390MB\u000aAfter this patch:      250MB                  110MB\u000a",
        "date" : "2020-03-08 23:38:39 -0700",
        "id" : "c9cfb52f3bc39fd78f40e3c3de5e066239ce1904",
        "msg" : "Reduce container image size with multi-stage builds",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "Dockerfile.ubuntu"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/opensnoop.bpf.c",
          "libbpf-tools/opensnoop.c",
          "libbpf-tools/opensnoop.h",
          "libbpf-tools/Makefile"
        ],
        "commitId" : "5e123df1dd33cdff5798560e4f0390c69cdba00f",
        "timestamp" : 1583772382000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "libbpf-tools: add CO-RE opensnoop (#2778)\u000a\u000a* libbpf-tools: add CO-RE opensnoop\u000a\u000a* libbpf-tools/opensnoop: feedback\u000a",
        "date" : "2020-03-09 09:46:22 -0700",
        "id" : "5e123df1dd33cdff5798560e4f0390c69cdba00f",
        "msg" : "libbpf-tools: add CO-RE opensnoop (#2778)",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/opensnoop.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/opensnoop.h"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/opensnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/tcptop.8",
          "tools/tcptop.py",
          "tools/tcptop_example.txt"
        ],
        "commitId" : "7d62656805cca60ff9d6f5e9b8b5b8d096cf226a",
        "timestamp" : 1583783734000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add option --cgroupmap to tcptop\u000a",
        "date" : "2020-03-09 12:55:34 -0700",
        "id" : "7d62656805cca60ff9d6f5e9b8b5b8d096cf226a",
        "msg" : "tools: add option --cgroupmap to tcptop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcptop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/vmlinux_505.h"
        ],
        "commitId" : "8b6a7db9c8eeb5c513a162c90a7dd8f0bd7620dd",
        "timestamp" : 1583793216000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: update vmlinux.h with BPF helper flags generated from UAPI\u000a\u000aUpdate vmlinux.h to a version generated from same v5.5 tag and default config\u000awith cherry-picked 1aae4bdd7879 (\"bpf: Switch BPF UAPI #define constants used\u000afrom BPF program side to enums\") on top of it. This adds lots of BPF helper\u000aflags often useful from BPF program side.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-09 15:33:36 -0700",
        "id" : "8b6a7db9c8eeb5c513a162c90a7dd8f0bd7620dd",
        "msg" : "libbpf-tools: update vmlinux.h with BPF helper flags generated from UAPI",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/vmlinux_505.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "77d60b19f9d608d1039c3297f3e7fcf9548c879e",
        "timestamp" : 1583994623000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf: sync to latest version\u000a\u000aSync libbpf to latest revision. It brings latest BPF headers, among other\u000athings.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-11 23:30:23 -0700",
        "id" : "77d60b19f9d608d1039c3297f3e7fcf9548c879e",
        "msg" : "libbpf: sync to latest version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/opensnoop.bpf.c",
          "libbpf-tools/runqslower.bpf.c",
          "libbpf-tools/opensnoop.c",
          "libbpf-tools/drsnoop.bpf.c",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "454b138e6b75a47d4070a4f99c8f2372b383f71e",
        "timestamp" : 1583995665000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: small clean ups across all tools\u000a\u000aRemove BPF_F_CURRENT_CPU definitions, which are now provided by vmlinux.h\u000aafter 1aae4bdd7879 (\"bpf: Switch BPF UAPI #define constants used from BPF\u000aprogram side to enums\") commit in kernel.\u000a\u000aFix potential uninitialized read warning in opensnoop.\u000a\u000aAlso add opensnoop to .gitignore.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-11 23:47:45 -0700",
        "id" : "454b138e6b75a47d4070a4f99c8f2372b383f71e",
        "msg" : "libbpf-tools: small clean ups across all tools",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/drsnoop.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/runqslower.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/Makefile"
        ],
        "commitId" : "2b5fcc6ec332f8067dab50da833ee870fd690579",
        "timestamp" : 1584028908000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: determine target host architecture\u000a\u000aBPF code is compiled with -target bpf, but for PT_REGS_PARM macro (and by\u000ainduction for BPF_KPROBE/BPF_KRETPROBE macros as well), it's important to know\u000awhat's the target host original architecture was, to use correct definition of\u000astruct pt_regs. Determine that based on output of `uname -m` (taking into\u000aaccount that both x86_64 and x86 are defined as x86 internally for kernel).\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-12 09:01:48 -0700",
        "id" : "2b5fcc6ec332f8067dab50da833ee870fd690579",
        "msg" : "libbpf-tools: determine target host architecture",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcpstates.py"
        ],
        "commitId" : "d0ec8a27db740304d46d898d1a930bfcb6e09627",
        "timestamp" : 1584144164000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Backport tcpstates to kernels < 4.15\u000a\u000aThe tracepoint inet_sock_set_state only exists in kernels 4.15.\u000aBackported the bpf tracepoint to use kprobes on older kernels.\u000a",
        "date" : "2020-03-13 17:02:44 -0700",
        "id" : "d0ec8a27db740304d46d898d1a930bfcb6e09627",
        "msg" : "Backport tcpstates to kernels < 4.15",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcpstates.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/kernel.config",
          "libbpf-tools/vmlinux_505.h"
        ],
        "commitId" : "cd43be4c6a52540a8e272ed3dcea48211c198073",
        "timestamp" : 1584144420000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: adjust Kconfig and re-build vmlinux.h\u000a\u000aDefault v5.5 kernel config doesn't have most of BPF-related functionality\u000aenabled, which leads to vmlinux.h not containing a lot of useful constants.\u000aThis patch contains re-generated vmlinux.h from kernel built with default\u000aconfig plus minimal changes to enable most (all?) BPF-relevant parts of\u000akernel. Here's a list of added options:\u000a\u000aCONFIG_BPF_EVENTS=y\u000aCONFIG_BPFILTER_UMH=m\u000aCONFIG_BPFILTER=y\u000aCONFIG_BPF_JIT=y\u000aCONFIG_BPF_KPROBE_OVERRIDE=y\u000aCONFIG_BPF_STREAM_PARSER=y\u000aCONFIG_BPF_SYSCALL=y\u000aCONFIG_CC_HAS_ASM_INLINE=y\u000aCONFIG_CC_HAS_KASAN_GENERIC=y\u000aCONFIG_CC_HAS_SANCOV_TRACE_PC=y\u000aCONFIG_CGROUP_BPF=y\u000aCONFIG_GCC_VERSION=70300\u000aCONFIG_IPV6_MULTIPLE_TABLES=y\u000aCONFIG_IPV6_SEG6_BPF=y\u000aCONFIG_IPV6_SEG6_LWTUNNEL=y\u000aCONFIG_LIBCRC32C=y\u000aCONFIG_LWTUNNEL_BPF=y\u000aCONFIG_LWTUNNEL=y\u000aCONFIG_NET_ACT_BPF=y\u000aCONFIG_NET_CLS_BPF=y\u000aCONFIG_NETFILTER_ADVANCED=y\u000aCONFIG_NETFILTER_XT_MATCH_BPF=y\u000aCONFIG_NET_SOCK_MSG=y\u000aCONFIG_NF_CT_PROTO_DCCP=y\u000aCONFIG_NF_CT_PROTO_SCTP=y\u000aCONFIG_NF_CT_PROTO_UDPLITE=y\u000aCONFIG_SOCK_CGROUP_DATA=y\u000aCONFIG_STREAM_PARSER=y\u000aCONFIG_XDP_SOCKETS_DIAG=y\u000aCONFIG_XDP_SOCKETS=y\u000a\u000aTo make this vmlinux.h generation process easier for future adjustments (e.g.,\u000aif some of the tools would need types that default config compiles out), check\u000ain used Kconfig along the vmlinux.h itself.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-13 17:07:00 -0700",
        "id" : "cd43be4c6a52540a8e272ed3dcea48211c198073",
        "msg" : "libbpf-tools: adjust Kconfig and re-build vmlinux.h",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/kernel.config"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/vmlinux_505.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/tp_frontend_action.cc",
          "src/cc/common.cc",
          "src/cc/common.h"
        ],
        "commitId" : "7fd2fa68b52e0f38dd4915bf786d67445941eedd",
        "timestamp" : 1584288670000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Factor out ebpf::parse_tracepoint function\u000a\u000aAnd moving it to common.cc in order to be able to make\u000aautomated tests for it. Following patches are adding\u000aautomated test for this function and it seems too much\u000ato link in all the clang/llvm stuff to the test binary\u000ajust for single function test.\u000a\u000aAdding ebpf::parse_tracepoint that takes istream of the\u000atracepoint format data and returns tracepoint struct\u000aas std::string.\u000a\u000aNo functional change is intended or expected.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-03-15 09:11:10 -0700",
        "id" : "7fd2fa68b52e0f38dd4915bf786d67445941eedd",
        "msg" : "Factor out ebpf::parse_tracepoint function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/common.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/tp_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/common.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt",
          "tests/cc/test_parse_tracepoint.cc"
        ],
        "commitId" : "b9099c51ca570f33a5a9baef6f4f566c126b2b16",
        "timestamp" : 1584288670000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add test for ebpf::parse_tracepoint function\u000a\u000aThe test prepares tracepoint format file and run\u000aebpf::parse_tracepoint on it. Then it compares\u000aexpected struct output with actual function result.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-03-15 09:11:10 -0700",
        "id" : "b9099c51ca570f33a5a9baef6f4f566c126b2b16",
        "msg" : "Add test for ebpf::parse_tracepoint function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_parse_tracepoint.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/common.cc",
          "tests/cc/test_parse_tracepoint.cc"
        ],
        "commitId" : "b8423e66ce450418c6142aab61ee9330e1fcefcc",
        "timestamp" : 1584288670000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Strengthen tracepoint format parsing\u000a\u000aThere's issue in current RHEL real time kernel with tracepoint format,\u000awhich makes bcc-tools to return wrong data.\u000a\u000aTwo new 'common_' fields were added and it causes 2 issues for tracepoint\u000aformat parser.\u000a\u000aFirst issue\u000a  - is the gap between common fields and other fields, which is not\u000a    picked up by the parser, so the resulted struct is not aligned with\u000a    the data.\u000a\u000aSecond issue\u000a  - is the fact that current parser covers common fields with:\u000a      u64 __do_not_use__\u000a    so the new common fields are not accounted for.\u000a\u000a    This issue is solved in the following patch. I kept both\u000a    issues and fixes separated to make the change readable.\u000a\u000aThere's a 'not described gap' in the sched_wakeup's format file and\u000aprobably in other formats as well:\u000a\u000aHaving:\u000a  # cat /sys/kernel/debug/tracing/events/sched/sched_wakeup/format\u000a  name: sched_wakeup\u000a  ID: 310\u000a  format:\u000a          field:unsigned short common_type;       offset:0;       size:2; signed:0;\u000a          field:unsigned char common_flags;       offset:2;       size:1; signed:0;\u000a          field:unsigned char common_preempt_count;       offset:3;       size:1; signed:0;\u000a          field:int common_pid;   offset:4;       size:4; signed:1;\u000a          field:unsigned char common_migrate_disable;     offset:8;       size:1; signed:0;\u000a          field:unsigned char common_preempt_lazy_count;  offset:9;       size:1; signed:0;\u000a\u000a          field:char comm[16];    offset:12;      size:16;        signed:1;\u000a          field:pid_t pid;        offset:28;      size:4; signed:1;\u000a          field:int prio; offset:32;      size:4; signed:1;\u000a          field:int success;      offset:36;      size:4; signed:1;\u000a          field:int target_cpu;   offset:40;      size:4; signed:1;\u000a\u000aThere's \"common_preempt_lazy_count\" field on offset 9 with size 1:\u000a        common_preempt_lazy_count;  offset:9;       size:1;\u000a\u000aand it's followed by \"comm\" field on offset 12:\u000a        field:char comm[16];    offset:12;      size:16;        signed:1;\u000a\u000awhich makes 2 bytes gap in between, that might confuse some applications\u000alike bpftrace or bcc-tools library.\u000a\u000aThe tracepoint parser makes struct out of the field descriptions,\u000abut does not account for such gaps.\u000a\u000aI posted patch to fix this [1] in RT kernel, but that might take a while,\u000aand we could easily fix our tracepoint parser to workaround this issue.\u000a\u000aAdding code to detect this gaps and add 1 byte __pad_X fields, where X is\u000athe offset number.\u000a\u000a[1] https://lore.kernel.org/linux-rt-users/20200221153541.681468-1-jolsa@kernel.org/\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-03-15 09:11:10 -0700",
        "id" : "b8423e66ce450418c6142aab61ee9330e1fcefcc",
        "msg" : "Strengthen tracepoint format parsing",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/common.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_parse_tracepoint.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/common.cc",
          "tests/cc/test_parse_tracepoint.cc"
        ],
        "commitId" : "0a9d6db96c6410d2ef741507255f5258d6406032",
        "timestamp" : 1584288670000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add support for new common fields\u000a\u000aCurrent parser covers common fields with:\u000a  u64 __do_not_use__\u000aso the new common fields are not accounted for.\u000a\u000aKeeping the 'u64 __do_not_use__' field for backward compatibility\u000a(who knows who's actualy using it) and adding new fields, like:\u000a  char __do_not_use__X\u000a\u000afor each byte of extra common fields, where X is the offset of the\u000afield.\u000a\u000aWith this fix the bcc-tools correctly parses tracepoints on RT kernel\u000aand it's usable again.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2020-03-15 09:11:10 -0700",
        "id" : "0a9d6db96c6410d2ef741507255f5258d6406032",
        "msg" : "Add support for new common fields",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/common.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_parse_tracepoint.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "5302614d31645db8fb5466e95ba7e6500c2c46c2",
        "timestamp" : 1584505598000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf: update to latest libbpf version\u000a\u000aPull in latest libbpf changes. In particular, containing BPF_KRETPROBE fix.\u000a\u000aSigned-off-by: Andrii Nakryiko <andriin@fb.com>\u000a",
        "date" : "2020-03-17 21:26:38 -0700",
        "id" : "5302614d31645db8fb5466e95ba7e6500c2c46c2",
        "msg" : "libbpf: update to latest libbpf version",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/net_monitor.py"
        ],
        "commitId" : "ca1b0af0eff9d994a49606899c2f110a68addeca",
        "timestamp" : 1584508954000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "adding example/networking/net_monitor.py\u000a\u000aAggregates incoming network traffic\u000aoutputs source ip, destination ip, the number of their network traffic, and current time\u000a\u000aCo-authored-by: gist-banana <gist.banana@gist.ac.kr>\u000a",
        "date" : "2020-03-17 22:22:34 -0700",
        "id" : "ca1b0af0eff9d994a49606899c2f110a68addeca",
        "msg" : "adding example/networking/net_monitor.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/networking/net_monitor.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt",
          "INSTALL.md"
        ],
        "commitId" : "4c1136ee6c08eb9fef86ebaafe2544692472b5b7",
        "timestamp" : 1584509203000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Make -DCMAKE_INSTALL_PREFIX=/usr as the default (#2800)\u000a\u000a* make -DCMAKE_INSTALL_PREFIX=/usr as the default\u000a* remove -DCMAKE_INSTALL_PEREFIX=/usr from INSTALL.md  as it gets the default\u000a",
        "date" : "2020-03-17 22:26:43 -0700",
        "id" : "4c1136ee6c08eb9fef86ebaafe2544692472b5b7",
        "msg" : "Make -DCMAKE_INSTALL_PREFIX=/usr as the default (#2800)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/profile_example.txt",
          "man/man8/profile.8",
          "tools/profile.py"
        ],
        "commitId" : "f82ea454ea55ad73ee3284a0bd6fc3b45a7d73a8",
        "timestamp" : 1584571880000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: add option --cgroupmap to profile.py\u000a",
        "date" : "2020-03-18 15:51:20 -0700",
        "id" : "f82ea454ea55ad73ee3284a0bd6fc3b45a7d73a8",
        "msg" : "tools: add option --cgroupmap to profile.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/profile_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/profile.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc"
        ],
        "commitId" : "e1d53a3ab329ee3504dd58db09859baea0ca724a",
        "timestamp" : 1584572748000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Do not prepend /proc multiple times in bcc_resolve_symname\u000a",
        "date" : "2020-03-18 16:05:48 -0700",
        "id" : "e1d53a3ab329ee3504dd58db09859baea0ca724a",
        "msg" : "Do not prepend /proc multiple times in bcc_resolve_symname",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "1cd3952b7c2bc7ab0e545f42711402b9f8fe65d8",
        "timestamp" : 1584572748000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add regression test for bcc resolve symbol names\u000a",
        "date" : "2020-03-18 16:05:48 -0700",
        "id" : "1cd3952b7c2bc7ab0e545f42711402b9f8fe65d8",
        "msg" : "Add regression test for bcc resolve symbol names",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/xfsslower.h",
          "libbpf-tools/xfsslower.bpf.c",
          "libbpf-tools/xfsslower.c",
          "libbpf-tools/Makefile",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "c2772a334bd10f6e7f66b7d79c269ab9ca5e525c",
        "timestamp" : 1584683049000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE xfsslower\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-03-19 22:44:09 -0700",
        "id" : "c2772a334bd10f6e7f66b7d79c269ab9ca5e525c",
        "msg" : "libbpf-tools: add CO-RE xfsslower",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/xfsslower.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/xfsslower.bpf.c"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/xfsslower.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/opensnoop.py"
        ],
        "commitId" : "510fc7425ccd0bc53d53a56ae847d786eb15e1ce",
        "timestamp" : 1584685416000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "opensnoop: fix --cgroupmap with kfunc\u000a\u000aCommit c347fe6c9f75 (\"Support kfunc in opensnoop.py\") introduces an\u000aalternative probe on do_sys_open() with kfuncs instead of kprobes. This\u000anew implementation is used if the kernel supports it. But it removed the\u000a--cgroupmap filter added in commit b2aa29fa3269 (\"tools: cgroup\u000afiltering in execsnoop/opensnoop\").\u000a\u000aThis patch adds the --cgroupmap filter in the kfunc implementation.\u000a",
        "date" : "2020-03-19 23:23:36 -0700",
        "id" : "510fc7425ccd0bc53d53a56ae847d786eb15e1ce",
        "msg" : "opensnoop: fix --cgroupmap with kfunc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "35c9940ee7297eafa7d8bcc8d9cda29a3b17a25b",
        "timestamp" : 1584940362000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "chore: include Amazon Linux 2 binary option in INSTALL\u000a",
        "date" : "2020-03-22 22:12:42 -0700",
        "id" : "35c9940ee7297eafa7d8bcc8d9cda29a3b17a25b",
        "msg" : "chore: include Amazon Linux 2 binary option in INSTALL",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcptop.py"
        ],
        "commitId" : "6b8a89673dbba9b9203a6555735e451dd9477836",
        "timestamp" : 1584978424000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: fix alignment of ipv6_key_t in tcptop\u000a\u000aFixes the following error on aarch64:\u000a\u000abpf: Failed to load program: Permission denied\u000a; struct sock *sk = ctx->regs[0]; int copied = ctx->regs[1];\u000a0: (79) r8 = *(u64 *)(r1 +8)\u000a...\u000a; struct ipv6_key_t ipv6_key = {.pid = pid};\u000a79: (63) *(u32 *)(r10 -48) = r7\u000a; struct ipv6_key_t ipv6_key = {.pid = pid};\u000a80: (7b) *(u64 *)(r10 +8) = r9\u000ainvalid stack off=8 size=8\u000aprocessed 96 insns (limit 1000000) max_states_per_insn 0 total_states 7 peak_states 7 mark_read 4\u000a",
        "date" : "2020-03-23 08:47:04 -0700",
        "id" : "6b8a89673dbba9b9203a6555735e451dd9477836",
        "msg" : "tools: fix alignment of ipv6_key_t in tcptop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/cachetop.py"
        ],
        "commitId" : "1b0fe40663e48b315e75a9b1ed74820207f76658",
        "timestamp" : 1585422718000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Change the default sort order to Descending\u000acurrently with ascending sort the useful information\u000ais commonly beyond the bottom of the terminal window\u000aand it is necessary to reverse the sort manually every execution.\u000a\u000aSigned-off-by: Mark Kogan <mkogan@redhat.com>\u000a",
        "date" : "2020-03-28 12:11:58 -0700",
        "id" : "1b0fe40663e48b315e75a9b1ed74820207f76658",
        "msg" : "Change the default sort order to Descending",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/cachetop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/capable.py"
        ],
        "commitId" : "9adda7092054e1637a68e61e391ac755416a2fb1",
        "timestamp" : 1585422758000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/capable: fix compilation error\u000a\u000a9d7feeed87c5 (\"tools: add option --unique to capable.py\") introduced a\u000acompilation error when the --unique flag is passed.\u000a\u000aSigned-off-by: Mauricio Vásquez <mauricio@kinvolk.io>\u000a",
        "date" : "2020-03-28 12:12:38 -0700",
        "id" : "9adda7092054e1637a68e61e391ac755416a2fb1",
        "msg" : "tools/capable: fix compilation error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/capable.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/filelife.bpf.c",
          "libbpf-tools/filelife.h",
          "libbpf-tools/filelife.c",
          "libbpf-tools/Makefile",
          "libbpf-tools/.gitignore"
        ],
        "commitId" : "85f5e7d5673e3273f61550d806d348626dffc140",
        "timestamp" : 1585424916000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: add CO-RE filelife\u000a\u000aSigned-off-by: Wenbo Zhang <ethercflow@gmail.com>\u000a",
        "date" : "2020-03-28 12:48:36 -0700",
        "id" : "85f5e7d5673e3273f61550d806d348626dffc140",
        "msg" : "libbpf-tools: add CO-RE filelife",
        "paths" : [
          {
            "editType" : "add",
            "file" : "libbpf-tools/filelife.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/Makefile"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/filelife.h"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/.gitignore"
          },
          {
            "editType" : "add",
            "file" : "libbpf-tools/filelife.bpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "introspection/CMakeLists.txt"
        ],
        "commitId" : "e323254466575e03d753a33c77667011626c389f",
        "timestamp" : 1585426415000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "make -lrt linking optional\u000a\u000aOn Android there is no standalone rt library and relevant symbols are provided\u000aby libc (bionic).\u000a",
        "date" : "2020-03-28 13:13:35 -0700",
        "id" : "e323254466575e03d753a33c77667011626c389f",
        "msg" : "make -lrt linking optional",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "introspection/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/http_filter/http-parse-complete.py"
        ],
        "commitId" : "915d6d7617b20d4af8360c1d53efe8abd8697efa",
        "timestamp" : 1585427578000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "correcting input to hex using ord funtion\u000a",
        "date" : "2020-03-28 13:32:58 -0700",
        "id" : "915d6d7617b20d4af8360c1d53efe8abd8697efa",
        "msg" : "correcting input to hex using ord funtion",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-complete.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/mallocstacks.py"
        ],
        "commitId" : "472f9b3bd6bcc63e6e959148320eb76184c51870",
        "timestamp" : 1585459537000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "mallocstacks: validating before stacktrace walk\u000a",
        "date" : "2020-03-28 22:25:37 -0700",
        "id" : "472f9b3bd6bcc63e6e959148320eb76184c51870",
        "msg" : "mallocstacks: validating before stacktrace walk",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/tracing/mallocstacks.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/networking/http_filter/http-parse-simple.py"
        ],
        "commitId" : "4f6ecea67b58699b52c315088c5829448add57c5",
        "timestamp" : 1585460142000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "http-parse-simple.py: fix wrong start position\u000a\u000aSigned-off-by: Jean-Philippe Menil <jpmenil@gmail.com>\u000a",
        "date" : "2020-03-28 22:35:42 -0700",
        "id" : "4f6ecea67b58699b52c315088c5829448add57c5",
        "msg" : "http-parse-simple.py: fix wrong start position",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-simple.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/opensnoop.bpf.c",
          "libbpf-tools/opensnoop.c",
          "libbpf-tools/opensnoop.h"
        ],
        "commitId" : "ab54de2e4449027f2b4dccd022adc57bec4fd4eb",
        "timestamp" : 1585525012000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "libbpf-tools: CO-RE opensnoop minor improvements\u000a\u000a * allow passing 0 as valid uid\u000a * fix type for targ_uid\u000a * improve uid validation (uid >= 4294967295 now invalid)\u000a",
        "date" : "2020-03-29 16:36:52 -0700",
        "id" : "ab54de2e4449027f2b4dccd022adc57bec4fd4eb",
        "msg" : "libbpf-tools: CO-RE opensnoop minor improvements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.bpf.c"
          },
          {
            "editType" : "edit",
            "file" : "libbpf-tools/opensnoop.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPF.cc",
          "src/cc/api/BPF.h",
          "examples/cpp/FollyRequestContextSwitch.cc",
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "689f90087e0d59caea63e10be04bcf1172a90c4f",
        "timestamp" : 1585974837000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "[C++] add BPF::enable_usdt_all() and disble_usdt_all() to handle all the USDT at once (#2854)\u000a\u000a* add BPF::enable_usdt_all() to enable all the USDT\u000a* add detach_usdt_all() to detach all the USDTs\u000a",
        "date" : "2020-04-03 21:33:57 -0700",
        "id" : "689f90087e0d59caea63e10be04bcf1172a90c4f",
        "msg" : "[C++] add BPF::enable_usdt_all() and disble_usdt_all() to handle all the USDT at once (#2854)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/cpp/FollyRequestContextSwitch.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/nflatency.py"
        ],
        "commitId" : "495a4a3403371b3fb1f7049a8cefc996621e61aa",
        "timestamp" : 1585980153000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "examples/tracing: add nflatency - netfilter hook metrics\u000a\u000aThis adds a kprobe / kretprobe for chasing down slow netfilter hooks.\u000aSince, often, the slowest hooks are on connection initialization and\u000ateardown, it is bucketed by TCP flags. (rather than dive deep in to\u000aconntrack)\u000a\u000aSigned-off-by: Casey Callendrello <cdc@redhat.com>\u000a",
        "date" : "2020-04-03 23:02:33 -0700",
        "id" : "495a4a3403371b3fb1f7049a8cefc996621e61aa",
        "msg" : "examples/tracing: add nflatency - netfilter hook metrics",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/tracing/nflatency.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/CMakeLists.txt",
          "tests/python/test_lpm_trie.py"
        ],
        "commitId" : "533391eaa94c4b3a148bf801b8aea5bb803c1e9d",
        "timestamp" : 1586153355000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add test_lpm_trie.py test\u000a\u000atest_lpm_trie.py has been in the repo for quite some time,\u000abut is not included in the unit test.\u000a\u000aThe issue https://github.com/iovisor/bcc/issues/2860\u000aexposed an issue involved in using together with BTF,\u000awhich requires the key type to be a structure.\u000a\u000aLet add it as a unit test so we can be sure\u000alpm_trie map is supported properly by bcc.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-04-05 23:09:15 -0700",
        "id" : "533391eaa94c4b3a148bf801b8aea5bb803c1e9d",
        "msg" : "add test_lpm_trie.py test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_lpm_trie.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bpf_module.cc"
        ],
        "commitId" : "f35dae07bbe48f6233bf50f05ddbf835cc18c86e",
        "timestamp" : 1586189548000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "adjust layout string in JIT with llvm11 128bit spec support\u000a\u000aTo fix the issue (https://github.com/iovisor/bcc/issues/2827)\u000awhich exposed a problem with aarch64 frontend and bpf backend\u000aregarding __int128 type, the following llvm patch\u000a   https://reviews.llvm.org/D76587\u000alanded to explicitly support i128 type in bpf layout spec.\u000a\u000aAdjust the layout string in bpf_module JIT compilation\u000aaccordingly.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-04-06 09:12:28 -0700",
        "id" : "f35dae07bbe48f6233bf50f05ddbf835cc18c86e",
        "msg" : "adjust layout string in JIT with llvm11 128bit spec support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/CMakeLists.txt",
          "src/cc/bcc_syms.cc",
          "tests/python/test_uprobes2.py"
        ],
        "commitId" : "007ee4930798f854da47f5838097193d75c67ad1",
        "timestamp" : 1586192176000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Translate virtual addresses to binary addresses for shared libs as well.\u000a\u000aQuoting https://refspecs.linuxbase.org/elf/elf.pdf:\u000a```\u000aSymbol table entries for different object file types have slightly different\u000ainterpretations for the st_value member.\u000a- In relocatable files, st_value holds alignment constraints for a symbol\u000awhose section index is SHN_COMMON.\u000a- In relocatable files, st_value holds a section offset for a defined symbol.\u000aThat is, st_value is an offset from the beginning of the section that st_shndx\u000aidentifies.\u000a- In executable and shared object files, st_value holds a virtual address. To\u000amake these files' symbols more useful for the dynamic linker, the section offset\u000a(file interpretation) gives way to a virtual address (memory interpretation) for\u000awhich the section number is irrelevant.\u000a```\u000a\u000aThis is a problem in practice as well. I run into this while tracing shared\u000alibraries on Android with bpftrace. Some of them have text sections mmapped\u000aat different offset than file offset which results in probes being placed\u000aat wrong offsets.\u000a",
        "date" : "2020-04-06 09:56:16 -0700",
        "id" : "007ee4930798f854da47f5838097193d75c67ad1",
        "msg" : "Translate virtual addresses to binary addresses for shared libs as well.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "add",
            "file" : "tests/python/test_uprobes2.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/io_latencies.py"
        ],
        "commitId" : "5057bbe6fb00a112c03ac5c5277646fd9602c1b1",
        "timestamp" : 1586192312000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "examples/tracing: add io_latencies - IO latency distribution monitor\u000a\u000aThis adds flexible low overhead latency percentile monitoring for block\u000adevices which can be useful in understanding and debugging IO related\u000aissues.\u000a\u000aSigned-off-by: Tejun Heo <tj@kernel.org>\u000a",
        "date" : "2020-04-06 09:58:32 -0700",
        "id" : "5057bbe6fb00a112c03ac5c5277646fd9602c1b1",
        "msg" : "examples/tracing: add io_latencies - IO latency distribution monitor",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/tracing/io_latencies.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/filelife.py"
        ],
        "commitId" : "15d7955e07a942340610f71e44f44046b960e3a8",
        "timestamp" : 1586194496000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update pid filter\u000a\u000aUpdate pid filter;  u32 pid = bpf_get_current_pid_tgid() >> 32;\u000a",
        "date" : "2020-04-06 10:34:56 -0700",
        "id" : "15d7955e07a942340610f71e44f44046b960e3a8",
        "msg" : "Update pid filter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/filelife.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "7a3854319929e7f126b893c74290076cf7a328b1",
        "timestamp" : 1586273568000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "doc: fix wrong references to get_syscall_name\u000a",
        "date" : "2020-04-07 08:32:48 -0700",
        "id" : "7a3854319929e7f126b893c74290076cf7a328b1",
        "msg" : "doc: fix wrong references to get_syscall_name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/io_latencies.py",
          "tools/biolatpcts.py"
        ],
        "commitId" : "1515f28a483d62ff056602daacecd7631c98492d",
        "timestamp" : 1587139467000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "tools: Move io_iolatencies.py example to tools/biolatpcts.py\u000a",
        "date" : "2020-04-17 12:04:27 -0400",
        "id" : "1515f28a483d62ff056602daacecd7631c98492d",
        "msg" : "tools: Move io_iolatencies.py example to tools/biolatpcts.py",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tools/biolatpcts.py"
          },
          {
            "editType" : "delete",
            "file" : "examples/tracing/io_latencies.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/biolatpcts.py"
        ],
        "commitId" : "66ab787b5f853d97bad8fb950b12b11b8e281b7c",
        "timestamp" : 1587152520000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "tools/biolatpcts: Use #!/usr/bin/python instead of python3\u000a\u000aNothing in the script requires python3.\u000a",
        "date" : "2020-04-17 15:42:00 -0400",
        "id" : "66ab787b5f853d97bad8fb950b12b11b8e281b7c",
        "msg" : "tools/biolatpcts: Use #!/usr/bin/python instead of python3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/biolatpcts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/biolatpcts.py"
        ],
        "commitId" : "7214903a9c42c3501e50a47d3698b77547036f70",
        "timestamp" : 1587152533000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "tools/biolatpcts: --pcts handling improvements\u000a\u000a* Multiple arguments parsing conflicts with positional argument and can become\u000a  confusing. Use a single comma separated list instead.\u000a\u000a* Instead of converting to floats while parsing arguments, keep the strings\u000a  verbatim and use them when outputting results. This allows matching the same\u000a  target percentile string in the output and is helpful when it's consumed by\u000a  other programs.\u000a",
        "date" : "2020-04-17 15:42:13 -0400",
        "id" : "7214903a9c42c3501e50a47d3698b77547036f70",
        "msg" : "tools/biolatpcts: --pcts handling improvements",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/biolatpcts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/biolatpcts.py"
        ],
        "commitId" : "fbf0392d72a6ced87a5e8ea8a84dfddb5a86c6bd",
        "timestamp" : 1587152547000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "tools/biolatpcts: Accept device name/node for target device selection\u000a\u000aMAJ:MIN is cumbersome. Update it to accept DEVNAME and /dev/DEVNAME too.\u000a",
        "date" : "2020-04-17 15:42:27 -0400",
        "id" : "fbf0392d72a6ced87a5e8ea8a84dfddb5a86c6bd",
        "msg" : "tools/biolatpcts: Accept device name/node for target device selection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/biolatpcts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/biolatpcts.8",
          "tools/biolatpcts_example.txt"
        ],
        "commitId" : "1e9c56f40a44faf72569ddc2e37ca5d554aee93b",
        "timestamp" : 1587152557000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "tools/biolatpcts: Add the example file and man page\u000a",
        "date" : "2020-04-17 15:42:37 -0400",
        "id" : "1e9c56f40a44faf72569ddc2e37ca5d554aee93b",
        "msg" : "tools/biolatpcts: Add the example file and man page",
        "paths" : [
          {
            "editType" : "add",
            "file" : "man/man8/biolatpcts.8"
          },
          {
            "editType" : "add",
            "file" : "tools/biolatpcts_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/biolatpcts.py",
          "examples/tracing/biolatpcts_example.txt"
        ],
        "commitId" : "10519c74c72b58109a2c14eba59d3cfe985ddc0f",
        "timestamp" : 1587154392000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
          "fullName" : "tj"
        },
        "authorEmail" : "tj@kernel.org",
        "comment" : "examples: Add biolatpcts.py example\u000a\u000aThis is simplified version of tools/biolatpcts.py and demonstrates how to\u000aobtain and calculate latency percentiles.\u000a",
        "date" : "2020-04-17 16:13:12 -0400",
        "id" : "10519c74c72b58109a2c14eba59d3cfe985ddc0f",
        "msg" : "examples: Add biolatpcts.py example",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/tracing/biolatpcts_example.txt"
          },
          {
            "editType" : "add",
            "file" : "examples/tracing/biolatpcts.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_usdt_probes.cc",
          "src/cc/api/BPF.h"
        ],
        "commitId" : "f8f230c8162e59202987fb46f2d3d867a5cbef1d",
        "timestamp" : 1587255987000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add attribute readers to class USDT (C++ API)\u000a",
        "date" : "2020-04-18 17:26:27 -0700",
        "id" : "f8f230c8162e59202987fb46f2d3d867a5cbef1d",
        "msg" : "add attribute readers to class USDT (C++ API)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt"
        ],
        "commitId" : "1599c2ef8206988d5df7eeadc3c5138c006ac245",
        "timestamp" : 1587256414000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "build: fix clang 10 build\u000a\u000asome distros already packaging clang 10 (checked fedora and arch) no longer\u000aship all the individual libclang*.so component libraries.\u000aInstead, clang from 9.0 onwards provides a new lib, libclang-cpp.so, which\u000aincludes everything we need.\u000a\u000aTell cmake to use it if the individual libraries are no longer found.\u000a(Build-wise, if both are present it is more efficient to use the individual\u000acomponents so keep these first)\u000a",
        "date" : "2020-04-18 17:33:34 -0700",
        "id" : "1599c2ef8206988d5df7eeadc3c5138c006ac245",
        "msg" : "build: fix clang 10 build",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "libbpf-tools/README.md"
        ],
        "commitId" : "c1d3a65f0d6dd29aad71ffc87f21345473a2bca3",
        "timestamp" : 1587259187000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Added kernel recompile guidance for  libbpf CO-RE (#2876)\u000a\u000aAdded kernel recompile guidance for  libbpf CO-RE\u000a",
        "date" : "2020-04-18 18:19:47 -0700",
        "id" : "c1d3a65f0d6dd29aad71ffc87f21345473a2bca3",
        "msg" : "Added kernel recompile guidance for  libbpf CO-RE (#2876)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "libbpf-tools/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cpp/CMakeLists.txt",
          "src/cc/CMakeLists.txt",
          "src/cc/bcc_version.h.in",
          "examples/cpp/HelloWorld.cc"
        ],
        "commitId" : "6d61622f6300fa140647de82122e66b6288fe2ed",
        "timestamp" : 1587262787000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Add `bcc_version.h` to access LIBBCC_VERSION from C/C++ (#2856)\u000a\u000a add bcc/bcc_version.h to install\u000a",
        "date" : "2020-04-18 19:19:47 -0700",
        "id" : "6d61622f6300fa140647de82122e66b6288fe2ed",
        "msg" : "Add `bcc_version.h` to access LIBBCC_VERSION from C/C++ (#2856)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/cpp/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/HelloWorld.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          },
          {
            "editType" : "add",
            "file" : "src/cc/bcc_version.h.in"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "d3359b294636579649f200deabe71fd98d4edd35",
        "timestamp" : 1587395451000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Improve ubuntu installation description\u000a",
        "date" : "2020-04-20 08:10:51 -0700",
        "id" : "d3359b294636579649f200deabe71fd98d4edd35",
        "msg" : "Improve ubuntu installation description",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/b/codegen_llvm.h",
          "src/cc/frontends/b/codegen_llvm.cc"
        ],
        "commitId" : "45e63f2b316cdce2d8cc925f6f14a8726ade9ff6",
        "timestamp" : 1587416401000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix llvm 11 compilation issues\u000a\u000aThe llvm CreateCall used in bcc is deprecated in llvm 11:\u000a  https://reviews.llvm.org/D76269\u000aThe llvm CreateMemCpy is changed in llvm 11 as well:\u000a  https://reviews.llvm.org/D71473\u000a\u000aThis caused bcc compilation error.\u000a\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc: In member function\u000a     ‘ebpf::StatusTuple ebpf::cc::CodegenLLVM::emit_log(ebpf::cc::Method CallExprNode*)’:\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc:691:39: error: no matching function for call to\u000a     ‘llvm::IRBuilder<>::CreateCall(llvm::Value*&, std::vector<llvm::Value*, std::allocator<llvm::Value*> >&)’\u000a     expr_ = B.CreateCall(printk_fn, args);\u000a                                       ^\u000a  ...\u000a\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc: In member function\u000a     ‘virtual ebpf::StatusTuple ebpf::cc::CodegenLLVM::visit_string_exp_node(ebpf::cc::StringExprNode*)’:\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc:440:55: error: no matching function for call to\u000a     ‘llvm::IRBuilder<>::CreateMemCpy(llvm:Value*&, int, llvm::Value*&, int, std::__cxx11::basic_string<char>::size_type)’\u000a   B.CreateMemCpy(ptr, 1, global, 1, n->val_.size() + 1);\u000a                                                       ^\u000a  ...\u000a\u000aThis patch fixed the compilation issue.\u000a",
        "date" : "2020-04-20 14:00:01 -0700",
        "id" : "45e63f2b316cdce2d8cc925f6f14a8726ade9ff6",
        "msg" : "fix llvm 11 compilation issues",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/codegen_llvm.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/codegen_llvm.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "introspection/bps.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "src/cc/export/helpers.h",
          "docs/kernel-versions.md"
        ],
        "commitId" : "df3e7d673da4bd4acab333f28851eccf00ca9f87",
        "timestamp" : 1587431304000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync to latest libbpf\u000a\u000async to libbpf v0.0.8. Add newer helpers to\u000ahelpers.h, libbpf.c error reporting and docs.\u000a",
        "date" : "2020-04-20 18:08:24 -0700",
        "id" : "df3e7d673da4bd4acab333f28851eccf00ca9f87",
        "msg" : "sync to latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/changelog"
        ],
        "commitId" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
        "timestamp" : 1587436551000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "prepare for release v0.14.0\u000a\u000aadded changelog for release v0.14.0\u000a",
        "date" : "2020-04-20 19:35:51 -0700",
        "id" : "ceb458d6a07a42d8d6d3c16a3b8e387b5131d610",
        "msg" : "prepare for release v0.14.0",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/changelog"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
      "fullName" : "yonghong-song"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tj",
      "fullName" : "tj"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/andriin",
      "fullName" : "andriin"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/edwardwu",
      "fullName" : "edwardwu"
    }
  ],
  "runs" : [
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc25/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc26/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc27/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=fc28/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1604/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1710/471/"
    },
    {
      "number" : 471,
      "url" : "https://buildbot.iovisor.org/jenkins/user/yhs/my-views/view/all/job/bcc-pr/label=ubuntu1804/471/"
    }
  ]
}