{
  "_class" : "hudson.matrix.MatrixRun",
  "actions" : [
    {
      "_class" : "hudson.matrix.MatrixChildParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sha1",
          "value" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommit",
          "value" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbAuthorRepoGitUrl",
          "value" : "https://github.com/dalehamel/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" : "2714"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTargetBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbSourceBranch",
          "value" : "github-actions"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "GIT_BRANCH",
          "value" : "github-actions"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLogin",
          "value" : "dalehamel"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLoginMention",
          "value" : "@dalehamel"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullDescription",
          "value" : "GitHub pull request #2714 of commit 7a343d4b1df60417ba97dd29b7ce675b1e3222e5, has merge conflicts."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullTitle",
          "value" : "GitHub actions"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLink",
          "value" : "https://github.com/iovisor/bcc/pull/2714"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLongDescription",
          "value" : "This is an attempt to get bcc running in github actions.\\r\\n\\r\\n# Status\\r\\n\\r\\nCurrently this appears to actually be running more test cases than on jenkins:\\r\\n\\r\\n```\\r\\ntest cases:   37 |   35 passed | 2 failed\\r\\nassertions: 2414 | 2412 passed | 2 failed\\r\\n```\\r\\n\\r\\nBut on jenkins for libbcc I see:\\r\\n\\r\\n```\\r\\n3: test cases:  37 |  36 passed | 1 failed\\r\\n3: assertions: 626 | 624 passed | 2 failed\\r\\n```\\r\\n\\r\\nThe failures that i'm seeing, at least for libbcc, are also present on jenkins.\\r\\n\\r\\n# What is still failing?\\r\\n\\r\\nHere's an example of a failed test run:\\r\\n\\r\\nhttps://github.com/dalehamel/bcc/runs/399623026\\r\\n\\r\\nThe bits that fail:\\r\\n\\r\\n\\r\\nCurrently there are a few tests that fail, I'd love some help in figuring out why!\\r\\n\\r\\n```\\r\\n 3/36 Test  #3: test_libbcc ......................***Failed   11.81 sec\\r\\n\\r\\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\\r\\ntest_libbcc is a Catch v1.4.0 host application.\\r\\nRun with -? for options\\r\\n\\r\\n-------------------------------------------------------------------------------\\r\\nresolve global addr in libc in this process\\r\\n-------------------------------------------------------------------------------\\r\\n/bcc/tests/cc/test_c_api.cc:583\\r\\n...............................................................................\\r\\n\\r\\n/bcc/tests/cc/test_c_api.cc:599: FAILED:\\r\\n  REQUIRE( res == 0 )\\r\\nwith expansion:\\r\\n  -1 == 0\\r\\n\\r\\n/virtual/main.c:2:7: error: map not found: /sys/fs/bpf/test_pinned_table\\r\\n      BPF_TABLE_PINNED(\\\"hash\\\", u64, u64, ids, 1024, \\\"/sys/fs/bpf/test_pinned_table\\\");\\r\\n      ^\\r\\n/virtual/include/bcc/helpers.h:98:92: note: expanded from macro 'BPF_TABLE_PINNED'\\r\\n#define BPF_TABLE_PINNED(_table_type, _key_type, _leaf_type, _name, _max_entries, _pinned) \\\\r\\n                                                                                           ^\\r\\n/virtual/include/bcc/helpers.h:95:76: note: expanded from macro '\\\\r\\nBPF_TABLE'\\r\\n#define BPF_TABLE(_table_type, _key_type, _leaf_type, _name, _max_entries) \\\\r\\n                                                                           ^\\r\\n/virtual/include/bcc/helpers.h:90:4: note: expanded from macro '\\\\r\\nBPF_F_TABLE'\\r\\n}; \\\\r\\n   ^\\r\\n1 error generated.\\r\\nParse error:\\r\\n    4@i%ra+1r\\r\\n-------^\\r\\n===============================================================================\\r\\ntest cases:   36 |   35 passed | 1 failed\\r\\nassertions: 2420 | 2419 passed | 1 failed\\r\\n\\r\\nFailed\\r\\n```\\r\\n\\r\\nAnd for the python failures:\\r\\n\\r\\n```\\r\\n16/36 Test #16: py_test_brb ......................***Failed    5.55 sec\\r\\nE\\r\\n======================================================================\\r\\nERROR: test_brb (__main__.TestBPFSocket)\\r\\n----------------------------------------------------------------------\\r\\nTraceback (most recent call last):\\r\\n  File \\\"/bcc/tests/python/test_brb.py\\\", line 162, in test_brb\\r\\n    disable_ipv6=True)\\r\\n  File \\\"/bcc/tests/python/simulation.py\\\", line 94, in _create_ns\\r\\n    disable_ipv6)\\r\\n  File \\\"/bcc/tests/python/simulation.py\\\", line 68, in _ns_add_ifc\\r\\n    ns_ipdb.interfaces.lo.up().commit()\\r\\n  File \\\"/usr/local/lib/python2.7/dist-packages/pyroute2/ipdb/interfaces.py\\\", line 1078, in commit\\r\\n    raise error\\r\\nCommitException: target state is not set\\r\\n\\r\\n----------------------------------------------------------------------\\r\\nRan 1 test in 5.338s\\r\\n\\r\\nFAILED (errors=1)\\r\\nFailed\\r\\n\\r\\n      Start 17: py_test_brb2\\r\\n```\\r\\n\\r\\n```\\r\\n17/36 Test #17: py_test_brb2 .....................***Failed    5.51 sec\\r\\nE\\r\\n======================================================================\\r\\nERROR: test_brb2 (__main__.TestBPFSocket)\\r\\n----------------------------------------------------------------------\\r\\nTraceback (most recent call last):\\r\\n  File \\\"/bcc/tests/python/test_brb2.py\\\", line 150, in test_brb2\\r\\n    disable_ipv6=True)\\r\\n  File \\\"/bcc/tests/python/simulation.py\\\", line 94, in _create_ns\\r\\n    disable_ipv6)\\r\\n  File \\\"/bcc/tests/python/simulation.py\\\", line 68, in _ns_add_ifc\\r\\n    ns_ipdb.interfaces.lo.up().commit()\\r\\n  File \\\"/usr/local/lib/python2.7/dist-packages/pyroute2/ipdb/interfaces.py\\\", line 1078, in commit\\r\\n    raise error\\r\\nCommitException: target state is not set\\r\\n\\r\\n----------------------------------------------------------------------\\r\\nRan 1 test in 5.292s\\r\\n\\r\\nFAILED (errors=1)\\r\\nFailed\\r\\n```\\r\\n\\r\\nAnd a few others\\r\\n"
        },
        {
          "_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.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UpstreamCause",
          "shortDescription" : "Started by upstream project \"bcc-pr\" build number 262",
          "upstreamBuild" : 262,
          "upstreamProject" : "bcc-pr",
          "upstreamUrl" : "job/bcc-pr/"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/pr/2528/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 74,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9a5313acfdcbed6003488622747de26938881d70",
            "branch" : [
              {
                "SHA1" : "9a5313acfdcbed6003488622747de26938881d70",
                "name" : "refs/remotes/origin/pr/2528/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9a5313acfdcbed6003488622747de26938881d70",
            "branch" : [
              {
                "SHA1" : "9a5313acfdcbed6003488622747de26938881d70",
                "name" : "refs/remotes/origin/pr/2528/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2711/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 247,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3ab8d18db9cdcb0b1494f851579b64661be29bd9",
            "branch" : [
              {
                "SHA1" : "3ab8d18db9cdcb0b1494f851579b64661be29bd9",
                "name" : "refs/remotes/origin/pr/2711/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3ab8d18db9cdcb0b1494f851579b64661be29bd9",
            "branch" : [
              {
                "SHA1" : "3ab8d18db9cdcb0b1494f851579b64661be29bd9",
                "name" : "refs/remotes/origin/pr/2711/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2646/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 172,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "abcf671ab1536f855795f32ea21a3a956ec47449",
            "branch" : [
              {
                "SHA1" : "abcf671ab1536f855795f32ea21a3a956ec47449",
                "name" : "refs/remotes/origin/pr/2646/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "abcf671ab1536f855795f32ea21a3a956ec47449",
            "branch" : [
              {
                "SHA1" : "abcf671ab1536f855795f32ea21a3a956ec47449",
                "name" : "refs/remotes/origin/pr/2646/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2686/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 218,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "55af5d636555c663aa35d23f19a15f89ca81022a",
            "branch" : [
              {
                "SHA1" : "55af5d636555c663aa35d23f19a15f89ca81022a",
                "name" : "refs/remotes/origin/pr/2686/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "55af5d636555c663aa35d23f19a15f89ca81022a",
            "branch" : [
              {
                "SHA1" : "55af5d636555c663aa35d23f19a15f89ca81022a",
                "name" : "refs/remotes/origin/pr/2686/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2568/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 98,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a848c84e4b957d6beedd7f1a13d89af330a30938",
            "branch" : [
              {
                "SHA1" : "a848c84e4b957d6beedd7f1a13d89af330a30938",
                "name" : "refs/remotes/origin/pr/2568/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a848c84e4b957d6beedd7f1a13d89af330a30938",
            "branch" : [
              {
                "SHA1" : "a848c84e4b957d6beedd7f1a13d89af330a30938",
                "name" : "refs/remotes/origin/pr/2568/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2603/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 136,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "23728cf12d8ce3aef2d9f81ca3c070897f8c80a6",
            "branch" : [
              {
                "SHA1" : "23728cf12d8ce3aef2d9f81ca3c070897f8c80a6",
                "name" : "refs/remotes/origin/pr/2603/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "23728cf12d8ce3aef2d9f81ca3c070897f8c80a6",
            "branch" : [
              {
                "SHA1" : "23728cf12d8ce3aef2d9f81ca3c070897f8c80a6",
                "name" : "refs/remotes/origin/pr/2603/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2643/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 168,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b0a01cdb85a5ff139911b10da29f0164ad707814",
            "branch" : [
              {
                "SHA1" : "b0a01cdb85a5ff139911b10da29f0164ad707814",
                "name" : "refs/remotes/origin/pr/2643/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b0a01cdb85a5ff139911b10da29f0164ad707814",
            "branch" : [
              {
                "SHA1" : "b0a01cdb85a5ff139911b10da29f0164ad707814",
                "name" : "refs/remotes/origin/pr/2643/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2598/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 129,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4f7cb2798b1548cee4c2b9311a9920e4db7699ee",
            "branch" : [
              {
                "SHA1" : "4f7cb2798b1548cee4c2b9311a9920e4db7699ee",
                "name" : "refs/remotes/origin/pr/2598/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4f7cb2798b1548cee4c2b9311a9920e4db7699ee",
            "branch" : [
              {
                "SHA1" : "4f7cb2798b1548cee4c2b9311a9920e4db7699ee",
                "name" : "refs/remotes/origin/pr/2598/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2613/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 149,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3e7e5d573ac51569a941050b64bd1a3196bfdc19",
            "branch" : [
              {
                "SHA1" : "3e7e5d573ac51569a941050b64bd1a3196bfdc19",
                "name" : "refs/remotes/origin/pr/2613/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3e7e5d573ac51569a941050b64bd1a3196bfdc19",
            "branch" : [
              {
                "SHA1" : "3e7e5d573ac51569a941050b64bd1a3196bfdc19",
                "name" : "refs/remotes/origin/pr/2613/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2633/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 166,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "86d61cee80699305e53eba2d91d1a30b4326b34a",
            "branch" : [
              {
                "SHA1" : "86d61cee80699305e53eba2d91d1a30b4326b34a",
                "name" : "refs/remotes/origin/pr/2633/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "86d61cee80699305e53eba2d91d1a30b4326b34a",
            "branch" : [
              {
                "SHA1" : "86d61cee80699305e53eba2d91d1a30b4326b34a",
                "name" : "refs/remotes/origin/pr/2633/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2653/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 184,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cd48db92401194e170bd105f796b1763144956d8",
            "branch" : [
              {
                "SHA1" : "cd48db92401194e170bd105f796b1763144956d8",
                "name" : "refs/remotes/origin/pr/2653/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cd48db92401194e170bd105f796b1763144956d8",
            "branch" : [
              {
                "SHA1" : "cd48db92401194e170bd105f796b1763144956d8",
                "name" : "refs/remotes/origin/pr/2653/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2600/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 131,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f51c10122b69be8edaefaa4d25e8a334d3a7ba9a",
            "branch" : [
              {
                "SHA1" : "f51c10122b69be8edaefaa4d25e8a334d3a7ba9a",
                "name" : "refs/remotes/origin/pr/2600/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f51c10122b69be8edaefaa4d25e8a334d3a7ba9a",
            "branch" : [
              {
                "SHA1" : "f51c10122b69be8edaefaa4d25e8a334d3a7ba9a",
                "name" : "refs/remotes/origin/pr/2600/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2545/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 83,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c69606c28417cd0625f269db3da79731b247c017",
            "branch" : [
              {
                "SHA1" : "c69606c28417cd0625f269db3da79731b247c017",
                "name" : "refs/remotes/origin/pr/2545/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c69606c28417cd0625f269db3da79731b247c017",
            "branch" : [
              {
                "SHA1" : "c69606c28417cd0625f269db3da79731b247c017",
                "name" : "refs/remotes/origin/pr/2545/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2535/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 116,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4f4daf6f78aaffa2276507474f03b06049d20dff",
            "branch" : [
              {
                "SHA1" : "4f4daf6f78aaffa2276507474f03b06049d20dff",
                "name" : "refs/remotes/origin/pr/2535/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4f4daf6f78aaffa2276507474f03b06049d20dff",
            "branch" : [
              {
                "SHA1" : "4f4daf6f78aaffa2276507474f03b06049d20dff",
                "name" : "refs/remotes/origin/pr/2535/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2437/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 8,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1d33111c31f8226d64a0feea11eb6bbb7195ea40",
            "branch" : [
              {
                "SHA1" : "1d33111c31f8226d64a0feea11eb6bbb7195ea40",
                "name" : "refs/remotes/origin/pr/2437/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1d33111c31f8226d64a0feea11eb6bbb7195ea40",
            "branch" : [
              {
                "SHA1" : "1d33111c31f8226d64a0feea11eb6bbb7195ea40",
                "name" : "refs/remotes/origin/pr/2437/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2620/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 154,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c895fd8cf60f128476d3e24581235b8b48861e6d",
            "branch" : [
              {
                "SHA1" : "c895fd8cf60f128476d3e24581235b8b48861e6d",
                "name" : "refs/remotes/origin/pr/2620/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c895fd8cf60f128476d3e24581235b8b48861e6d",
            "branch" : [
              {
                "SHA1" : "c895fd8cf60f128476d3e24581235b8b48861e6d",
                "name" : "refs/remotes/origin/pr/2620/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2482/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 46,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5ff59d53da54fa98c77dc2676fe208e7d6d0bad7",
            "branch" : [
              {
                "SHA1" : "5ff59d53da54fa98c77dc2676fe208e7d6d0bad7",
                "name" : "refs/remotes/origin/pr/2482/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5ff59d53da54fa98c77dc2676fe208e7d6d0bad7",
            "branch" : [
              {
                "SHA1" : "5ff59d53da54fa98c77dc2676fe208e7d6d0bad7",
                "name" : "refs/remotes/origin/pr/2482/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2457/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 17,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5bafc922036722f7902ec0c3ac4cd08233609e94",
            "branch" : [
              {
                "SHA1" : "5bafc922036722f7902ec0c3ac4cd08233609e94",
                "name" : "refs/remotes/origin/pr/2457/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5bafc922036722f7902ec0c3ac4cd08233609e94",
            "branch" : [
              {
                "SHA1" : "5bafc922036722f7902ec0c3ac4cd08233609e94",
                "name" : "refs/remotes/origin/pr/2457/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2502/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 61,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a0f4c55ce39b1a8edc6e6131e38be1983f0e835e",
            "branch" : [
              {
                "SHA1" : "a0f4c55ce39b1a8edc6e6131e38be1983f0e835e",
                "name" : "refs/remotes/origin/pr/2502/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a0f4c55ce39b1a8edc6e6131e38be1983f0e835e",
            "branch" : [
              {
                "SHA1" : "a0f4c55ce39b1a8edc6e6131e38be1983f0e835e",
                "name" : "refs/remotes/origin/pr/2502/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2522/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 78,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0c6b340f3d118071e9042ec77391e92a763fcae4",
            "branch" : [
              {
                "SHA1" : "0c6b340f3d118071e9042ec77391e92a763fcae4",
                "name" : "refs/remotes/origin/pr/2522/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0c6b340f3d118071e9042ec77391e92a763fcae4",
            "branch" : [
              {
                "SHA1" : "0c6b340f3d118071e9042ec77391e92a763fcae4",
                "name" : "refs/remotes/origin/pr/2522/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2650/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 179,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fa46c1790e6623f7ed0a1da2e93e0dfe4004952e",
            "branch" : [
              {
                "SHA1" : "fa46c1790e6623f7ed0a1da2e93e0dfe4004952e",
                "name" : "refs/remotes/origin/pr/2650/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fa46c1790e6623f7ed0a1da2e93e0dfe4004952e",
            "branch" : [
              {
                "SHA1" : "fa46c1790e6623f7ed0a1da2e93e0dfe4004952e",
                "name" : "refs/remotes/origin/pr/2650/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2404/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 20,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0e09566432350faeb1042a8f885a1d14db8c3079",
            "branch" : [
              {
                "SHA1" : "0e09566432350faeb1042a8f885a1d14db8c3079",
                "name" : "refs/remotes/origin/pr/2404/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0e09566432350faeb1042a8f885a1d14db8c3079",
            "branch" : [
              {
                "SHA1" : "0e09566432350faeb1042a8f885a1d14db8c3079",
                "name" : "refs/remotes/origin/pr/2404/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2560/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 93,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8e21e2c84f886e4d57a01e82e15a425426dd5407",
            "branch" : [
              {
                "SHA1" : "8e21e2c84f886e4d57a01e82e15a425426dd5407",
                "name" : "refs/remotes/origin/pr/2560/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8e21e2c84f886e4d57a01e82e15a425426dd5407",
            "branch" : [
              {
                "SHA1" : "8e21e2c84f886e4d57a01e82e15a425426dd5407",
                "name" : "refs/remotes/origin/pr/2560/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2575/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 100,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af",
            "branch" : [
              {
                "SHA1" : "5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af",
                "name" : "refs/remotes/origin/pr/2575/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af",
            "branch" : [
              {
                "SHA1" : "5bfbb4d74e2c82dc0f14d20d09659ae48d8e43af",
                "name" : "refs/remotes/origin/pr/2575/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2520/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 68,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b4a50e67d279dba7de22c5f15f8ce64b67a744f1",
            "branch" : [
              {
                "SHA1" : "b4a50e67d279dba7de22c5f15f8ce64b67a744f1",
                "name" : "refs/remotes/origin/pr/2520/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b4a50e67d279dba7de22c5f15f8ce64b67a744f1",
            "branch" : [
              {
                "SHA1" : "b4a50e67d279dba7de22c5f15f8ce64b67a744f1",
                "name" : "refs/remotes/origin/pr/2520/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2540/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 80,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9f7df6f7b4c3a817e3ae935510e19734d3e2c48f",
            "branch" : [
              {
                "SHA1" : "9f7df6f7b4c3a817e3ae935510e19734d3e2c48f",
                "name" : "refs/remotes/origin/pr/2540/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9f7df6f7b4c3a817e3ae935510e19734d3e2c48f",
            "branch" : [
              {
                "SHA1" : "9f7df6f7b4c3a817e3ae935510e19734d3e2c48f",
                "name" : "refs/remotes/origin/pr/2540/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2465/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 25,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "706056329559cf85fa329aa72da6d84cb7ebe575",
            "branch" : [
              {
                "SHA1" : "706056329559cf85fa329aa72da6d84cb7ebe575",
                "name" : "refs/remotes/origin/pr/2465/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "706056329559cf85fa329aa72da6d84cb7ebe575",
            "branch" : [
              {
                "SHA1" : "706056329559cf85fa329aa72da6d84cb7ebe575",
                "name" : "refs/remotes/origin/pr/2465/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2717/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 261,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2d8d6faae172da6237135dfd334609b66c11276a",
            "branch" : [
              {
                "SHA1" : "2d8d6faae172da6237135dfd334609b66c11276a",
                "name" : "refs/remotes/origin/pr/2717/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2d8d6faae172da6237135dfd334609b66c11276a",
            "branch" : [
              {
                "SHA1" : "2d8d6faae172da6237135dfd334609b66c11276a",
                "name" : "refs/remotes/origin/pr/2717/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2693/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 221,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3d15e62972c2ffedcef0b227d3f1874aca7a3b26",
            "branch" : [
              {
                "SHA1" : "3d15e62972c2ffedcef0b227d3f1874aca7a3b26",
                "name" : "refs/remotes/origin/pr/2693/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3d15e62972c2ffedcef0b227d3f1874aca7a3b26",
            "branch" : [
              {
                "SHA1" : "3d15e62972c2ffedcef0b227d3f1874aca7a3b26",
                "name" : "refs/remotes/origin/pr/2693/merge"
              }
            ]
          }
        },
        "detached" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 262,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
            "branch" : [
              {
                "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
                "name" : "detached"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
            "branch" : [
              {
                "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
                "name" : "detached"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2659/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 188,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2fe89089de30f701a3b3a862099b2c099ea40e17",
            "branch" : [
              {
                "SHA1" : "2fe89089de30f701a3b3a862099b2c099ea40e17",
                "name" : "refs/remotes/origin/pr/2659/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2fe89089de30f701a3b3a862099b2c099ea40e17",
            "branch" : [
              {
                "SHA1" : "2fe89089de30f701a3b3a862099b2c099ea40e17",
                "name" : "refs/remotes/origin/pr/2659/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2563/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 96,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9cbc7ce9422ebe42da07520d6cee7b728d20cf39",
            "branch" : [
              {
                "SHA1" : "9cbc7ce9422ebe42da07520d6cee7b728d20cf39",
                "name" : "refs/remotes/origin/pr/2563/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9cbc7ce9422ebe42da07520d6cee7b728d20cf39",
            "branch" : [
              {
                "SHA1" : "9cbc7ce9422ebe42da07520d6cee7b728d20cf39",
                "name" : "refs/remotes/origin/pr/2563/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2696/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 226,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "31fd3b74cc31a8b0332007703dadc2604c8e1517",
            "branch" : [
              {
                "SHA1" : "31fd3b74cc31a8b0332007703dadc2604c8e1517",
                "name" : "refs/remotes/origin/pr/2696/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "31fd3b74cc31a8b0332007703dadc2604c8e1517",
            "branch" : [
              {
                "SHA1" : "31fd3b74cc31a8b0332007703dadc2604c8e1517",
                "name" : "refs/remotes/origin/pr/2696/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2699/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 234,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3782841ca9217857fda1bad4a25d258035abdbe7",
            "branch" : [
              {
                "SHA1" : "3782841ca9217857fda1bad4a25d258035abdbe7",
                "name" : "refs/remotes/origin/pr/2699/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3782841ca9217857fda1bad4a25d258035abdbe7",
            "branch" : [
              {
                "SHA1" : "3782841ca9217857fda1bad4a25d258035abdbe7",
                "name" : "refs/remotes/origin/pr/2699/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2681/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 207,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "06a02c4b193710ed873851838d44032205645022",
            "branch" : [
              {
                "SHA1" : "06a02c4b193710ed873851838d44032205645022",
                "name" : "refs/remotes/origin/pr/2681/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "06a02c4b193710ed873851838d44032205645022",
            "branch" : [
              {
                "SHA1" : "06a02c4b193710ed873851838d44032205645022",
                "name" : "refs/remotes/origin/pr/2681/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2709/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 243,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "729f3df9e9a27b27f0cc7a6e9cedff9776414abc",
            "branch" : [
              {
                "SHA1" : "729f3df9e9a27b27f0cc7a6e9cedff9776414abc",
                "name" : "refs/remotes/origin/pr/2709/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "729f3df9e9a27b27f0cc7a6e9cedff9776414abc",
            "branch" : [
              {
                "SHA1" : "729f3df9e9a27b27f0cc7a6e9cedff9776414abc",
                "name" : "refs/remotes/origin/pr/2709/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2503/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 58,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2c65607d510390b0e3795aae757a2bde4dc0f56f",
            "branch" : [
              {
                "SHA1" : "2c65607d510390b0e3795aae757a2bde4dc0f56f",
                "name" : "refs/remotes/origin/pr/2503/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2c65607d510390b0e3795aae757a2bde4dc0f56f",
            "branch" : [
              {
                "SHA1" : "2c65607d510390b0e3795aae757a2bde4dc0f56f",
                "name" : "refs/remotes/origin/pr/2503/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2468/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 28,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dafbbd9951a6780ca0367bedfcf27222ab13ab22",
            "branch" : [
              {
                "SHA1" : "dafbbd9951a6780ca0367bedfcf27222ab13ab22",
                "name" : "refs/remotes/origin/pr/2468/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dafbbd9951a6780ca0367bedfcf27222ab13ab22",
            "branch" : [
              {
                "SHA1" : "dafbbd9951a6780ca0367bedfcf27222ab13ab22",
                "name" : "refs/remotes/origin/pr/2468/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2481/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 41,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "efc51715bf825d55c735f17035562b91e7d1b5c7",
            "branch" : [
              {
                "SHA1" : "efc51715bf825d55c735f17035562b91e7d1b5c7",
                "name" : "refs/remotes/origin/pr/2481/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "efc51715bf825d55c735f17035562b91e7d1b5c7",
            "branch" : [
              {
                "SHA1" : "efc51715bf825d55c735f17035562b91e7d1b5c7",
                "name" : "refs/remotes/origin/pr/2481/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2451/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 11,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0de2759a56d8ec943a4cbaa861835ea9ca699734",
            "branch" : [
              {
                "SHA1" : "0de2759a56d8ec943a4cbaa861835ea9ca699734",
                "name" : "refs/remotes/origin/pr/2451/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0de2759a56d8ec943a4cbaa861835ea9ca699734",
            "branch" : [
              {
                "SHA1" : "0de2759a56d8ec943a4cbaa861835ea9ca699734",
                "name" : "refs/remotes/origin/pr/2451/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2458/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 18,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "34d4937ab03a111f00c3dcc64568345064c44627",
            "branch" : [
              {
                "SHA1" : "34d4937ab03a111f00c3dcc64568345064c44627",
                "name" : "refs/remotes/origin/pr/2458/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "34d4937ab03a111f00c3dcc64568345064c44627",
            "branch" : [
              {
                "SHA1" : "34d4937ab03a111f00c3dcc64568345064c44627",
                "name" : "refs/remotes/origin/pr/2458/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2684/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 213,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e45fff282e1c129e08358e254e5223062a586e36",
            "branch" : [
              {
                "SHA1" : "e45fff282e1c129e08358e254e5223062a586e36",
                "name" : "refs/remotes/origin/pr/2684/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e45fff282e1c129e08358e254e5223062a586e36",
            "branch" : [
              {
                "SHA1" : "e45fff282e1c129e08358e254e5223062a586e36",
                "name" : "refs/remotes/origin/pr/2684/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2694/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 227,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1afb16ac6670c0fc759962953a807252fac21552",
            "branch" : [
              {
                "SHA1" : "1afb16ac6670c0fc759962953a807252fac21552",
                "name" : "refs/remotes/origin/pr/2694/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1afb16ac6670c0fc759962953a807252fac21552",
            "branch" : [
              {
                "SHA1" : "1afb16ac6670c0fc759962953a807252fac21552",
                "name" : "refs/remotes/origin/pr/2694/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2706/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 238,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6aa3c6562aaa861af1bd98dae36cdbdbbffaca54",
            "branch" : [
              {
                "SHA1" : "6aa3c6562aaa861af1bd98dae36cdbdbbffaca54",
                "name" : "refs/remotes/origin/pr/2706/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6aa3c6562aaa861af1bd98dae36cdbdbbffaca54",
            "branch" : [
              {
                "SHA1" : "6aa3c6562aaa861af1bd98dae36cdbdbbffaca54",
                "name" : "refs/remotes/origin/pr/2706/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2464/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 22,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1a5316f20d9ffb9906f606482bf558197ab7b36a",
            "branch" : [
              {
                "SHA1" : "1a5316f20d9ffb9906f606482bf558197ab7b36a",
                "name" : "refs/remotes/origin/pr/2464/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1a5316f20d9ffb9906f606482bf558197ab7b36a",
            "branch" : [
              {
                "SHA1" : "1a5316f20d9ffb9906f606482bf558197ab7b36a",
                "name" : "refs/remotes/origin/pr/2464/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2474/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 31,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5",
            "branch" : [
              {
                "SHA1" : "4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5",
                "name" : "refs/remotes/origin/pr/2474/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5",
            "branch" : [
              {
                "SHA1" : "4b52f6f57c53481fa0ec118ea24a1bdc4820aeb5",
                "name" : "refs/remotes/origin/pr/2474/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2399/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 24,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "4555c4ed09e44f43d97eb80d5866d93ee541db52",
            "branch" : [
              {
                "SHA1" : "4555c4ed09e44f43d97eb80d5866d93ee541db52",
                "name" : "refs/remotes/origin/pr/2399/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "4555c4ed09e44f43d97eb80d5866d93ee541db52",
            "branch" : [
              {
                "SHA1" : "4555c4ed09e44f43d97eb80d5866d93ee541db52",
                "name" : "refs/remotes/origin/pr/2399/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2562/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 97,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "43ecc261d9a0089afe78740396df89f7f9fe83b4",
            "branch" : [
              {
                "SHA1" : "43ecc261d9a0089afe78740396df89f7f9fe83b4",
                "name" : "refs/remotes/origin/pr/2562/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "43ecc261d9a0089afe78740396df89f7f9fe83b4",
            "branch" : [
              {
                "SHA1" : "43ecc261d9a0089afe78740396df89f7f9fe83b4",
                "name" : "refs/remotes/origin/pr/2562/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2655/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 182,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cf21b632cfe56fbe3cfe95a141727fc1e8160051",
            "branch" : [
              {
                "SHA1" : "cf21b632cfe56fbe3cfe95a141727fc1e8160051",
                "name" : "refs/remotes/origin/pr/2655/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cf21b632cfe56fbe3cfe95a141727fc1e8160051",
            "branch" : [
              {
                "SHA1" : "cf21b632cfe56fbe3cfe95a141727fc1e8160051",
                "name" : "refs/remotes/origin/pr/2655/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2625/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 155,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6250e5ad2b7bc6e7cbf0bc2740586262519e90d0",
            "branch" : [
              {
                "SHA1" : "6250e5ad2b7bc6e7cbf0bc2740586262519e90d0",
                "name" : "refs/remotes/origin/pr/2625/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6250e5ad2b7bc6e7cbf0bc2740586262519e90d0",
            "branch" : [
              {
                "SHA1" : "6250e5ad2b7bc6e7cbf0bc2740586262519e90d0",
                "name" : "refs/remotes/origin/pr/2625/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2665/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 260,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bab52660430bcf976ea48643f75bf51cf20b8cb1",
            "branch" : [
              {
                "SHA1" : "bab52660430bcf976ea48643f75bf51cf20b8cb1",
                "name" : "refs/remotes/origin/pr/2665/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bab52660430bcf976ea48643f75bf51cf20b8cb1",
            "branch" : [
              {
                "SHA1" : "bab52660430bcf976ea48643f75bf51cf20b8cb1",
                "name" : "refs/remotes/origin/pr/2665/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2660/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 190,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e8881582af5dd4e276465d76a317bf9ff39e8a5a",
            "branch" : [
              {
                "SHA1" : "e8881582af5dd4e276465d76a317bf9ff39e8a5a",
                "name" : "refs/remotes/origin/pr/2660/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e8881582af5dd4e276465d76a317bf9ff39e8a5a",
            "branch" : [
              {
                "SHA1" : "e8881582af5dd4e276465d76a317bf9ff39e8a5a",
                "name" : "refs/remotes/origin/pr/2660/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2532/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 77,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "617e0ca4fc895f2ff7bcd521313204db9f41e929",
            "branch" : [
              {
                "SHA1" : "617e0ca4fc895f2ff7bcd521313204db9f41e929",
                "name" : "refs/remotes/origin/pr/2532/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "617e0ca4fc895f2ff7bcd521313204db9f41e929",
            "branch" : [
              {
                "SHA1" : "617e0ca4fc895f2ff7bcd521313204db9f41e929",
                "name" : "refs/remotes/origin/pr/2532/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2637/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 163,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d2de12709686a74a0483bdb9b7bf5715d64f5459",
            "branch" : [
              {
                "SHA1" : "d2de12709686a74a0483bdb9b7bf5715d64f5459",
                "name" : "refs/remotes/origin/pr/2637/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d2de12709686a74a0483bdb9b7bf5715d64f5459",
            "branch" : [
              {
                "SHA1" : "d2de12709686a74a0483bdb9b7bf5715d64f5459",
                "name" : "refs/remotes/origin/pr/2637/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2585/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 108,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce",
            "branch" : [
              {
                "SHA1" : "fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce",
                "name" : "refs/remotes/origin/pr/2585/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce",
            "branch" : [
              {
                "SHA1" : "fa9ca30aabaea8d1cfb3061c52e6e71e7f1e50ce",
                "name" : "refs/remotes/origin/pr/2585/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2324/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 13,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "91925f723c4424884963ac2f5e8d3cbeae01c304",
            "branch" : [
              {
                "SHA1" : "91925f723c4424884963ac2f5e8d3cbeae01c304",
                "name" : "refs/remotes/origin/pr/2324/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "91925f723c4424884963ac2f5e8d3cbeae01c304",
            "branch" : [
              {
                "SHA1" : "91925f723c4424884963ac2f5e8d3cbeae01c304",
                "name" : "refs/remotes/origin/pr/2324/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2527/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 73,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7ac4187f13a382ffb048966d778055357642f2dd",
            "branch" : [
              {
                "SHA1" : "7ac4187f13a382ffb048966d778055357642f2dd",
                "name" : "refs/remotes/origin/pr/2527/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7ac4187f13a382ffb048966d778055357642f2dd",
            "branch" : [
              {
                "SHA1" : "7ac4187f13a382ffb048966d778055357642f2dd",
                "name" : "refs/remotes/origin/pr/2527/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2602/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 134,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "00430a10e0e8cf4b18c98d364cc221713ff89dac",
            "branch" : [
              {
                "SHA1" : "00430a10e0e8cf4b18c98d364cc221713ff89dac",
                "name" : "refs/remotes/origin/pr/2602/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "00430a10e0e8cf4b18c98d364cc221713ff89dac",
            "branch" : [
              {
                "SHA1" : "00430a10e0e8cf4b18c98d364cc221713ff89dac",
                "name" : "refs/remotes/origin/pr/2602/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2642/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 169,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "78e340bdd6032223e3628d6e4742b2241dc28617",
            "branch" : [
              {
                "SHA1" : "78e340bdd6032223e3628d6e4742b2241dc28617",
                "name" : "refs/remotes/origin/pr/2642/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "78e340bdd6032223e3628d6e4742b2241dc28617",
            "branch" : [
              {
                "SHA1" : "78e340bdd6032223e3628d6e4742b2241dc28617",
                "name" : "refs/remotes/origin/pr/2642/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2677/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 203,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d9ea5660e60a3104cb8e10d4ce713732b772092c",
            "branch" : [
              {
                "SHA1" : "d9ea5660e60a3104cb8e10d4ce713732b772092c",
                "name" : "refs/remotes/origin/pr/2677/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d9ea5660e60a3104cb8e10d4ce713732b772092c",
            "branch" : [
              {
                "SHA1" : "d9ea5660e60a3104cb8e10d4ce713732b772092c",
                "name" : "refs/remotes/origin/pr/2677/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2475/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 39,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1b71700f5754c2ba95550261d52dd3c01ddc5078",
            "branch" : [
              {
                "SHA1" : "1b71700f5754c2ba95550261d52dd3c01ddc5078",
                "name" : "refs/remotes/origin/pr/2475/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1b71700f5754c2ba95550261d52dd3c01ddc5078",
            "branch" : [
              {
                "SHA1" : "1b71700f5754c2ba95550261d52dd3c01ddc5078",
                "name" : "refs/remotes/origin/pr/2475/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2712/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 251,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6dcbf5a075a44c16b86a034c1f9e461d412ebfa9",
            "branch" : [
              {
                "SHA1" : "6dcbf5a075a44c16b86a034c1f9e461d412ebfa9",
                "name" : "refs/remotes/origin/pr/2712/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6dcbf5a075a44c16b86a034c1f9e461d412ebfa9",
            "branch" : [
              {
                "SHA1" : "6dcbf5a075a44c16b86a034c1f9e461d412ebfa9",
                "name" : "refs/remotes/origin/pr/2712/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2544/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 85,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "558239695fde72e2b72d4c65890caf49029e8549",
            "branch" : [
              {
                "SHA1" : "558239695fde72e2b72d4c65890caf49029e8549",
                "name" : "refs/remotes/origin/pr/2544/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "558239695fde72e2b72d4c65890caf49029e8549",
            "branch" : [
              {
                "SHA1" : "558239695fde72e2b72d4c65890caf49029e8549",
                "name" : "refs/remotes/origin/pr/2544/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2480/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 42,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45",
            "branch" : [
              {
                "SHA1" : "dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45",
                "name" : "refs/remotes/origin/pr/2480/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45",
            "branch" : [
              {
                "SHA1" : "dc3301b4eaf4afedc7b2a80ab9f484163fb6cb45",
                "name" : "refs/remotes/origin/pr/2480/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2683/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 212,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b28a1962ad7465973acd9a658971992864d45cc7",
            "branch" : [
              {
                "SHA1" : "b28a1962ad7465973acd9a658971992864d45cc7",
                "name" : "refs/remotes/origin/pr/2683/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b28a1962ad7465973acd9a658971992864d45cc7",
            "branch" : [
              {
                "SHA1" : "b28a1962ad7465973acd9a658971992864d45cc7",
                "name" : "refs/remotes/origin/pr/2683/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2579/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 139,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e76a69df2fa545ce7c8e1046c35c0a52c501f8ff",
            "branch" : [
              {
                "SHA1" : "e76a69df2fa545ce7c8e1046c35c0a52c501f8ff",
                "name" : "refs/remotes/origin/pr/2579/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e76a69df2fa545ce7c8e1046c35c0a52c501f8ff",
            "branch" : [
              {
                "SHA1" : "e76a69df2fa545ce7c8e1046c35c0a52c501f8ff",
                "name" : "refs/remotes/origin/pr/2579/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2689/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 220,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8108a74ca639d452b7b1147402a6518668ca471d",
            "branch" : [
              {
                "SHA1" : "8108a74ca639d452b7b1147402a6518668ca471d",
                "name" : "refs/remotes/origin/pr/2689/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8108a74ca639d452b7b1147402a6518668ca471d",
            "branch" : [
              {
                "SHA1" : "8108a74ca639d452b7b1147402a6518668ca471d",
                "name" : "refs/remotes/origin/pr/2689/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2614/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 150,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a8dfc54f693192bc9bcef31bcf0f64b503ae2b62",
            "branch" : [
              {
                "SHA1" : "a8dfc54f693192bc9bcef31bcf0f64b503ae2b62",
                "name" : "refs/remotes/origin/pr/2614/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a8dfc54f693192bc9bcef31bcf0f64b503ae2b62",
            "branch" : [
              {
                "SHA1" : "a8dfc54f693192bc9bcef31bcf0f64b503ae2b62",
                "name" : "refs/remotes/origin/pr/2614/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2626/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 156,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d0a3da4c307fd89ee43c1fb5603805b50aec8b14",
            "branch" : [
              {
                "SHA1" : "d0a3da4c307fd89ee43c1fb5603805b50aec8b14",
                "name" : "refs/remotes/origin/pr/2626/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d0a3da4c307fd89ee43c1fb5603805b50aec8b14",
            "branch" : [
              {
                "SHA1" : "d0a3da4c307fd89ee43c1fb5603805b50aec8b14",
                "name" : "refs/remotes/origin/pr/2626/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2596/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 142,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "560b8090f01511ca01fcba52ca317eb894d2f955",
            "branch" : [
              {
                "SHA1" : "560b8090f01511ca01fcba52ca317eb894d2f955",
                "name" : "refs/remotes/origin/pr/2596/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "560b8090f01511ca01fcba52ca317eb894d2f955",
            "branch" : [
              {
                "SHA1" : "560b8090f01511ca01fcba52ca317eb894d2f955",
                "name" : "refs/remotes/origin/pr/2596/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2516/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 66,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "42d092c998f8e32f22ff38cd3832813087343e55",
            "branch" : [
              {
                "SHA1" : "42d092c998f8e32f22ff38cd3832813087343e55",
                "name" : "refs/remotes/origin/pr/2516/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "42d092c998f8e32f22ff38cd3832813087343e55",
            "branch" : [
              {
                "SHA1" : "42d092c998f8e32f22ff38cd3832813087343e55",
                "name" : "refs/remotes/origin/pr/2516/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2496/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 53,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d4dd8df4cd220b5a493b0565b7852075ad192662",
            "branch" : [
              {
                "SHA1" : "d4dd8df4cd220b5a493b0565b7852075ad192662",
                "name" : "refs/remotes/origin/pr/2496/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d4dd8df4cd220b5a493b0565b7852075ad192662",
            "branch" : [
              {
                "SHA1" : "d4dd8df4cd220b5a493b0565b7852075ad192662",
                "name" : "refs/remotes/origin/pr/2496/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2433/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 14,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9ad62c67a8a6cc58284204b312ebe526c0df3288",
            "branch" : [
              {
                "SHA1" : "9ad62c67a8a6cc58284204b312ebe526c0df3288",
                "name" : "refs/remotes/origin/pr/2433/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9ad62c67a8a6cc58284204b312ebe526c0df3288",
            "branch" : [
              {
                "SHA1" : "9ad62c67a8a6cc58284204b312ebe526c0df3288",
                "name" : "refs/remotes/origin/pr/2433/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2541/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 81,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "891eb501f5f98d2c4a744ce31fb15cf1861454c9",
            "branch" : [
              {
                "SHA1" : "891eb501f5f98d2c4a744ce31fb15cf1861454c9",
                "name" : "refs/remotes/origin/pr/2541/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "891eb501f5f98d2c4a744ce31fb15cf1861454c9",
            "branch" : [
              {
                "SHA1" : "891eb501f5f98d2c4a744ce31fb15cf1861454c9",
                "name" : "refs/remotes/origin/pr/2541/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2551/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 88,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "49c0c749bb192f3652c81d8706158915b2782968",
            "branch" : [
              {
                "SHA1" : "49c0c749bb192f3652c81d8706158915b2782968",
                "name" : "refs/remotes/origin/pr/2551/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "49c0c749bb192f3652c81d8706158915b2782968",
            "branch" : [
              {
                "SHA1" : "49c0c749bb192f3652c81d8706158915b2782968",
                "name" : "refs/remotes/origin/pr/2551/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2561/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 94,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "bff5864ad4934a08fb19c78d1487682e357b8c8c",
            "branch" : [
              {
                "SHA1" : "bff5864ad4934a08fb19c78d1487682e357b8c8c",
                "name" : "refs/remotes/origin/pr/2561/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "bff5864ad4934a08fb19c78d1487682e357b8c8c",
            "branch" : [
              {
                "SHA1" : "bff5864ad4934a08fb19c78d1487682e357b8c8c",
                "name" : "refs/remotes/origin/pr/2561/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2476/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 125,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "613abb5d302557b7a660569b70a39e250320cbb7",
            "branch" : [
              {
                "SHA1" : "613abb5d302557b7a660569b70a39e250320cbb7",
                "name" : "refs/remotes/origin/pr/2476/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "613abb5d302557b7a660569b70a39e250320cbb7",
            "branch" : [
              {
                "SHA1" : "613abb5d302557b7a660569b70a39e250320cbb7",
                "name" : "refs/remotes/origin/pr/2476/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2708/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 242,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e397e5e0e703ab196a9444bbe0f736105931e7e8",
            "branch" : [
              {
                "SHA1" : "e397e5e0e703ab196a9444bbe0f736105931e7e8",
                "name" : "refs/remotes/origin/pr/2708/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e397e5e0e703ab196a9444bbe0f736105931e7e8",
            "branch" : [
              {
                "SHA1" : "e397e5e0e703ab196a9444bbe0f736105931e7e8",
                "name" : "refs/remotes/origin/pr/2708/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2584/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 106,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "51e3fc105efa0de813223633bc6bd6df11c0e28a",
            "branch" : [
              {
                "SHA1" : "51e3fc105efa0de813223633bc6bd6df11c0e28a",
                "name" : "refs/remotes/origin/pr/2584/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "51e3fc105efa0de813223633bc6bd6df11c0e28a",
            "branch" : [
              {
                "SHA1" : "51e3fc105efa0de813223633bc6bd6df11c0e28a",
                "name" : "refs/remotes/origin/pr/2584/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2594/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 122,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "69303d81639871fac2613dd100c3230156cbb871",
            "branch" : [
              {
                "SHA1" : "69303d81639871fac2613dd100c3230156cbb871",
                "name" : "refs/remotes/origin/pr/2594/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "69303d81639871fac2613dd100c3230156cbb871",
            "branch" : [
              {
                "SHA1" : "69303d81639871fac2613dd100c3230156cbb871",
                "name" : "refs/remotes/origin/pr/2594/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2574/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 109,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "804673e9f03747bc80cbafc2fcb7b04118007845",
            "branch" : [
              {
                "SHA1" : "804673e9f03747bc80cbafc2fcb7b04118007845",
                "name" : "refs/remotes/origin/pr/2574/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "804673e9f03747bc80cbafc2fcb7b04118007845",
            "branch" : [
              {
                "SHA1" : "804673e9f03747bc80cbafc2fcb7b04118007845",
                "name" : "refs/remotes/origin/pr/2574/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2682/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 211,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "72c19b0d4798468cdbeb25e520ec6c407f53165a",
            "branch" : [
              {
                "SHA1" : "72c19b0d4798468cdbeb25e520ec6c407f53165a",
                "name" : "refs/remotes/origin/pr/2682/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "72c19b0d4798468cdbeb25e520ec6c407f53165a",
            "branch" : [
              {
                "SHA1" : "72c19b0d4798468cdbeb25e520ec6c407f53165a",
                "name" : "refs/remotes/origin/pr/2682/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2705/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 240,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b049830044e2ddda0a8b63c3efab95a535d222d2",
            "branch" : [
              {
                "SHA1" : "b049830044e2ddda0a8b63c3efab95a535d222d2",
                "name" : "refs/remotes/origin/pr/2705/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b049830044e2ddda0a8b63c3efab95a535d222d2",
            "branch" : [
              {
                "SHA1" : "b049830044e2ddda0a8b63c3efab95a535d222d2",
                "name" : "refs/remotes/origin/pr/2705/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2672/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 195,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "be95cda62a962270c2997699f2ea28c30ea5178d",
            "branch" : [
              {
                "SHA1" : "be95cda62a962270c2997699f2ea28c30ea5178d",
                "name" : "refs/remotes/origin/pr/2672/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "be95cda62a962270c2997699f2ea28c30ea5178d",
            "branch" : [
              {
                "SHA1" : "be95cda62a962270c2997699f2ea28c30ea5178d",
                "name" : "refs/remotes/origin/pr/2672/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2695/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 232,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "74e75992a9bf9ae222155f09fc655d2ab2e29ec4",
            "branch" : [
              {
                "SHA1" : "74e75992a9bf9ae222155f09fc655d2ab2e29ec4",
                "name" : "refs/remotes/origin/pr/2695/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "74e75992a9bf9ae222155f09fc655d2ab2e29ec4",
            "branch" : [
              {
                "SHA1" : "74e75992a9bf9ae222155f09fc655d2ab2e29ec4",
                "name" : "refs/remotes/origin/pr/2695/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2557/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 89,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "cffff1d404bb4f3e18c0e79362abf396a38a8878",
            "branch" : [
              {
                "SHA1" : "cffff1d404bb4f3e18c0e79362abf396a38a8878",
                "name" : "refs/remotes/origin/pr/2557/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "cffff1d404bb4f3e18c0e79362abf396a38a8878",
            "branch" : [
              {
                "SHA1" : "cffff1d404bb4f3e18c0e79362abf396a38a8878",
                "name" : "refs/remotes/origin/pr/2557/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2685/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 216,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fd2059c377dc12e7bc3d1765a114fca6d77109ad",
            "branch" : [
              {
                "SHA1" : "fd2059c377dc12e7bc3d1765a114fca6d77109ad",
                "name" : "refs/remotes/origin/pr/2685/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fd2059c377dc12e7bc3d1765a114fca6d77109ad",
            "branch" : [
              {
                "SHA1" : "fd2059c377dc12e7bc3d1765a114fca6d77109ad",
                "name" : "refs/remotes/origin/pr/2685/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2647/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 173,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9df251e131dfc7831ed9a58243b6f43986ed6dc8",
            "branch" : [
              {
                "SHA1" : "9df251e131dfc7831ed9a58243b6f43986ed6dc8",
                "name" : "refs/remotes/origin/pr/2647/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9df251e131dfc7831ed9a58243b6f43986ed6dc8",
            "branch" : [
              {
                "SHA1" : "9df251e131dfc7831ed9a58243b6f43986ed6dc8",
                "name" : "refs/remotes/origin/pr/2647/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2529/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 75,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "67e3335b1b17dd8b8bab7eee977f49228f84dbb3",
            "branch" : [
              {
                "SHA1" : "67e3335b1b17dd8b8bab7eee977f49228f84dbb3",
                "name" : "refs/remotes/origin/pr/2529/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "67e3335b1b17dd8b8bab7eee977f49228f84dbb3",
            "branch" : [
              {
                "SHA1" : "67e3335b1b17dd8b8bab7eee977f49228f84dbb3",
                "name" : "refs/remotes/origin/pr/2529/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2577/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 104,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b24e9146ab99ee43e45de79d69db52f8b289c267",
            "branch" : [
              {
                "SHA1" : "b24e9146ab99ee43e45de79d69db52f8b289c267",
                "name" : "refs/remotes/origin/pr/2577/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b24e9146ab99ee43e45de79d69db52f8b289c267",
            "branch" : [
              {
                "SHA1" : "b24e9146ab99ee43e45de79d69db52f8b289c267",
                "name" : "refs/remotes/origin/pr/2577/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2612/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 148,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "999856012ef1bcbc8dd40f937a30ee1f98c2180a",
            "branch" : [
              {
                "SHA1" : "999856012ef1bcbc8dd40f937a30ee1f98c2180a",
                "name" : "refs/remotes/origin/pr/2612/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "999856012ef1bcbc8dd40f937a30ee1f98c2180a",
            "branch" : [
              {
                "SHA1" : "999856012ef1bcbc8dd40f937a30ee1f98c2180a",
                "name" : "refs/remotes/origin/pr/2612/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2632/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 158,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c",
            "branch" : [
              {
                "SHA1" : "78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c",
                "name" : "refs/remotes/origin/pr/2632/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c",
            "branch" : [
              {
                "SHA1" : "78c3755f787a68f085d7e1ab1e4b19ad1d6eef3c",
                "name" : "refs/remotes/origin/pr/2632/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2450/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 3,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ef216ad8a72a283090f026554d1a07bbe18612bd",
            "branch" : [
              {
                "SHA1" : "ef216ad8a72a283090f026554d1a07bbe18612bd",
                "name" : "refs/remotes/origin/pr/2450/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ef216ad8a72a283090f026554d1a07bbe18612bd",
            "branch" : [
              {
                "SHA1" : "ef216ad8a72a283090f026554d1a07bbe18612bd",
                "name" : "refs/remotes/origin/pr/2450/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2514/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 64,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c0ab24305e23c54b9f8feb7148300253807e79ae",
            "branch" : [
              {
                "SHA1" : "c0ab24305e23c54b9f8feb7148300253807e79ae",
                "name" : "refs/remotes/origin/pr/2514/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c0ab24305e23c54b9f8feb7148300253807e79ae",
            "branch" : [
              {
                "SHA1" : "c0ab24305e23c54b9f8feb7148300253807e79ae",
                "name" : "refs/remotes/origin/pr/2514/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2549/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 87,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ed80c60d2b2a90262a8c72f659389181b0ce46e4",
            "branch" : [
              {
                "SHA1" : "ed80c60d2b2a90262a8c72f659389181b0ce46e4",
                "name" : "refs/remotes/origin/pr/2549/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ed80c60d2b2a90262a8c72f659389181b0ce46e4",
            "branch" : [
              {
                "SHA1" : "ed80c60d2b2a90262a8c72f659389181b0ce46e4",
                "name" : "refs/remotes/origin/pr/2549/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2604/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 138,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9950b23cb9d377a332fc56ae1ff5aa0a1beb865b",
            "branch" : [
              {
                "SHA1" : "9950b23cb9d377a332fc56ae1ff5aa0a1beb865b",
                "name" : "refs/remotes/origin/pr/2604/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9950b23cb9d377a332fc56ae1ff5aa0a1beb865b",
            "branch" : [
              {
                "SHA1" : "9950b23cb9d377a332fc56ae1ff5aa0a1beb865b",
                "name" : "refs/remotes/origin/pr/2604/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2667/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 193,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5990c479792da3f06d7a80c72726268403f40c1c",
            "branch" : [
              {
                "SHA1" : "5990c479792da3f06d7a80c72726268403f40c1c",
                "name" : "refs/remotes/origin/pr/2667/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5990c479792da3f06d7a80c72726268403f40c1c",
            "branch" : [
              {
                "SHA1" : "5990c479792da3f06d7a80c72726268403f40c1c",
                "name" : "refs/remotes/origin/pr/2667/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2687/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 219,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3b1e980063fd3c3ec10e947f66499cf829a15cbb",
            "branch" : [
              {
                "SHA1" : "3b1e980063fd3c3ec10e947f66499cf829a15cbb",
                "name" : "refs/remotes/origin/pr/2687/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3b1e980063fd3c3ec10e947f66499cf829a15cbb",
            "branch" : [
              {
                "SHA1" : "3b1e980063fd3c3ec10e947f66499cf829a15cbb",
                "name" : "refs/remotes/origin/pr/2687/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2470/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 29,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "af04f2e1e5da0b60cce7c91120a3b0aa1722b365",
            "branch" : [
              {
                "SHA1" : "af04f2e1e5da0b60cce7c91120a3b0aa1722b365",
                "name" : "refs/remotes/origin/pr/2470/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "af04f2e1e5da0b60cce7c91120a3b0aa1722b365",
            "branch" : [
              {
                "SHA1" : "af04f2e1e5da0b60cce7c91120a3b0aa1722b365",
                "name" : "refs/remotes/origin/pr/2470/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2479/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 40,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "9ee03e84d780ee8ad86dd38514b687ac39453c3d",
            "branch" : [
              {
                "SHA1" : "9ee03e84d780ee8ad86dd38514b687ac39453c3d",
                "name" : "refs/remotes/origin/pr/2479/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "9ee03e84d780ee8ad86dd38514b687ac39453c3d",
            "branch" : [
              {
                "SHA1" : "9ee03e84d780ee8ad86dd38514b687ac39453c3d",
                "name" : "refs/remotes/origin/pr/2479/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2499/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 54,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "afadbc5266374da6486d1754269eda2d437c3021",
            "branch" : [
              {
                "SHA1" : "afadbc5266374da6486d1754269eda2d437c3021",
                "name" : "refs/remotes/origin/pr/2499/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "afadbc5266374da6486d1754269eda2d437c3021",
            "branch" : [
              {
                "SHA1" : "afadbc5266374da6486d1754269eda2d437c3021",
                "name" : "refs/remotes/origin/pr/2499/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2554/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 90,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0",
            "branch" : [
              {
                "SHA1" : "20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0",
                "name" : "refs/remotes/origin/pr/2554/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0",
            "branch" : [
              {
                "SHA1" : "20eeb19bb77f72fa0a94fb1574a74c3ca279e8b0",
                "name" : "refs/remotes/origin/pr/2554/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2644/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 170,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "0e22a1b8cf0a38062c6b160d290afc36785b7a5e",
            "branch" : [
              {
                "SHA1" : "0e22a1b8cf0a38062c6b160d290afc36785b7a5e",
                "name" : "refs/remotes/origin/pr/2644/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "0e22a1b8cf0a38062c6b160d290afc36785b7a5e",
            "branch" : [
              {
                "SHA1" : "0e22a1b8cf0a38062c6b160d290afc36785b7a5e",
                "name" : "refs/remotes/origin/pr/2644/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2511/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 62,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "94addcad2706b0418b6c53fe544c8757be51b8be",
            "branch" : [
              {
                "SHA1" : "94addcad2706b0418b6c53fe544c8757be51b8be",
                "name" : "refs/remotes/origin/pr/2511/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "94addcad2706b0418b6c53fe544c8757be51b8be",
            "branch" : [
              {
                "SHA1" : "94addcad2706b0418b6c53fe544c8757be51b8be",
                "name" : "refs/remotes/origin/pr/2511/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2456/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 15,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a994e764c1058aac223a68054f8d5decfbbab13b",
            "branch" : [
              {
                "SHA1" : "a994e764c1058aac223a68054f8d5decfbbab13b",
                "name" : "refs/remotes/origin/pr/2456/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a994e764c1058aac223a68054f8d5decfbbab13b",
            "branch" : [
              {
                "SHA1" : "a994e764c1058aac223a68054f8d5decfbbab13b",
                "name" : "refs/remotes/origin/pr/2456/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2621/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 152,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a0b50128a49295753b873d5dbd1db389acddd21d",
            "branch" : [
              {
                "SHA1" : "a0b50128a49295753b873d5dbd1db389acddd21d",
                "name" : "refs/remotes/origin/pr/2621/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a0b50128a49295753b873d5dbd1db389acddd21d",
            "branch" : [
              {
                "SHA1" : "a0b50128a49295753b873d5dbd1db389acddd21d",
                "name" : "refs/remotes/origin/pr/2621/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2618/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 151,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d8135f3bdc7185addefce575ea0fe3fb82b65b70",
            "branch" : [
              {
                "SHA1" : "d8135f3bdc7185addefce575ea0fe3fb82b65b70",
                "name" : "refs/remotes/origin/pr/2618/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d8135f3bdc7185addefce575ea0fe3fb82b65b70",
            "branch" : [
              {
                "SHA1" : "d8135f3bdc7185addefce575ea0fe3fb82b65b70",
                "name" : "refs/remotes/origin/pr/2618/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2523/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 70,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f476447011ed26924462deaa00460e7d57bc868d",
            "branch" : [
              {
                "SHA1" : "f476447011ed26924462deaa00460e7d57bc868d",
                "name" : "refs/remotes/origin/pr/2523/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f476447011ed26924462deaa00460e7d57bc868d",
            "branch" : [
              {
                "SHA1" : "f476447011ed26924462deaa00460e7d57bc868d",
                "name" : "refs/remotes/origin/pr/2523/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2438/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 7,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "fdc23289503102ec3712dac2aa8db50c0659f1b8",
            "branch" : [
              {
                "SHA1" : "fdc23289503102ec3712dac2aa8db50c0659f1b8",
                "name" : "refs/remotes/origin/pr/2438/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "fdc23289503102ec3712dac2aa8db50c0659f1b8",
            "branch" : [
              {
                "SHA1" : "fdc23289503102ec3712dac2aa8db50c0659f1b8",
                "name" : "refs/remotes/origin/pr/2438/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2488/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 49,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a55c09b24844847e4c44e8857ae035870f5f838b",
            "branch" : [
              {
                "SHA1" : "a55c09b24844847e4c44e8857ae035870f5f838b",
                "name" : "refs/remotes/origin/pr/2488/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a55c09b24844847e4c44e8857ae035870f5f838b",
            "branch" : [
              {
                "SHA1" : "a55c09b24844847e4c44e8857ae035870f5f838b",
                "name" : "refs/remotes/origin/pr/2488/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2431/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 9,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "af079dd26be2ead11e98c6f113997fb2bc8c6684",
            "branch" : [
              {
                "SHA1" : "af079dd26be2ead11e98c6f113997fb2bc8c6684",
                "name" : "refs/remotes/origin/pr/2431/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "af079dd26be2ead11e98c6f113997fb2bc8c6684",
            "branch" : [
              {
                "SHA1" : "af079dd26be2ead11e98c6f113997fb2bc8c6684",
                "name" : "refs/remotes/origin/pr/2431/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2716/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 258,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "05cd14bdc0df561b2d833b1b1ef0b86db25a5754",
            "branch" : [
              {
                "SHA1" : "05cd14bdc0df561b2d833b1b1ef0b86db25a5754",
                "name" : "refs/remotes/origin/pr/2716/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "05cd14bdc0df561b2d833b1b1ef0b86db25a5754",
            "branch" : [
              {
                "SHA1" : "05cd14bdc0df561b2d833b1b1ef0b86db25a5754",
                "name" : "refs/remotes/origin/pr/2716/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2494/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 52,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dd5db26ffbd46d65625e642198670e40fa10eb92",
            "branch" : [
              {
                "SHA1" : "dd5db26ffbd46d65625e642198670e40fa10eb92",
                "name" : "refs/remotes/origin/pr/2494/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dd5db26ffbd46d65625e642198670e40fa10eb92",
            "branch" : [
              {
                "SHA1" : "dd5db26ffbd46d65625e642198670e40fa10eb92",
                "name" : "refs/remotes/origin/pr/2494/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2143/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 143,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f",
            "branch" : [
              {
                "SHA1" : "3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f",
                "name" : "refs/remotes/origin/pr/2143/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f",
            "branch" : [
              {
                "SHA1" : "3434aa2ce74f1f7ac9b000bbdb9cc04ba91ce07f",
                "name" : "refs/remotes/origin/pr/2143/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2658/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 187,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a",
            "branch" : [
              {
                "SHA1" : "5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a",
                "name" : "refs/remotes/origin/pr/2658/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a",
            "branch" : [
              {
                "SHA1" : "5ca2d4b1e05bbb02e86c3010ca6de715d4123d3a",
                "name" : "refs/remotes/origin/pr/2658/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2455/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 16,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3",
            "branch" : [
              {
                "SHA1" : "56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3",
                "name" : "refs/remotes/origin/pr/2455/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3",
            "branch" : [
              {
                "SHA1" : "56d9cafb2aaa8cdf5bab86a28fcd592886a50ae3",
                "name" : "refs/remotes/origin/pr/2455/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2484/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 47,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2decd91afa25e28529df6350b0870cbf7af0d6f0",
            "branch" : [
              {
                "SHA1" : "2decd91afa25e28529df6350b0870cbf7af0d6f0",
                "name" : "refs/remotes/origin/pr/2484/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2decd91afa25e28529df6350b0870cbf7af0d6f0",
            "branch" : [
              {
                "SHA1" : "2decd91afa25e28529df6350b0870cbf7af0d6f0",
                "name" : "refs/remotes/origin/pr/2484/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2500/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 56,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7c4df25837e242c5f8915b2ef44681b252dd0a47",
            "branch" : [
              {
                "SHA1" : "7c4df25837e242c5f8915b2ef44681b252dd0a47",
                "name" : "refs/remotes/origin/pr/2500/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7c4df25837e242c5f8915b2ef44681b252dd0a47",
            "branch" : [
              {
                "SHA1" : "7c4df25837e242c5f8915b2ef44681b252dd0a47",
                "name" : "refs/remotes/origin/pr/2500/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2698/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 233,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f5b5e3caec76af2231138f1562ccbeafe7daf338",
            "branch" : [
              {
                "SHA1" : "f5b5e3caec76af2231138f1562ccbeafe7daf338",
                "name" : "refs/remotes/origin/pr/2698/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f5b5e3caec76af2231138f1562ccbeafe7daf338",
            "branch" : [
              {
                "SHA1" : "f5b5e3caec76af2231138f1562ccbeafe7daf338",
                "name" : "refs/remotes/origin/pr/2698/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2645/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 171,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "152af17e033c750ef3ec32c2d901da8cff909a19",
            "branch" : [
              {
                "SHA1" : "152af17e033c750ef3ec32c2d901da8cff909a19",
                "name" : "refs/remotes/origin/pr/2645/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "152af17e033c750ef3ec32c2d901da8cff909a19",
            "branch" : [
              {
                "SHA1" : "152af17e033c750ef3ec32c2d901da8cff909a19",
                "name" : "refs/remotes/origin/pr/2645/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2582/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 126,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "f4946f662dd19daab37ada5ecb4617bc8787b871",
            "branch" : [
              {
                "SHA1" : "f4946f662dd19daab37ada5ecb4617bc8787b871",
                "name" : "refs/remotes/origin/pr/2582/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "f4946f662dd19daab37ada5ecb4617bc8787b871",
            "branch" : [
              {
                "SHA1" : "f4946f662dd19daab37ada5ecb4617bc8787b871",
                "name" : "refs/remotes/origin/pr/2582/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2635/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 210,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "8f70ce56dcca6041d884ffde8aebe4ac845478a2",
            "branch" : [
              {
                "SHA1" : "8f70ce56dcca6041d884ffde8aebe4ac845478a2",
                "name" : "refs/remotes/origin/pr/2635/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "8f70ce56dcca6041d884ffde8aebe4ac845478a2",
            "branch" : [
              {
                "SHA1" : "8f70ce56dcca6041d884ffde8aebe4ac845478a2",
                "name" : "refs/remotes/origin/pr/2635/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2675/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 205,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "633b9e164d97b80e21e9b33f4344e2752e362857",
            "branch" : [
              {
                "SHA1" : "633b9e164d97b80e21e9b33f4344e2752e362857",
                "name" : "refs/remotes/origin/pr/2675/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "633b9e164d97b80e21e9b33f4344e2752e362857",
            "branch" : [
              {
                "SHA1" : "633b9e164d97b80e21e9b33f4344e2752e362857",
                "name" : "refs/remotes/origin/pr/2675/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2710/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 256,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f",
            "branch" : [
              {
                "SHA1" : "a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f",
                "name" : "refs/remotes/origin/pr/2710/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f",
            "branch" : [
              {
                "SHA1" : "a52b14d88a14dc399c30e54a1c08d5d2fb1b4c5f",
                "name" : "refs/remotes/origin/pr/2710/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2477/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 34,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3976987e75ef26d8b4cee8f78d8ec6c81526d082",
            "branch" : [
              {
                "SHA1" : "3976987e75ef26d8b4cee8f78d8ec6c81526d082",
                "name" : "refs/remotes/origin/pr/2477/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3976987e75ef26d8b4cee8f78d8ec6c81526d082",
            "branch" : [
              {
                "SHA1" : "3976987e75ef26d8b4cee8f78d8ec6c81526d082",
                "name" : "refs/remotes/origin/pr/2477/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2680/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 206,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "66847cfa8e01bb313a0e0354594958500b69bded",
            "branch" : [
              {
                "SHA1" : "66847cfa8e01bb313a0e0354594958500b69bded",
                "name" : "refs/remotes/origin/pr/2680/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "66847cfa8e01bb313a0e0354594958500b69bded",
            "branch" : [
              {
                "SHA1" : "66847cfa8e01bb313a0e0354594958500b69bded",
                "name" : "refs/remotes/origin/pr/2680/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2547/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 86,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d3a9b5d0d39b32972ac321c27e10da34769bcdec",
            "branch" : [
              {
                "SHA1" : "d3a9b5d0d39b32972ac321c27e10da34769bcdec",
                "name" : "refs/remotes/origin/pr/2547/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d3a9b5d0d39b32972ac321c27e10da34769bcdec",
            "branch" : [
              {
                "SHA1" : "d3a9b5d0d39b32972ac321c27e10da34769bcdec",
                "name" : "refs/remotes/origin/pr/2547/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2622/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 153,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "253a690c93dfb50040eaa4b308a180233090fc3a",
            "branch" : [
              {
                "SHA1" : "253a690c93dfb50040eaa4b308a180233090fc3a",
                "name" : "refs/remotes/origin/pr/2622/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "253a690c93dfb50040eaa4b308a180233090fc3a",
            "branch" : [
              {
                "SHA1" : "253a690c93dfb50040eaa4b308a180233090fc3a",
                "name" : "refs/remotes/origin/pr/2622/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2495/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 51,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "7eeede22504f05e76c7638ef9e9a3aa303aec648",
            "branch" : [
              {
                "SHA1" : "7eeede22504f05e76c7638ef9e9a3aa303aec648",
                "name" : "refs/remotes/origin/pr/2495/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "7eeede22504f05e76c7638ef9e9a3aa303aec648",
            "branch" : [
              {
                "SHA1" : "7eeede22504f05e76c7638ef9e9a3aa303aec648",
                "name" : "refs/remotes/origin/pr/2495/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2530/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 76,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "e8f195b68ba0cc526093420460d99a541ec8eea8",
            "branch" : [
              {
                "SHA1" : "e8f195b68ba0cc526093420460d99a541ec8eea8",
                "name" : "refs/remotes/origin/pr/2530/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e8f195b68ba0cc526093420460d99a541ec8eea8",
            "branch" : [
              {
                "SHA1" : "e8f195b68ba0cc526093420460d99a541ec8eea8",
                "name" : "refs/remotes/origin/pr/2530/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2524/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 71,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c066bb01f7259560b0ae064de48c4bcaedd28125",
            "branch" : [
              {
                "SHA1" : "c066bb01f7259560b0ae064de48c4bcaedd28125",
                "name" : "refs/remotes/origin/pr/2524/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c066bb01f7259560b0ae064de48c4bcaedd28125",
            "branch" : [
              {
                "SHA1" : "c066bb01f7259560b0ae064de48c4bcaedd28125",
                "name" : "refs/remotes/origin/pr/2524/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2449/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "664c8152485a4208ef3647a9660c18e2c00c7469",
            "branch" : [
              {
                "SHA1" : "664c8152485a4208ef3647a9660c18e2c00c7469",
                "name" : "refs/remotes/origin/pr/2449/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "664c8152485a4208ef3647a9660c18e2c00c7469",
            "branch" : [
              {
                "SHA1" : "664c8152485a4208ef3647a9660c18e2c00c7469",
                "name" : "refs/remotes/origin/pr/2449/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2634/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 160,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "b14d52694bfd49f914ac0ca76ee2b03c40c34b8b",
            "branch" : [
              {
                "SHA1" : "b14d52694bfd49f914ac0ca76ee2b03c40c34b8b",
                "name" : "refs/remotes/origin/pr/2634/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "b14d52694bfd49f914ac0ca76ee2b03c40c34b8b",
            "branch" : [
              {
                "SHA1" : "b14d52694bfd49f914ac0ca76ee2b03c40c34b8b",
                "name" : "refs/remotes/origin/pr/2634/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2483/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 43,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "72c340c1c4c08e011e96ee53f45975e33b75de8a",
            "branch" : [
              {
                "SHA1" : "72c340c1c4c08e011e96ee53f45975e33b75de8a",
                "name" : "refs/remotes/origin/pr/2483/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "72c340c1c4c08e011e96ee53f45975e33b75de8a",
            "branch" : [
              {
                "SHA1" : "72c340c1c4c08e011e96ee53f45975e33b75de8a",
                "name" : "refs/remotes/origin/pr/2483/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2606/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 140,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a",
            "branch" : [
              {
                "SHA1" : "2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a",
                "name" : "refs/remotes/origin/pr/2606/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a",
            "branch" : [
              {
                "SHA1" : "2bba7f66fe718c1f8b7c8a67e5cc8273fc52541a",
                "name" : "refs/remotes/origin/pr/2606/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2593/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 121,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6",
            "branch" : [
              {
                "SHA1" : "45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6",
                "name" : "refs/remotes/origin/pr/2593/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6",
            "branch" : [
              {
                "SHA1" : "45fbe1e60f5367d4eeaad74033e3d764ac1f3ee6",
                "name" : "refs/remotes/origin/pr/2593/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2704/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 235,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b",
            "branch" : [
              {
                "SHA1" : "c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b",
                "name" : "refs/remotes/origin/pr/2704/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b",
            "branch" : [
              {
                "SHA1" : "c5bbd0775b52cfe59a5ba4f689c8ffd6064c803b",
                "name" : "refs/remotes/origin/pr/2704/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2559/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 92,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32",
            "branch" : [
              {
                "SHA1" : "dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32",
                "name" : "refs/remotes/origin/pr/2559/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32",
            "branch" : [
              {
                "SHA1" : "dc8274ef50dcfb490bd51d8f8d9b5c470c2ddc32",
                "name" : "refs/remotes/origin/pr/2559/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2599/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 128,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154",
            "branch" : [
              {
                "SHA1" : "6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154",
                "name" : "refs/remotes/origin/pr/2599/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154",
            "branch" : [
              {
                "SHA1" : "6cf71e6801eb6407d6037fd6ac7a32f3d1e2c154",
                "name" : "refs/remotes/origin/pr/2599/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2629/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 157,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "567415e0a4caf24298f95373cb663531690acac0",
            "branch" : [
              {
                "SHA1" : "567415e0a4caf24298f95373cb663531690acac0",
                "name" : "refs/remotes/origin/pr/2629/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "567415e0a4caf24298f95373cb663531690acac0",
            "branch" : [
              {
                "SHA1" : "567415e0a4caf24298f95373cb663531690acac0",
                "name" : "refs/remotes/origin/pr/2629/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2581/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 105,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "2cabf5fa73b91dfe367a5aed3687a1a93fe04d68",
            "branch" : [
              {
                "SHA1" : "2cabf5fa73b91dfe367a5aed3687a1a93fe04d68",
                "name" : "refs/remotes/origin/pr/2581/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "2cabf5fa73b91dfe367a5aed3687a1a93fe04d68",
            "branch" : [
              {
                "SHA1" : "2cabf5fa73b91dfe367a5aed3687a1a93fe04d68",
                "name" : "refs/remotes/origin/pr/2581/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2651/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 186,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "3977149475016b30cd21d64b7c802b8c0593d86a",
            "branch" : [
              {
                "SHA1" : "3977149475016b30cd21d64b7c802b8c0593d86a",
                "name" : "refs/remotes/origin/pr/2651/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3977149475016b30cd21d64b7c802b8c0593d86a",
            "branch" : [
              {
                "SHA1" : "3977149475016b30cd21d64b7c802b8c0593d86a",
                "name" : "refs/remotes/origin/pr/2651/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2536/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 79,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db",
            "branch" : [
              {
                "SHA1" : "1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db",
                "name" : "refs/remotes/origin/pr/2536/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db",
            "branch" : [
              {
                "SHA1" : "1ef835ec0f04c6a4e2503ac6bf51919bab0aa5db",
                "name" : "refs/remotes/origin/pr/2536/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2576/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 101,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "eb3dfb30f7f98802d1bdc6846dbbacf55618c510",
            "branch" : [
              {
                "SHA1" : "eb3dfb30f7f98802d1bdc6846dbbacf55618c510",
                "name" : "refs/remotes/origin/pr/2576/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "eb3dfb30f7f98802d1bdc6846dbbacf55618c510",
            "branch" : [
              {
                "SHA1" : "eb3dfb30f7f98802d1bdc6846dbbacf55618c510",
                "name" : "refs/remotes/origin/pr/2576/merge"
              }
            ]
          }
        },
        "refs/remotes/origin/pr/2611/merge" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 144,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "d3e53d6b1e72025483213c2af7bcbf0ff23fec2d",
            "branch" : [
              {
                "SHA1" : "d3e53d6b1e72025483213c2af7bcbf0ff23fec2d",
                "name" : "refs/remotes/origin/pr/2611/merge"
              }
            ]
          },
          "revision" : {
            "SHA1" : "d3e53d6b1e72025483213c2af7bcbf0ff23fec2d",
            "branch" : [
              {
                "SHA1" : "d3e53d6b1e72025483213c2af7bcbf0ff23fec2d",
                "name" : "refs/remotes/origin/pr/2611/merge"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
        "branch" : [
          {
            "SHA1" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
            "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" : None,
  "displayName" : "#262",
  "duration" : 842272,
  "estimatedDuration" : 1014424,
  "executor" : None,
  "fullDisplayName" : "bcc-pr » fc26 #262",
  "id" : "262",
  "keepLog" : False,
  "number" : 262,
  "queueId" : 2118,
  "result" : "SUCCESS",
  "timestamp" : 1579715233583,
  "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=fc26/262/",
  "builtOn" : "fedora26-slave-847",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/runqslower.py"
        ],
        "commitId" : "bac633a6bb60b6b8542348ea3f61c367eae14f7c",
        "timestamp" : 1562145717000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "tools: fix runqslower warning\u000a\u000aThe state member of task_struct is volatile and it's use as the last\u000aparameter of bpf_probe_read (const void *) triggers the following\u000aclang warning (LLVM 8):\u000a\u000a/virtual/main.c:56:42: warning: passing 'volatile long *' to parameter of type 'const void *' discards qualifiers [-Wincompatible-pointer-types-discards-qualifiers]\u000a    bpf_probe_read(&state, sizeof(long), &prev->state);\u000a                                         ^~~~~~~~~~~~\u000a1 warning generated.\u000aTracing run queue latency higher than 10000 us\u000aTIME     COMM             PID           LAT(us)\u000a\u000aAn explicit cast fixes the warning.\u000a",
        "date" : "2019-07-03 11:21:57 +0200",
        "id" : "bac633a6bb60b6b8542348ea3f61c367eae14f7c",
        "msg" : "tools: fix runqslower warning",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/runqslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/btrfsslower.py"
        ],
        "commitId" : "f84acf9e5cbbea3f60f06a29dd189530e5052a47",
        "timestamp" : 1562697492000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Error in time comparison\u000a\u000aDatetime comparisons requires the use of timedelta.\u000a",
        "date" : "2019-07-09 11:38:12 -0700",
        "id" : "f84acf9e5cbbea3f60f06a29dd189530e5052a47",
        "msg" : "Error in time comparison",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/btrfsslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/compat/linux/virtual_bpf.h",
          "introspection/bps.c",
          "src/cc/libbpf"
        ],
        "commitId" : "06e30cca8342aed6a1cd83de65d17945499ab6bb",
        "timestamp" : 1562768300000,
        "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 with latest libbpf repo\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-07-10 07:18:20 -0700",
        "id" : "06e30cca8342aed6a1cd83de65d17945499ab6bb",
        "msg" : "sync to latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt",
          "tests/cc/usdt_test_lib.c",
          "src/cc/bcc_syms.cc",
          "src/cc/bcc_syms.h",
          "src/cc/syms.h",
          "src/cc/usdt/usdt.cc",
          "examples/cpp/pyperf/PyPerfUtil.cc",
          "src/cc/ns_guard.h",
          "src/cc/CMakeLists.txt",
          "src/cc/libbpf.c",
          "src/cc/bcc_elf.c",
          "src/cc/bcc_proc.c",
          "src/cc/api/BPF.cc",
          "tests/cc/test_c_api.cc",
          "src/cc/bcc_proc.h",
          "src/cc/api/BPF.h",
          "src/cc/usdt.h",
          "tests/cc/dummy_proc_map.txt",
          "src/cc/ns_guard.cc",
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "01ee0b61a854e06cb62272ddfbb4eeaf16e9ad7c",
        "timestamp" : 1562796669000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Use device+inode to identify matching files; prepend /proc/pid/root to\u000apaths for usdt.\u000a",
        "date" : "2019-07-10 15:11:09 -0700",
        "id" : "01ee0b61a854e06cb62272ddfbb4eeaf16e9ad7c",
        "msg" : "Use device+inode to identify matching files; prepend /proc/pid/root to",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_proc.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "delete",
            "file" : "src/cc/ns_guard.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/pyperf/PyPerfUtil.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          },
          {
            "editType" : "delete",
            "file" : "src/cc/ns_guard.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/usdt_test_lib.c"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/dummy_proc_map.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_proc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc",
          "src/cc/syms.h",
          "src/cc/bcc_elf.h",
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "d42fcc8eabfe2197cb2aba67113e839240d4b9a5",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Lazily symbolize regular ELF binaries\u000a\u000aThis patch adds a new API to bcc_elf.h, bcc_elf_foreach_sym_lazy. This\u000ahelper avoids storing symbol names in string format, as for large\u000abinaries this data can get quite large.\u000a\u000aInstead we store the location in the ELF binary where we can later find\u000athe string. Later on, we can load these strings on demand and cache them\u000ain case they're accessed again.\u000a\u000aThis patch also makes lazy resolution the default for regular ELF\u000abinaries, where regular means not perfmap or VDSO.\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "d42fcc8eabfe2197cb2aba67113e839240d4b9a5",
        "msg" : "Lazily symbolize regular ELF binaries",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/syms.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc"
        ],
        "commitId" : "24496c7760f0fb6f7a0510b8087f7d4a1ad79d9c",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Lazify ProcSyms::find_name\u000a\u000aIt's pretty much strictly better to walk all the symbol names on demand\u000ato find a symbol rather than storing it all in memory beforehand.\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "24496c7760f0fb6f7a0510b8087f7d4a1ad79d9c",
        "msg" : "Lazify ProcSyms::find_name",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "0ca7917cdea01421b5c7f54e399ddb511e664f4e",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Make bcc_elf_symbol_str support debuginfo\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "0ca7917cdea01421b5c7f54e399ddb511e664f4e",
        "msg" : "Make bcc_elf_symbol_str support debuginfo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc",
          "src/cc/syms.h",
          "src/cc/bcc_elf.h",
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "1772fd163c04436871c2439e48d57b7308c589d5",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Thread through debugfile flag\u000a\u000aSo we don't have to guess and check when reading symbols. Sometimes if\u000athe elf sections are laid out just right you can \"guess\" the wrong\u000astring.\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "1772fd163c04436871c2439e48d57b7308c589d5",
        "msg" : "Thread through debugfile flag",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc"
        ],
        "commitId" : "6f693f59a178b9e7286bc05568ffdb396fedbb52",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Enter mount namespace before trying to open binary\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "6f693f59a178b9e7286bc05568ffdb396fedbb52",
        "msg" : "Enter mount namespace before trying to open binary",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc",
          "src/cc/bcc_syms.h",
          "src/cc/syms.h",
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "f20dca1626ae35c9744e68bb97529fc2b49c2d6d",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Address code review\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "f20dca1626ae35c9744e68bb97529fc2b49c2d6d",
        "msg" : "Address code review",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/syms.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_c_api.cc"
        ],
        "commitId" : "50d0602219c97c51126c89534f29b594fd2dffaf",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add tests\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "50d0602219c97c51126c89534f29b594fd2dffaf",
        "msg" : "Add tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cpp/pyperf/PyPerfUtil.cc",
          "src/cc/bcc_syms.cc",
          "src/cc/usdt/usdt_args.cc",
          "src/lua/bcc/libbcc.lua",
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "d413c95ce4476b18a179c541795a1248491a9584",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix designated initializers\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "d413c95ce4476b18a179c541795a1248491a9584",
        "msg" : "Fix designated initializers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/lua/bcc/libbcc.lua"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/pyperf/PyPerfUtil.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt_args.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.cc"
        ],
        "commitId" : "86633c44c9b1c0f6be21fc17658c3bd23da3d2c5",
        "timestamp" : 1562962521000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Rebase and remove mount guards\u000a",
        "date" : "2019-07-12 13:15:21 -0700",
        "id" : "86633c44c9b1c0f6be21fc17658c3bd23da3d2c5",
        "msg" : "Rebase and remove mount guards",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/inject_example.txt",
          "man/man8/inject.8"
        ],
        "commitId" : "5933839d154dc8efa02cd567ce93f36eb2a9cb71",
        "timestamp" : 1562971947000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/inject: Update documentation\u000a",
        "date" : "2019-07-12 15:52:27 -0700",
        "id" : "5933839d154dc8efa02cd567ce93f36eb2a9cb71",
        "msg" : "tools/inject: Update documentation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/inject.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/inject_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_syms.h",
          "src/cc/usdt/usdt.cc",
          "src/cc/libbpf.c"
        ],
        "commitId" : "10dae9eac33287c1df9e6645933b608c2d2c5640",
        "timestamp" : 1563215854000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix various compilation warnings\u000a\u000aThe following compilation warnings are fix:\u000a...\u000a/home/yhs/work/bcc/src/cc/libbpf.c:548:12: warning: comparison of distinct pointer types ('typeof (name_len - name_offset) *' (aka 'unsigned long *')\u000a      and 'typeof (16U - 1) *' (aka 'unsigned int *')) [-Wcompare-distinct-pointer-types]\u000a           min(name_len - name_offset, BPF_OBJ_NAME_LEN - 1));\u000a           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\u000a/home/yhs/work/bcc/src/cc/libbpf/include/linux/kernel.h:28:17: note: expanded from macro 'min'\u000a        (void) (&_min1 == &_min2);\u000a...\u000a/home/yhs/work/bcc/src/cc/bcc_syms.h:71:34: warning: declaration of 'struct mod_info' will not be visible outside of this function [-Wvisibility]\u000aint _bcc_syms_find_module(struct mod_info *info, int enter_ns, void *p);\u000a...\u000a/home/yhs/work/bcc/src/cc/usdt/usdt.cc:486:14: warning: unused variable 'pid' [-Wunused-variable]\u000a        auto pid = ctx->pid();\u000a             ^\u000a...\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-07-15 11:37:34 -0700",
        "id" : "10dae9eac33287c1df9e6645933b608c2d2c5640",
        "msg" : "fix various compilation warnings",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/export/helpers.h"
        ],
        "commitId" : "a74c0429396f3180ba5b20f4a4eefc233b681cb4",
        "timestamp" : 1563236243000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix asm_volatile_goto issue again\u000a\u000aIn src/cc/export/helpers.h, we tried to\u000adefine asm_volatile_goto to something else\u000aif it is defined through uapi bpf.h.\u000a  #ifdef asm_volatile_goto\u000a  #undef asm_volatile_goto\u000a  #define asm_volatile_goto(x...) asm volatile(\"invalid use of asm_volatile_goto\")\u000a  #endif\u000a\u000aIt is possible that due to different kernel configurations,\u000aasm_volatile_goto may not be defined after uapi bpf.h.\u000aTo prevent compilation errors, let us unconditionally\u000adefine asm_volatile_goto here.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-07-15 17:17:23 -0700",
        "id" : "a74c0429396f3180ba5b20f4a4eefc233b681cb4",
        "msg" : "fix asm_volatile_goto issue again",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "60944a486a619556b64b7d385fe67e7be9d32fdf",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Travis CI: Lint for Python syntax errors and undefined names\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "60944a486a619556b64b7d385fe67e7be9d32fdf",
        "msg" : "Travis CI: Lint for Python syntax errors and undefined names",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/table.py"
        ],
        "commitId" : "f84e55c51acb3e063b62ddcd39738ef8fa1b56e0",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Identity is not the same thing as equality in Python\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "f84e55c51acb3e063b62ddcd39738ef8fa1b56e0",
        "msg" : "Identity is not the same thing as equality in Python",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "851f58833f1b6985d75790a23c49d6b9970614ec",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add missing colon (:)\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "851f58833f1b6985d75790a23c49d6b9970614ec",
        "msg" : "Add missing colon (:)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "807772f5cb724a98535924b4cb474c2546c98b89",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Force a retest\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "807772f5cb724a98535924b4cb474c2546c98b89",
        "msg" : "Force a retest",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "1bbdc0987dae2ff48449d69553cae5f70409cfe2",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "This retest should work\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "1bbdc0987dae2ff48449d69553cae5f70409cfe2",
        "msg" : "This retest should work",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/stack_buildid_example.py"
        ],
        "commitId" : "fae282cba4f98138e31ad650d5bd149fbfc10414",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Undefined name: signal_ignore --> signal.SIG_IGN\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "fae282cba4f98138e31ad650d5bd149fbfc10414",
        "msg" : "Undefined name: signal_ignore --> signal.SIG_IGN",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/tracing/stack_buildid_example.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/test_probe_count.py"
        ],
        "commitId" : "37ac181e56fefe02ccc500d3512dda0a7536bbdd",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Undefined name: Don't forget \"self\" in \"self.b\"\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "37ac181e56fefe02ccc500d3512dda0a7536bbdd",
        "msg" : "Undefined name: Don't forget \"self\" in \"self.b\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/test_probe_count.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/compiler/ebpfDeparser.py"
        ],
        "commitId" : "64ea990fef6a9a290c2aaa34386906b2335bf51e",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Undefined name: \"headerInstance\" --> \"p4header\"\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "64ea990fef6a9a290c2aaa34386906b2335bf51e",
        "msg" : "Undefined name: \"headerInstance\" --> \"p4header\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/ebpfDeparser.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/compiler/target.py"
        ],
        "commitId" : "887ff829e6add0e25944d9fb1c8716a1c1aabbdf",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Undefined name: \"SocketConfig\" -> \"TargetConfig\"\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "887ff829e6add0e25944d9fb1c8716a1c1aabbdf",
        "msg" : "Undefined name: \"SocketConfig\" -> \"TargetConfig\"",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/target.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/compiler/ebpfDeparser.py"
        ],
        "commitId" : "317fe14378a3bd9836be6ef5618595dc4dd0f19a",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Undefined name: from compilationException import CompilationException\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "317fe14378a3bd9836be6ef5618595dc4dd0f19a",
        "msg" : "Undefined name: from compilationException import CompilationException",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/ebpfDeparser.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/test/endToEndTest.py"
        ],
        "commitId" : "e52c41fecbcd0e750e08c494c35aa4fc4bc2c145",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "from __future__ import print_function\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "e52c41fecbcd0e750e08c494c35aa4fc4bc2c145",
        "msg" : "from __future__ import print_function",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/test/endToEndTest.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/compiler/p4toEbpf.py"
        ],
        "commitId" : "3e69639a89134575abda3696b41f6ac0d5e4887e",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Old style exceptions --> new style for Python 3\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "3e69639a89134575abda3696b41f6ac0d5e4887e",
        "msg" : "Old style exceptions --> new style for Python 3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/p4toEbpf.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/p4/compiler/ebpfStructType.py"
        ],
        "commitId" : "bfdb8171e91b0fdd583d42cc3b2788529af8383c",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Old style exceptions --> new style for Python 3\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "bfdb8171e91b0fdd583d42cc3b2788529af8383c",
        "msg" : "Old style exceptions --> new style for Python 3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/ebpfStructType.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "2a2661c6a7fdc0ac72e7674ef108efb88cbff847",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Use feature detection instead of version detection\u000a\u000ahttps://docs.python.org/3/howto/pyporting.html#use-feature-detection-instead-of-version-detection\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "2a2661c6a7fdc0ac72e7674ef108efb88cbff847",
        "msg" : "Use feature detection instead of version detection",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/test_lru.py"
        ],
        "commitId" : "d2cd9d0a1be162ac3cfe28066e5c398ef296d3d4",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "long was removed in Python 3\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "d2cd9d0a1be162ac3cfe28066e5c398ef296d3d4",
        "msg" : "long was removed in Python 3",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/test_lru.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "5c2b514227fe212c72afd8d6f5f584bd8658bc01",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Remove allow_failures on python: 3.7 tests\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "5c2b514227fe212c72afd8d6f5f584bd8658bc01",
        "msg" : "Remove allow_failures on python: 3.7 tests",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "f37279f75dc1828e6c4f2aee0b10c2ae40b189fa",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Swap test order\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "f37279f75dc1828e6c4f2aee0b10c2ae40b189fa",
        "msg" : "Swap test order",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "e25e75bcb33da16302f532b72299153ccb6999f4",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Move language: generic\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "e25e75bcb33da16302f532b72299153ccb6999f4",
        "msg" : "Move language: generic",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "6034b818a6f0d1d65292b9e6a146574ee55d83d4",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Try under language: python\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "6034b818a6f0d1d65292b9e6a146574ee55d83d4",
        "msg" : "Try under language: python",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "de34dab81fcae90d1db11f9191f4176e6ca40b92",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Echo\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "de34dab81fcae90d1db11f9191f4176e6ca40b92",
        "msg" : "Echo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "f1c7b8effb7f805c032515657fe5426654930ac4",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Comment out the set -euo pipefail\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "f1c7b8effb7f805c032515657fe5426654930ac4",
        "msg" : "Comment out the set -euo pipefail",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "96f251e59f787e79444e2d761443300fcb10438d",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update .travis.yml\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "96f251e59f787e79444e2d761443300fcb10438d",
        "msg" : "Update .travis.yml",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "scripts/py-style-check.sh"
        ],
        "commitId" : "45fd2f727864c6690def73046ce4e102d77ca6e1",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Upgrade from pep8 --> pycodestyle\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "45fd2f727864c6690def73046ce4e102d77ca6e1",
        "msg" : "Upgrade from pep8 --> pycodestyle",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "scripts/py-style-check.sh"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".travis.yml"
        ],
        "commitId" : "e7c422a8aa6c7787910df8679dc6c7d879df86d6",
        "timestamp" : 1563383349000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Four parallel test runs\u000a",
        "date" : "2019-07-17 10:09:09 -0700",
        "id" : "e7c422a8aa6c7787910df8679dc6c7d879df86d6",
        "msg" : "Four parallel test runs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".travis.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/lua/README.md"
        ],
        "commitId" : "fb99f2fdc033be84ec0921d9ddd38058a7ecf83b",
        "timestamp" : 1563491818000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update lua Quickstart for Ubuntu 18.04 LTS\u000a",
        "date" : "2019-07-18 16:16:58 -0700",
        "id" : "fb99f2fdc033be84ec0921d9ddd38058a7ecf83b",
        "msg" : "Update lua Quickstart for Ubuntu 18.04 LTS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/lua/README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/bashreadline.py"
        ],
        "commitId" : "4995db078b7c7f25a38c6bf5e628221e97709759",
        "timestamp" : 1563493829000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Filter out non-bash COMMs\u000a\u000aPrevents the output of non-bash readlines when bash is dynamically\u000alinked. Refs #1851.\u000a",
        "date" : "2019-07-18 16:50:29 -0700",
        "id" : "4995db078b7c7f25a38c6bf5e628221e97709759",
        "msg" : "Filter out non-bash COMMs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/bashreadline.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/lua/bpf/bpf.lua"
        ],
        "commitId" : "36219753ee17fc0af37c20828eef02520e1602dc",
        "timestamp" : 1563552475000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Use bpf_prog_load function from ljsyscall module in LuaJIT compiler\u000a\u000aAt various points in the compiler code, an attempt to load the BPF\u000aprogram is made. In order to do this, a bpf() syscall needs to happen\u000awith BPF_PROG_LOAD as the first argument (Consult the bpf man page,\u000aunder the 'eBPF programs' section). The module ljsyscall does\u000athis via the bpf_prog_load function.\u000a\u000aAt the time of writing, this function is declared in the file:\u000a\u000asyscall/linux/syscalls.lua\u000a\u000aIn the repo:\u000a\u000ahttps://github.com/justincormack/ljsyscall.git\u000a",
        "date" : "2019-07-19 09:07:55 -0700",
        "id" : "36219753ee17fc0af37c20828eef02520e1602dc",
        "msg" : "Use bpf_prog_load function from ljsyscall module in LuaJIT compiler",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/lua/bpf/bpf.lua"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_c_api.cc",
          "src/cc/bcc_syms.cc",
          "src/cc/bcc_proc.h",
          "src/cc/syms.h",
          "src/cc/bcc_proc.c"
        ],
        "commitId" : "50aeaed4d101f22027eaf07186418ec8dcbab019",
        "timestamp" : 1563890274000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Report proper module on kernel backtrace\u000a\u000aRaghavendra Rao reported that memleak does not display\u000aproper name of the related kernel module, but just the\u000a\"kernel\" string, like here for xfs module functions:\u000a\u000a  131072 bytes in 4 allocations from stack\u000a          ..\u000a          bvec_alloc+0x92 [kernel]\u000a          bio_alloc_bioset+0x13f [kernel]\u000a          xfs_add_to_ioend+0x2df [kernel]\u000a          xfs_do_writepage+0x148 [kernel]\u000a          write_cache_pages+0x171 [kernel]\u000a          xfs_vm_writepages+0x59 [kernel]\u000a          do_writepages+0x43 [kernel]\u000a          ...\u000a\u000aThe kernel resolver code is parsing /proc/kallsyms, which\u000aalready has the module information in.\u000a\u000aThis patch is adding support to parse the module info\u000afrom /proc/kallsyms and initialize the module with\u000aproper value.\u000a\u000aAbove memleak backtrace now looks like:\u000a\u000a  131072 bytes in 4 allocations from stack\u000a\u000a          bvec_alloc+0x92 [kernel]\u000a          bio_alloc_bioset+0x13f [kernel]\u000a          xfs_add_to_ioend+0x2df [xfs]\u000a          xfs_do_writepage+0x148 [xfs]\u000a          write_cache_pages+0x171 [kernel]\u000a          xfs_vm_writepages+0x59 [xfs]\u000a          do_writepages+0x43 [kernel]\u000a          ...\u000a\u000aReported-by: Raghavendra Rao <ragrao@redhat.com>\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2019-07-23 06:57:54 -0700",
        "id" : "50aeaed4d101f22027eaf07186418ec8dcbab019",
        "msg" : "Report proper module on kernel backtrace",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_proc.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_proc.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/syms.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "1a47a9a5085188398dd5a03f5d3c438c1ddb0af5",
        "timestamp" : 1563920715000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf\u000a\u000async with latest libbpf (v0.0.4 tag)\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-07-23 15:25:15 -0700",
        "id" : "1a47a9a5085188398dd5a03f5d3c438c1ddb0af5",
        "msg" : "sync with latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/solisten.py"
        ],
        "commitId" : "6af649a9a1939b9bbda7f410dd115c06f89dcf14",
        "timestamp" : 1564509655000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: fix printb usage in solisten\u000a\u000aSince its conversion to printb, solisten has suffers from yet another python2/3 bytes/str issue:\u000a\u000aTraceback (most recent call last):\u000a  File \"_ctypes/callbacks.c\", line 234, in 'calling callback function'\u000a  File \"/usr/lib/python3.6/site-packages/bcc/table.py\", line 581, in raw_cb_\u000a    callback(cpu, data, size)\u000a  File \"/usr/share/bcc/tools/solisten\", line 176, in print_event\u000a    event.lport, address,\u000aTypeError: %b requires a bytes-like object, or an object that implements __bytes__, not 'str'\u000a\u000aThis patch fix the issue on python3. The tools still works on python2.\u000a",
        "date" : "2019-07-30 11:00:55 -0700",
        "id" : "6af649a9a1939b9bbda7f410dd115c06f89dcf14",
        "msg" : "tools: fix printb usage in solisten",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/solisten.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cpp/pyperf/PyPerfUtil.cc",
          "src/cc/bcc_syms.cc",
          "src/cc/usdt/usdt_args.cc",
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "237a4b46567c75834476beadfb76b7c5d5b97877",
        "timestamp" : 1564583243000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Turn on lazy symbolize by default\u000a\u000aThis turns on lazy symbolization by default. Symbol names will be\u000aresolved the first time they're requested and then cached for future\u000aaccess. This can reduce bcc memory usage by quite a bit in certain\u000aworkloads.\u000a",
        "date" : "2019-07-31 07:27:23 -0700",
        "id" : "237a4b46567c75834476beadfb76b7c5d5b97877",
        "msg" : "Turn on lazy symbolize by default",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_syms.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt_args.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/pyperf/PyPerfUtil.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/tcpconnect.8",
          "tools/tcpconnect_example.txt",
          "tools/tcpconnect.py"
        ],
        "commitId" : "9518a5b74105a16f5c3ad3d7e0f717b153965f6e",
        "timestamp" : 1564702671000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/tcpconnect: add option -c to count connects\u000a\u000aAdd -c to count all active connections per dest ip/port so we can\u000aeasily spot the heavy outbound connection attempts.\u000a\u000a    # ./tcpconnect.py -c\u000a    Tracing connect ... Hit Ctrl-C to end\u000a    ^C\u000a    LADDR                 RADDR                    RPORT              CONNECTS\u000a    192.168.10.50         172.217.21.194           443                70\u000a    192.168.10.50         172.213.11.195           443                34\u000a    192.168.10.50         172.212.22.194           443                21\u000a    [...]\u000a",
        "date" : "2019-08-01 16:37:51 -0700",
        "id" : "9518a5b74105a16f5c3ad3d7e0f717b153965f6e",
        "msg" : "tools/tcpconnect: add option -c to count connects",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/tcpconnect.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpconnect.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "56ba6fde05240e220b359d8e03ec7f97893440ee",
        "timestamp" : 1564956311000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync to latest libbpf\u000a\u000aThe latest libbpf includes a few bug fixes since last time update.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-08-04 15:05:11 -0700",
        "id" : "56ba6fde05240e220b359d8e03ec7f97893440ee",
        "msg" : "sync to latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt"
        ],
        "commitId" : "910ddaf1dbc25e1ba1006e7bdf8390042c717732",
        "timestamp" : 1564957180000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "CMake: Allow to disable building man pages\u000a\u000aAvoid building man pages when it's not necessary\u000a(i.e when building for an embedded system).\u000a\u000aSigned-off-by: Romain Naour <romain.naour@gmail.com>\u000a",
        "date" : "2019-08-04 15:19:40 -0700",
        "id" : "910ddaf1dbc25e1ba1006e7bdf8390042c717732",
        "msg" : "CMake: Allow to disable building man pages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/vfscount.py",
          "man/man8/vfscount.8"
        ],
        "commitId" : "0206fc4e3568eab6cacfc1d5916258a9ba764f5d",
        "timestamp" : 1565021180000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: fix vfscount output when no duration is specified\u000a\u000aSince commit a2e71a9eb71a (\"vfscount.py: add args time (#2344)\"),\u000avfscount does not show any output when it is interrupted by a key\u000apress, which is the only way out when no time limit is specified. I\u000aassume the exit() that has been added in the keyboard interrupt\u000ahandler is there so that no output is displayed when the program has\u000abeen interrupted early when a time limit has been specified. But since\u000athe tool still invite the user to use Ctrl-C to end the tracing in\u000athat case, it seems more consistent to show an output in that case\u000atoo.\u000a\u000aThis patch removes the exit() and the tools always show a result at\u000athe end. It also adds the duration argument to the synopsis and the\u000aoption section in the man page.\u000a",
        "date" : "2019-08-05 09:06:20 -0700",
        "id" : "0206fc4e3568eab6cacfc1d5916258a9ba764f5d",
        "msg" : "tools: fix vfscount output when no duration is specified",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/vfscount.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/vfscount.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_elf.c"
        ],
        "commitId" : "68b8d3017c296d3c266e540f27ea5cf04c6c0f72",
        "timestamp" : 1565025985000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Support perf's symfs mechanism for debuginfo lookup.\u000a\u000aSymfs is a file path prefix that needs to be prepended to full path of a library\u000ato compute location of corresponding debuginfo. It will allow bcc users to\u000aprovide debug symbols if only they can write to at least one directory. Nothing\u000aelse needs to be assumed regarding the system bcc runs on.\u000a\u000aMy intention is to make debuginfo lookup work on Android in one form or another.\u000aNone of the gdb rules works out of the box:\u000a- native libraries are often managed by Android apps themselves and uncompressed\u000a  by apps into private directories. Sideloading debuginfo into those directories\u000a  might be not feasible. What's more it's desirable to remove data like\u000a  debuglink from release builds of mobile apps. At the same time those builds\u000a  are the most interesting ones to investigate with bcc.\u000a- there is no /usr directory on Android, so there is no /usr/lib/debug/. It\u000a  could be created with some effort, but symfs is much more convenient and\u000a  already used when profiling with simpleperf (fork of perf for Android).\u000a",
        "date" : "2019-08-05 10:26:25 -0700",
        "id" : "68b8d3017c296d3c266e540f27ea5cf04c6c0f72",
        "msg" : "Support perf's symfs mechanism for debuginfo lookup.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/solisten.8",
          "man/man8/sofdsnoop.8",
          "man/man8/tcpdrop.8",
          "man/man8/tcpstates.8",
          "tools/solisten.py",
          "man/man8/tcplife.8",
          "tools/sofdsnoop_example.txt",
          "tools/sofdsnoop.py",
          "man/man8/deadlock_detector.8",
          "tools/tcpdrop.py",
          "man/man8/deadlock.8"
        ],
        "commitId" : "33c9c571057b75ec979cc74121a0d3cb3a19be1b",
        "timestamp" : 1565098030000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "man: fixes some man pages\u000a\u000aIn the man pages of tcplife and tcpstates, the name of the field for\u000athe remote port and address (DPORT, DADDR) differs from the tool\u000aitself (RPORT, RADDR). This patch fix the man pages.\u000a\u000aThe man page of tcpdrop mentions options that do not exists. This\u000apatch fix that. It also fix the comment at the head of the code that\u000atoo mentions inexistents options.\u000a\u000aThe man pages for solisten and sofdsnoop are missing. This patch adds\u000athem.\u000a\u000aThe deadlock_detector tools has been rename simply deadlock, but its\u000amanpage is still named deadlock_detector although its content has been\u000aupdated. This patch rename the manpage.\u000a",
        "date" : "2019-08-06 15:27:10 +0200",
        "id" : "33c9c571057b75ec979cc74121a0d3cb3a19be1b",
        "msg" : "man: fixes some man pages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcpdrop.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcpdrop.8"
          },
          {
            "editType" : "add",
            "file" : "man/man8/sofdsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/solisten.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcplife.8"
          },
          {
            "editType" : "delete",
            "file" : "man/man8/deadlock_detector.8"
          },
          {
            "editType" : "add",
            "file" : "man/man8/deadlock.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/sofdsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/tcpstates.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/sofdsnoop.py"
          },
          {
            "editType" : "add",
            "file" : "man/man8/solisten.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/offwaketime.py"
        ],
        "commitId" : "89bb40a3d0773e4ea8bdebcf685d100d1ad102dd",
        "timestamp" : 1565491026000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "offwaketime: Fix incorrect target and waker PIDs\u000a\u000aoffwaketime reports target and waker PIDs inversely.\u000aThis patch fixes this issue.\u000a\u000aSigned-off-by: Yohei Ueda <yohei@jp.ibm.com>\u000a",
        "date" : "2019-08-10 19:37:06 -0700",
        "id" : "89bb40a3d0773e4ea8bdebcf685d100d1ad102dd",
        "msg" : "offwaketime: Fix incorrect target and waker PIDs",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/usdt/usdt.cc"
        ],
        "commitId" : "5ce16e478a98442b7687e9f5139c1cdb27051ce6",
        "timestamp" : 1565914379000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Don't prepend /proc/PID/root to user-supplied USDT binary paths starting with /proc already\u000a",
        "date" : "2019-08-15 17:12:59 -0700",
        "id" : "5ce16e478a98442b7687e9f5139c1cdb27051ce6",
        "msg" : "Don't prepend /proc/PID/root to user-supplied USDT binary paths starting with /proc already",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/usdt/usdt.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "e102514589bfb2519dcd9345fd30868956f85275",
        "timestamp" : 1565959196000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Update reference_guide.md\u000a\u000aI think it should be attach_uretprobe rather than attach_uprobe.\u000a",
        "date" : "2019-08-16 20:39:56 +0800",
        "id" : "e102514589bfb2519dcd9345fd30868956f85275",
        "msg" : "Update reference_guide.md",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/mysqld_query.py"
        ],
        "commitId" : "2479fbf1d3bc62a3170b2b289a49fb19972078c3",
        "timestamp" : 1565978513000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Update mysqld_query.py\u000a\u000astore the query in query[128] and printk(\"%s\\n\",query) instead of printk(\"%s\\n\",addr)\u000a",
        "date" : "2019-08-16 11:01:53 -0700",
        "id" : "2479fbf1d3bc62a3170b2b289a49fb19972078c3",
        "msg" : "Update mysqld_query.py",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/tracing/mysqld_query.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/mallocstacks.py"
        ],
        "commitId" : "270d54ae18c589b352dad71f465cf7d439275e24",
        "timestamp" : 1566574627000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Make number of stack traces configurable from command line in example… (#2500)\u000a\u000aMake number of stack traces configurable from command line in examples/tracing/mallocstacks.py\u000a",
        "date" : "2019-08-23 08:37:07 -0700",
        "id" : "270d54ae18c589b352dad71f465cf7d439275e24",
        "msg" : "Make number of stack traces configurable from command line in example… (#2500)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/tracing/mallocstacks.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcptop.py"
        ],
        "commitId" : "496a2b17627918c7b836e3b5eff175002efc9263",
        "timestamp" : 1567187194000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "tcptop: Fix incorrect pid filter\u000a\u000aFix incorrect pid filter in tcptop\u000a",
        "date" : "2019-08-30 10:46:34 -0700",
        "id" : "496a2b17627918c7b836e3b5eff175002efc9263",
        "msg" : "tcptop: Fix incorrect pid filter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcptop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_static.c",
          "src/cc/bpf_module.cc",
          "src/cc/bcc_common.h",
          "src/cc/bcc_common.cc",
          "src/cc/bpf_module.h",
          "examples/networking/xdp/xdp_drop_count.py",
          "src/python/bcc/__init__.py",
          "src/python/bcc/libbcc.py"
        ],
        "commitId" : "d147588ebe35b7cd2b4d253a7da18bef253ea78d",
        "timestamp" : 1567526701000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Support for hardware offload (#2502)\u000a\u000a Support for hardware offload\u000a Update XDP example to support HW offload\u000a\u000aSigned-off-by: Paul Chaignon <paul.chaignon@orange.com>\u000a",
        "date" : "2019-09-03 09:05:01 -0700",
        "id" : "d147588ebe35b7cd2b4d253a7da18bef253ea78d",
        "msg" : "Support for hardware offload (#2502)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_common.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/xdp/xdp_drop_count.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_common.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_static.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "44454d948b9fa4e0587fad7478b9383d51501c41",
        "timestamp" : 1568192938000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/michal.wesolowski",
          "fullName" : "michal.wesolowski"
        },
        "authorEmail" : "michal.wesolowski@horus.pl",
        "comment" : "support gcc 8's cold subfunctions\u000a",
        "date" : "2019-09-11 11:08:58 +0200",
        "id" : "44454d948b9fa4e0587fad7478b9383d51501c41",
        "msg" : "support gcc 8's cold subfunctions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/stackcount.py"
        ],
        "commitId" : "c99c7c4063213f4bb6e8347f9b4d36ed316aa8c9",
        "timestamp" : 1568526861000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "stackcount: fix TypeError (#2514)\u000a\u000afix type error in stackcount.py\u000a",
        "date" : "2019-09-15 06:54:21 +0100",
        "id" : "c99c7c4063213f4bb6e8347f9b4d36ed316aa8c9",
        "msg" : "stackcount: fix TypeError (#2514)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/stackcount.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "examples/tracing/task_switch.c",
          "tools/old/profile.py",
          "tools/lib/uflow.py",
          "tools/old/softirqs.py",
          "tests/wrapper.sh.in",
          "examples/tracing/strlen_count.py",
          "tools/syscount.py",
          "tools/lib/uobjnew.py",
          "src/python/bcc/libbcc.py",
          "examples/networking/vlan_learning/vlan_learning.c",
          "tools/lib/ustat.py",
          "examples/networking/tunnel_monitor/monitor.c",
          "examples/cpp/TCPSendStack.cc",
          "tools/old/offcputime.py",
          "examples/cpp/UseExternalMap.cc",
          "examples/lua/task_switch.lua",
          "tools/filetop.py",
          "tests/python/test_percpu.py",
          "tests/python/test_lru.py",
          "tools/lib/ucalls.py",
          "docs/reference_guide.md",
          "tools/old/stackcount.py",
          "tests/python/test_tracepoint.py",
          "examples/networking/distributed_bridge/tunnel.c",
          "tests/python/test_license.py",
          "tools/slabratetop.py",
          "tools/biotop.py",
          "tests/python/test_trace2.c",
          "tests/python/test_trace3.c",
          "tests/python/test_clang.py",
          "examples/cpp/LLCStat.cc",
          "tools/old/wakeuptime.py",
          "tests/python/test_trace4.py",
          "tests/python/test_stat1.c",
          "tests/python/test_trace2.py",
          "examples/tracing/mallocstacks.py",
          "tests/python/test_trace_maxactive.py",
          "examples/lua/offcputime.lua",
          "tests/cc/test_bpf_table.cc",
          "tests/lua/test_clang.lua",
          "docs/tutorial_bcc_python_developer.md",
          "tools/old/offwaketime.py"
        ],
        "commitId" : "ba64f031f2435aad5a85f8f37dbbe2a982cbbe6b",
        "timestamp" : 1568956321000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Fixes #2518 -- weird behaviour of lookup_or_init (#2520)\u000a\u000a* Allow lookup_or_init to return NULL (rather than just returning from the current function)\u000a* Fixed a couple of bad edits found when running tests. Also fixed a bug in the\u000atest runner. Also fixed a bug in libbcc where the python signature did not match\u000athe actual implementation.\u000a",
        "date" : "2019-09-19 22:12:01 -0700",
        "id" : "ba64f031f2435aad5a85f8f37dbbe2a982cbbe6b",
        "msg" : "Fixes #2518 -- weird behaviour of lookup_or_init (#2520)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/libbcc.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_lru.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace3.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/filetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uflow.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/LLCStat.cc"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/task_switch.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/softirqs.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uobjnew.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/offwaketime.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_percpu.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_stat1.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/lua/test_clang.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ustat.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/distributed_bridge/tunnel.c"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/tunnel_monitor/monitor.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/wakeuptime.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/offcputime.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/slabratetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/offcputime.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/mallocstacks.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/strlen_count.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/biotop.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace2.c"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/UseExternalMap.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_bpf_table.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/syscount.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/task_switch.lua"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace4.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/stackcount.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace_maxactive.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ucalls.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/vlan_learning/vlan_learning.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_license.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/wrapper.sh.in"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/TCPSendStack.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace2.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tracepoint.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "FAQ.txt"
        ],
        "commitId" : "84d9798aec01bc8486f3fc88afcbe37988e3ee58",
        "timestamp" : 1569240932000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "FAQ: fix error message\u000a\u000aThe package is called bcc, and not bpf:\u000a\u000a    from bcc import BPF\u000a\u000aIf that is not available the error message reads\u000a\u000a    ModuleNotFoundError: No module named 'bcc'\u000a\u000aand not `No module named 'bpf'`\u000a",
        "date" : "2019-09-23 14:15:32 +0200",
        "id" : "84d9798aec01bc8486f3fc88afcbe37988e3ee58",
        "msg" : "FAQ: fix error message",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "FAQ.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "f8c5654c01f7705017e8b7becee8907d949eb13c",
        "timestamp" : 1569293288000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "INSTALL.md: add install instructions for Fedora 30+ (#2524)\u000a\u000aadd install instructions for Fedora 30+\u000a",
        "date" : "2019-09-23 19:48:08 -0700",
        "id" : "f8c5654c01f7705017e8b7becee8907d949eb13c",
        "msg" : "INSTALL.md: add install instructions for Fedora 30+ (#2524)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "867c3e3f7cdbba014605cee1f994ea3d2a1e3d50",
        "timestamp" : 1569366624000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Fix BPF_PERCPU_ARRAY description (#2527)\u000a\u000aFixed the BPF_PERCPU_ARRAY description in reference_guide.md to include information about maximum element size. This is in regards to #2519 .\u000a",
        "date" : "2019-09-24 16:10:24 -0700",
        "id" : "867c3e3f7cdbba014605cee1f994ea3d2a1e3d50",
        "msg" : "Fix BPF_PERCPU_ARRAY description (#2527)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/loader.cc"
        ],
        "commitId" : "c02e5eb13d154661af39a27f202ee64ad6be63a1",
        "timestamp" : 1569370732000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "fix compilation errors with clang CreateFromArgs() change (#2528)\u000a\u000aUpstream change https://reviews.llvm.org/D66797 (in llvm 10)\u000achanged signature of CreateFromArgs(). Compiled with latest upstream,\u000awe will have compilation error like:\u000a    /home/yhs/work/bcc/src/cc/frontends/clang/loader.cc:343:57:\u000a    error: ‘cargs’ was not declared in this scope; did you mean ‘ccargs’?\u000a      343 |   if (!CompilerInvocation::CreateFromArgs( invocation0, cargs.  diags))\u000a          |                                                         ^~~~~\u000a          |                                                         ccargs\u000a\u000aAdjust bcc codes to use the new func signature.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-09-24 17:18:52 -0700",
        "id" : "c02e5eb13d154661af39a27f202ee64ad6be63a1",
        "msg" : "fix compilation errors with clang CreateFromArgs() change (#2528)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/loader.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt"
        ],
        "commitId" : "903513e454c9847370f7e54797ff29f12e1de4d9",
        "timestamp" : 1569380911000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "cmakefile change to require c++14 (#2529)\u000a\u000aThe latest llvm trunk (llvm 10) built require c++14.\u000aBuilt with gcc and llvm 10 headers, the following\u000aerror will show up:\u000a  ...\u000a  /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/RWMutex.h:\u000a      At global scope:\u000a  /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/RWMutex.h:101:8:\u000a      error: ‘shared_t$\u000a  med_mutex’ in namespace ‘std’ does not name a type\u000a     std::shared_timed_mutex impl;\u000a  ...\u000a  /home/yhs/work/llvm-project/llvm/build/install/include/llvm/Support/TrailingObjects.h:252:19:\u000a      error: ‘is_final’ is not a member of ‘std’\u000a       static_assert(std::is_final<BaseTy>(), \"BaseTy must be final.\");\u000a  ...\u000a\u000astd::shared_timed_mutex and std::is_final etc. are all c++14 features.\u000aMost compilers should already support c++14. Let us require it in\u000aMakefile now.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-09-24 20:08:31 -0700",
        "id" : "903513e454c9847370f7e54797ff29f12e1de4d9",
        "msg" : "cmakefile change to require c++14 (#2529)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "115b959d866159eecd09ca703197c809aa19ceda",
        "timestamp" : 1569427664000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "Fix a file descriptor leak when module is deleted (#2530)\u000a\u000aFix issue #989\u000a\u000aWhen module is cleaned up, let us also close all bpf program\u000afile descriptors to avoid fd leaking.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-09-25 09:07:44 -0700",
        "id" : "115b959d866159eecd09ca703197c809aa19ceda",
        "msg" : "Fix a file descriptor leak when module is deleted (#2530)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "FAQ.txt"
        ],
        "commitId" : "ac29d09a10b80c26fa1e5f8351e2dec29cfd4b9a",
        "timestamp" : 1569516094000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "FAQ: Add Q&A about kernel lockdown (#2532)\u000a\u000aadd kernel lockdown and solution to turn it off.\u000a",
        "date" : "2019-09-26 09:41:34 -0700",
        "id" : "ac29d09a10b80c26fa1e5f8351e2dec29cfd4b9a",
        "msg" : "FAQ: Add Q&A about kernel lockdown (#2532)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "FAQ.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cpp/CMakeLists.txt",
          "examples/cpp/CGroupTest.cc"
        ],
        "commitId" : "c00d10d4552f647491395e326d2e4400f3a0b6c5",
        "timestamp" : 1569534458000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Add sampe code for cgoup test (#2522)\u000a\u000aHow to run this test:\u000a0. Make sure you have cgroup2 mounted:\u000a  $ mount -t cgroup2\u000a  cgroup on /sys/fs/cgroup/unified type cgroup2 (rw,nosuid,nodev,noexec,relatime)\u000a1. Create a test cgroup in cgroup2 fs:\u000a  $ sudo mkdir /sys/fs/cgroup/unified/test\u000a2. Run this program in a bash:\u000a  $ sudo CGroupTest /sys/fs/cgroup/unified/test\u000a3. In another bash window, do the following:\u000a  $ echo $$ > /sys/fs/cgroup/unified/test/cgroup.procs\u000a  $ run some other commands\u000a4. You should be able to see lots of prints like:\u000a  'file ... was opened!'\u000a",
        "date" : "2019-09-26 14:47:38 -0700",
        "id" : "c00d10d4552f647491395e326d2e4400f3a0b6c5",
        "msg" : "Add sampe code for cgoup test (#2522)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/cpp/CMakeLists.txt"
          },
          {
            "editType" : "add",
            "file" : "examples/cpp/CGroupTest.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "4c2cb869dc559af2bbd92dafbf769412e638093b",
        "timestamp" : 1569863115000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "INSTALL.md: Fedora 30: note about kernel lockdown (#2536)\u000a\u000aAdd a note about the kernel lockdown challenge\u000ato the \"Fedora 30 and newer\" section.\u000a\u000aMotivation: Fedora 30 users are likely to follow\u000athe instructions in the \"Fedora 30 and newer\"\u000asection of INSTALL.md. They will run into the\u000akernel lockdown challenge.\u000a",
        "date" : "2019-09-30 10:05:15 -0700",
        "id" : "4c2cb869dc559af2bbd92dafbf769412e638093b",
        "msg" : "INSTALL.md: Fedora 30: note about kernel lockdown (#2536)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "introspection/bps.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "docs/kernel-versions.md",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "eb018cf9e5df30c9748e4b31a33f0934a47cca6b",
        "timestamp" : 1570059278000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "sync to latest libbpf (#2540)\u000a\u000async to latest libpf with tag v0.0.5.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-02 16:34:38 -0700",
        "id" : "eb018cf9e5df30c9748e4b31a33f0934a47cca6b",
        "msg" : "sync to latest libbpf (#2540)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "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" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/changelog"
        ],
        "commitId" : "0fa419a64e71984d42f107c210d3d3f0cc82d59a",
        "timestamp" : 1570118520000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "debian changelog for v0.11.0 tag (#2541)\u000a\u000athe main changes from v0.10.0 to v0.11.0 tag:\u000a  * Support for kernel up to 5.3\u000a  * Corresponding libbpf submodule release is v0.0.5\u000a  * Fix USDT issue with multi-threaded applications\u000a  * Fixed the early return behavior of lookup_or_init\u000a  * Support for nic hardware offload\u000a  * Fixed and Enabled Travis CI\u000a  * A lot of tools change with added new options, etc.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-03 09:02:00 -0700",
        "id" : "0fa419a64e71984d42f107c210d3d3f0cc82d59a",
        "msg" : "debian changelog for v0.11.0 tag (#2541)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/changelog"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/compat/linux/virtual_bpf.h",
          "src/cc/libbpf"
        ],
        "commitId" : "76f31edfdbac03b02a4fc0bcd07fcd25c6dd5d03",
        "timestamp" : 1570724642000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "sync with latest libbpf repo (#2545)\u000a\u000alibbpf repo has a big sync from kernel side.\u000aLet us bring in to ensure bcc working fine and\u000aindeed it works fine.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-10 09:24:02 -0700",
        "id" : "76f31edfdbac03b02a4fc0bcd07fcd25c6dd5d03",
        "msg" : "sync with latest libbpf repo (#2545)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/export/helpers.h"
        ],
        "commitId" : "2d1497cde1cc9835f759a707b42dea83bee378b8",
        "timestamp" : 1570764261000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Redefine asm_inline for Linux 5.4+, Fixes #2546 (#2547)\u000a\u000aHere's the upstream commit that introduced `asm_inline`:\u000a\u000a* https://github.com/torvalds/linux/commit/eb111869301e15b737315a46c913ae82bd19eb9d\u000a\u000aWithout this patch BCC fails with the following:\u000a\u000a```\u000a$ sudo /usr/share/bcc/tools/opensnoop\u000aIn file included from /virtual/main.c:2:\u000aIn file included from include/uapi/linux/ptrace.h:142:\u000aIn file included from ./arch/x86/include/asm/ptrace.h:5:\u000a./arch/x86/include/asm/segment.h:254:2: error: expected '(' after 'asm'\u000a        alternative_io (\"lsl %[seg],%[p]\",\u000a        ^\u000a./arch/x86/include/asm/alternative.h:240:2: note: expanded from macro 'alternative_io'\u000a        asm_inline volatile (ALTERNATIVE(oldinstr, newinstr, feature)   \\\u000a        ^\u000ainclude/linux/compiler_types.h:210:24: note: expanded from macro 'asm_inline'\u000a                       ^\u000a```\u000a",
        "date" : "2019-10-10 20:24:21 -0700",
        "id" : "2d1497cde1cc9835f759a707b42dea83bee378b8",
        "msg" : "Redefine asm_inline for Linux 5.4+, Fixes #2546 (#2547)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/gethostlatency_example.txt",
          "tools/gethostlatency.py"
        ],
        "commitId" : "6b989dba8dbd8db6bb7a2f75810f2b979d58a955",
        "timestamp" : 1570947464000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Fix Erroneous \"gethostlatency\" Comments (#2549)\u000a\u000a* Fix erroneous comment in gethostlatency.py\u000a* Fix erroneous comment in gethostlatency_example\u000a",
        "date" : "2019-10-12 23:17:44 -0700",
        "id" : "6b989dba8dbd8db6bb7a2f75810f2b979d58a955",
        "msg" : "Fix Erroneous \"gethostlatency\" Comments (#2549)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/gethostlatency.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/gethostlatency_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "README.md"
        ],
        "commitId" : "183be9a470035f1916349a29f31070400e9d3a70",
        "timestamp" : 1571108091000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Changed Link to HTTPS (#2551)\u000a\u000aChanged Link to HTTPS\u000a",
        "date" : "2019-10-14 19:54:51 -0700",
        "id" : "183be9a470035f1916349a29f31070400e9d3a70",
        "msg" : "Changed Link to HTTPS (#2551)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "README.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/runqslower_example.txt"
        ],
        "commitId" : "56aa780c3fc0149df400e90007b5ba5b9608182a",
        "timestamp" : 1571208723000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/591596081",
          "fullName" : "591596081"
        },
        "authorEmail" : "591596081@qq.com",
        "comment" : "Mod: the 'min_us' is in us, mot ms\u000a",
        "date" : "2019-10-16 14:52:03 +0800",
        "id" : "56aa780c3fc0149df400e90007b5ba5b9608182a",
        "msg" : "Mod: the 'min_us' is in us, mot ms",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/runqslower_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/drsnoop_example.txt"
        ],
        "commitId" : "e3668b991dd4147437bcb11400020b3e4f4cbe7d",
        "timestamp" : 1571210004000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/591596081",
          "fullName" : "591596081"
        },
        "authorEmail" : "591596081@qq.com",
        "comment" : "Mod: fix two errors in examples\u000a",
        "date" : "2019-10-16 15:13:24 +0800",
        "id" : "e3668b991dd4147437bcb11400020b3e4f4cbe7d",
        "msg" : "Mod: fix two errors in examples",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/drsnoop_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/tcpretrans.8"
        ],
        "commitId" : "930846dc2c49281c693c2e39a0a2d21c650c61de",
        "timestamp" : 1571314012000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
          "fullName" : "jmarchan"
        },
        "authorEmail" : "jmarchan@redhat.com",
        "comment" : "man: add missing -c option to tcpretrans synopsis\u000a",
        "date" : "2019-10-17 14:06:52 +0200",
        "id" : "930846dc2c49281c693c2e39a0a2d21c650c61de",
        "msg" : "man: add missing -c option to tcpretrans synopsis",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/tcpretrans.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "54aa25763e87cd0c4e0298bcfca0094df87d2be7",
        "timestamp" : 1571447605000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Fix a typo, tracepint -> tracepoint (#2559)\u000a\u000aFix a typo, tracepint -> tracepoint\u000a",
        "date" : "2019-10-18 18:13:25 -0700",
        "id" : "54aa25763e87cd0c4e0298bcfca0094df87d2be7",
        "msg" : "Fix a typo, tracepint -> tracepoint (#2559)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "708f786e3784dc32570a079f2ed74c35731664ea",
        "timestamp" : 1571512434000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "document the release info related to libbpf submodule (#2561)\u000a\u000aFix issue #2261.\u000aIn INSTALL.md document that source code with libbpf submodule\u000awill be released as well for each bcc release in the future.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-19 12:13:54 -0700",
        "id" : "708f786e3784dc32570a079f2ed74c35731664ea",
        "msg" : "document the release info related to libbpf submodule (#2561)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_btf.cc"
        ],
        "commitId" : "f04c6de5bfaa9137be09af0e6aaad040936bb148",
        "timestamp" : 1571512456000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "assign offset properly for btf DataSec (#2560)\u000a\u000aThe following test case failed:\u000a  -bash-4.4$ cat test.py\u000a  #!/usr/bin/python\u000a  from bcc import BPF\u000a  prog=\"\"\"\u000a  BPF_ARRAY(array1, u64, 1);\u000a  BPF_ARRAY(array2, u64, 1);\u000a  \"\"\"\u000a  b=BPF(text=prog, debug=0x20)\u000a  -bash-4.4$ sudo ./test.py\u000a  libbpf: Error loading BTF: Invalid argument(22)\u000a  libbpf: magic: 0xeb9f\u000a  version: 1\u000a  flags: 0x0\u000a  hdr_len: 24\u000a  ...\u000a  [57] DATASEC array size=176 vlen=2\u000a           type_id=47 offset=0 size=88\u000a           type_id=49 offset=0 size=88 Invalid offset\u000a\u000a  Loading .BTF section failed\u000a  -bash-4.4$\u000a\u000aThe reason is the data offset in DataSec VarInfo\u000a(e.g., type_id=47 offset=0 size=88) always have\u000aoffset=0 since JIT won't do a final relocation\u000afor the record. Assign offset properly\u000ain bcc_btf before loading btf to the kernel.\u000aWith this patch, test case can load btf properly.\u000a  -bash-4.4$ cat test.py\u000a  #!/usr/bin/python\u000a  from bcc import BPF\u000a  prog=\"\"\"\u000a  BPF_ARRAY(array1, u64, 1);\u000a  BPF_ARRAY(array2, u64, 1);\u000a  \"\"\"\u000a  b=BPF(text=prog, debug=0x20)\u000a  -bash-4.4$ sudo ./test.py\u000a  -bash-4.4$\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-19 12:14:16 -0700",
        "id" : "f04c6de5bfaa9137be09af0e6aaad040936bb148",
        "msg" : "assign offset properly for btf DataSec (#2560)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_btf.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/trace.8",
          "tools/trace.py",
          "tools/trace_example.txt"
        ],
        "commitId" : "c2a530b3adf91e5fe5886277e0f2abed4a77b8ea",
        "timestamp" : 1571589355000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "support cgroup level tracing in trace.py (#2562)\u000a\u000aThis patch added cgroup based filtering in trace.py.\u000a\u000aIf a cgroup path is specified by the user, one cgroup\u000aarray map will be added to the program:\u000a  BPF_CGROUP_ARRAY(__cgroup, 1);\u000a\u000aEach probe will have a filter like below:\u000a  if (__cgroup.check_current_task(0) <= 0) { return 0; }\u000ato filter out any events not happening in the cgroup\u000ahierarchy as specified by the user.\u000a\u000aThe trace.py updated the `__cgroup` map with user provided\u000acgroup path information before attaching bpf functions\u000ato events for probe function(s).\u000a\u000aAn example like below:\u000a  $ trace.py -v -c /sys/fs/cgroup/system.slice/workload.service \\\u000a    '__x64_sys_nanosleep' '__x64_sys_clone'\u000a     PID     TID     COMM            FUNC\u000a     3191578 3191583 BaseAgentEvents __x64_sys_nanosleep\u000a     3191578 3191579 FutureTimekeepr __x64_sys_clone\u000a     3191578 3191583 BaseAgentEvents __x64_sys_nanosleep\u000a     3191578 3191583 BaseAgentEvents __x64_sys_nanosleep\u000asince workload.service only contains one process 3191578.\u000a\u000aGoing up the hierarchy to system.slice will have more processes\u000aand hence more results:\u000a  $ trace.py -v -c /sys/fs/cgroup/system.slice \\\u000a    '__x64_sys_nanosleep' '__x64_sys_clone'\u000a     PID     TID     COMM            FUNC\u000a     591542  591677  dynoScribe      __x64_sys_nanosleep\u000a     591610  591613  mcreplay2       __x64_sys_nanosleep\u000a     553252  553252  sleeperagent    __x64_sys_nanosleep\u000a     591610  591613  mcreplay2       __x64_sys_nanosleep\u000a     553252  553252  sleeperagent    __x64_sys_nanosleep\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-20 09:35:55 -0700",
        "id" : "c2a530b3adf91e5fe5886277e0f2abed4a77b8ea",
        "msg" : "support cgroup level tracing in trace.py (#2562)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/trace.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/shmsnoop.8"
        ],
        "commitId" : "93479699176c613e2caa0bd6c8b731d0b7257746",
        "timestamp" : 1571589404000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "man: COMM describes the process name, not the parent process name (#2563)\u000a\u000aFor shmsnoop, COMM describes the process name, not the parent process name.\u000a",
        "date" : "2019-10-20 09:36:44 -0700",
        "id" : "93479699176c613e2caa0bd6c8b731d0b7257746",
        "msg" : "man: COMM describes the process name, not the parent process name (#2563)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/shmsnoop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/cpudist.py"
        ],
        "commitId" : "9b433f20ea0b5832c151e577268df66046c4bfe1",
        "timestamp" : 1571842923000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tdecacqu",
          "fullName" : "tdecacqu"
        },
        "authorEmail" : "tdecacqu@redhat.com",
        "comment" : "cpudist: create sufficiently large hash table to avoid missing tasks\u000a\u000aThis change fixes the cpudist tool to avoid issue when too many tasks\u000aare running.\u000a\u000aFixes #2567 -- cpudist stop working when there are too many fork\u000a",
        "date" : "2019-10-23 15:02:03 +0000",
        "id" : "9b433f20ea0b5832c151e577268df66046c4bfe1",
        "msg" : "cpudist: create sufficiently large hash table to avoid missing tasks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/cpudist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_debug.cc"
        ],
        "commitId" : "2dad4759a850bac6a0e3e1dd5fe35fc4c29419f0",
        "timestamp" : 1572282469000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "fix compilation errors with latest llvm trunk (#2575)\u000a\u000allvm commit https://reviews.llvm.org/D66795\u000achanged the signature of function createMCAsmInfo().\u000a  -  MCAsmInfo *createMCAsmInfo(const MCRegisterInfo &MRI,\u000a  -                             StringRef TheTriple) const {\u000a  +  MCAsmInfo *createMCAsmInfo(const MCRegisterInfo &MRI, StringRef TheTriple,\u000a  +                             const MCTargetOptions &Options) const {\u000a\u000aDid similar adjustment in bcc to ensure compilation success.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-28 10:07:49 -0700",
        "id" : "2dad4759a850bac6a0e3e1dd5fe35fc4c29419f0",
        "msg" : "fix compilation errors with latest llvm trunk (#2575)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_debug.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf"
        ],
        "commitId" : "eb1a2f64a47030728ac8e190adf1fe27466dda7a",
        "timestamp" : 1572301327000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "sync with latest libbpf (#2576)\u000a\u000aThis should fix the ARM build issue reported\u000ain issue #83.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-28 15:22:07 -0700",
        "id" : "eb1a2f64a47030728ac8e190adf1fe27466dda7a",
        "msg" : "sync with latest libbpf (#2576)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "examples/tracing/task_switch.c",
          "tools/lib/uflow.py",
          "tools/deadlock.c",
          "examples/tracing/strlen_count.py",
          "src/cc/export/helpers.h",
          "tools/syscount.py",
          "tools/lib/uobjnew.py",
          "examples/networking/vlan_learning/vlan_learning.c",
          "tools/lib/ustat.py",
          "examples/networking/tunnel_monitor/monitor.c",
          "examples/cpp/TCPSendStack.cc",
          "examples/cpp/UseExternalMap.cc",
          "examples/lua/task_switch.lua",
          "tools/filetop.py",
          "tests/python/test_percpu.py",
          "tests/python/test_lru.py",
          "examples/usdt_sample/scripts/lat_avg.py",
          "tools/lib/ucalls.py",
          "docs/reference_guide.md",
          "tests/python/test_tracepoint.py",
          "examples/networking/distributed_bridge/tunnel.c",
          "tests/python/test_license.py",
          "tools/slabratetop.py",
          "tools/biotop.py",
          "tests/python/test_trace2.c",
          "tests/python/test_trace3.c",
          "tests/python/test_clang.py",
          "examples/cpp/LLCStat.cc",
          "tests/python/test_trace4.py",
          "tests/python/test_trace2.py",
          "tests/python/test_stat1.c",
          "examples/networking/http_filter/http-parse-complete.c",
          "examples/tracing/mallocstacks.py",
          "tests/python/test_trace_maxactive.py",
          "examples/lua/offcputime.lua",
          "tests/cc/test_bpf_table.cc",
          "docs/tutorial_bcc_python_developer.md",
          "tests/lua/test_clang.lua"
        ],
        "commitId" : "82f4302a651a6b46b0b090733d34af8201ecacb5",
        "timestamp" : 1572534972000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "introduce map.lookup_or_try_init() (#2577)\u000a\u000aPreviously, map.lookup_or_init() may cause unexpected\u000areturn from the function when lookup finds no element and\u000ainit failed e.g. due to unlikely racy update or\u000asometimes hash table full.\u000aThis has caught surprise from many users. So, the commit\u000a  https://github.com/iovisor/bcc/commit/ba64f031f2435aad5a85f8f37dbbe2a982cbbe6b\u000aattempts to remove the early return in map.lookup_or_init().\u000aBut then since NULL pointer could be returned,\u000auser will need to change their bpf program to check return value,\u000aotherwise, verifier will reject the program.\u000a\u000aAs described in the above, such an API behavior change may cause\u000averifier failure and reject previously loadable bpf programs.\u000abcc should try to maintain API stability, esp. to avoid subtle\u000aAPI behavior change.\u000a\u000aThis patch propose to restore the behavior of map.lookup_or_init()\u000aand introduce a new one map.lookup_or_try_init(), which will\u000aavoid unexpected return. The name is suggested by Alexei\u000ato reflect that init may fail. map.lookup_or_try_init() will be formally\u000adocumented and used in bcc. A warning will be generated if\u000amap.lookup_or_init() is used. Documentation will make it clear\u000athat map.lookup_or_try_init() is preferred over map.lookup_or_init().\u000a\u000a```\u000a-bash-4.4$ sudo ./syscount.py\u000a/virtual/main.c:71:11: warning: lookup_or_init() may return from the function, use loopup_or_try_init() instead.\u000a    val = data.lookup_or_init(&key, &zero);\u000a          ^\u000a1 warning generated.\u000aTracing syscalls, printing top 10... Ctrl+C to quit.\u000a...\u000a```\u000a\u000aAll uses in examples and tools are converted to use\u000alookup_or_try_init(). Most tests are converted to use\u000alookup_or_try_init() too except test_trace_maxactive.py\u000aand test_tracepoint.py to test lookup_or_init()\u000afunctionality.\u000a",
        "date" : "2019-10-31 08:16:12 -0700",
        "id" : "82f4302a651a6b46b0b090733d34af8201ecacb5",
        "msg" : "introduce map.lookup_or_try_init() (#2577)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/deadlock.c"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/mallocstacks.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_percpu.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace2.c"
          },
          {
            "editType" : "edit",
            "file" : "docs/tutorial_bcc_python_developer.md"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/offcputime.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/slabratetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/lua/test_clang.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/syscount.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ustat.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/usdt_sample/scripts/lat_avg.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/distributed_bridge/tunnel.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_license.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/task_switch.c"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/task_switch.lua"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace2.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/LLCStat.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace4.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/ucalls.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/tunnel_monitor/monitor.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace_maxactive.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/TCPSendStack.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_trace3.c"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tracepoint.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_lru.py"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_bpf_table.cc"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uflow.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-complete.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/lib/uobjnew.py"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_stat1.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/biotop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/filetop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/strlen_count.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/vlan_learning/vlan_learning.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/UseExternalMap.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc"
        ],
        "commitId" : "58ff1b3647024bad1da4d20e9d0e99afa61fde51",
        "timestamp" : 1572579029000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "remove the warning for map.lookup_or_init() (#2581)\u000a\u000aCommit 82f4302a651a (\"introduce map.lookup_or_try_init()\")\u000aintroduced new API map.lookup_or_try_init(). A compile time\u000awarning is introduced if old map.lookup_or_init() is used\u000ato discourage the usage.\u000a\u000aThe API is still supported and documentation already\u000arecommends using the new one. So let us drop the\u000awarning.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-10-31 20:30:29 -0700",
        "id" : "58ff1b3647024bad1da4d20e9d0e99afa61fde51",
        "msg" : "remove the warning for map.lookup_or_init() (#2581)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/tutorial.md"
        ],
        "commitId" : "77fe428579b27773f9bdc2cb2a880b1c2d274b67",
        "timestamp" : 1572798068000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "fix typos in tutorial.md (#2584)\u000a\u000afix typos in tutorial.md\u000a",
        "date" : "2019-11-03 08:21:08 -0800",
        "id" : "77fe428579b27773f9bdc2cb2a880b1c2d274b67",
        "msg" : "fix typos in tutorial.md (#2584)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/tutorial.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "src/cc/api/BPF.cc",
          "src/lua/bcc/sym.lua",
          "src/cc/api/BPF.h",
          "src/lua/bcc/bpf.lua",
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "0429040559f9f324b0e1d3ed78b26e678499887f",
        "timestamp" : 1573235522000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Support attaching uprobe to offset (#2585)\u000a\u000a* Support attaching uprobe to offset\u000a* C++ API support of attaching uprobe to offset\u000a* Update document of attach_uprobe()\u000a   The document is taken from src/python/bcc/__init__.py:attach_upobe()\u000a",
        "date" : "2019-11-08 09:52:02 -0800",
        "id" : "0429040559f9f324b0e1d3ed78b26e678499887f",
        "msg" : "Support attaching uprobe to offset (#2585)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          },
          {
            "editType" : "edit",
            "file" : "src/lua/bcc/bpf.lua"
          },
          {
            "editType" : "edit",
            "file" : "src/lua/bcc/sym.lua"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/tcpretrans.py"
        ],
        "commitId" : "9cede20f9ff19784bba4ef5473b396fa58b5302c",
        "timestamp" : 1573259685000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "tools/tcpretrans: add tracepoint support (#2574)\u000a\u000aIf tracepoint tcp:tcp_retransmit_skb exists (kernel version >= 4.15)\u000awe use tracepoint instead of kprobe for efficiency.\u000a\u000aCo-authored-by: Runlong Lin <linrunlong@bytedance.com>\u000a",
        "date" : "2019-11-08 16:34:45 -0800",
        "id" : "9cede20f9ff19784bba4ef5473b396fa58b5302c",
        "msg" : "tools/tcpretrans: add tracepoint support (#2574)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/tcpretrans.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "CMakeLists.txt",
          "cmake/FindLibBpf.cmake",
          "src/cc/CMakeLists.txt"
        ],
        "commitId" : "d4b3bf03d9c67324ff85f9d3c74b201b7e427615",
        "timestamp" : 1573595385000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jolsa",
          "fullName" : "jolsa"
        },
        "authorEmail" : "jolsa@kernel.org",
        "comment" : "Add libbcc-no-libbpf.so library\u000a\u000aWhich links libbpf.so dynamicaly, instead of its current\u000astatic inclusion in libbcc.so.\u000a\u000aThe compilation needs to define CMAKE_USE_LIBBPF_PACKAGE\u000avariable to enable search for libbpf package. If the package\u000ais found it is used to build all the bcc libs.\u000a\u000aThe libbcc.so and libbcc_bpf.so (and their static versions)\u000aremain the same.\u000a\u000aThe new library libbcc-no-libbpf.so is built from all libcc.so\u000asources including libbpf_bcc.so's sources: libbpf.c perf_reader.c\u000aand dynamically linked to libbpf.so library.\u000a\u000aWith libbcc-no-libbpf.so symbols are versioned, so there's\u000ano chance of being mixed:\u000a\u000aSymbols exported from libbpf.so:\u000a\u000a  $ objdump -T /usr/lib64/libbpf.so | grep bpf_map_lookup_elem\u000a  0000000000006df0 g    DF .text  000000000000006e  LIBBPF_0.0.1 bpf_map_lookup_elem\u000a  0000000000006e60 g    DF .text  0000000000000076  LIBBPF_0.0.2 bpf_map_lookup_elem_flags\u000a\u000aSymbol needed by libbcc-no-libbpf.so:\u000a\u000a  $ objdump -T /opt/bcc/lib64/libbcc-no-libbpf.so | grep bpf_map_lookup_elem\u000a  0000000000000000      DF *UND*  0000000000000000  LIBBPF_0.0.1 bpf_map_lookup_elem\u000a\u000aSymbols exported by current libbcc.so:\u000a\u000a  $ objdump -T /opt/bcc/lib64/libbcc.so | grep bpf_map_lookup_elem\u000a  00000000023ad843 g    DF .text  0000000000000082  Base        bpf_map_lookup_elem_flags\u000a  00000000023ad7d3 g    DF .text  0000000000000070  Base        bpf_map_lookup_elem\u000a\u000aBesides that it's better to share common source of libbpf code,\u000ait also prevents issues when having application that links to\u000alibbpf and libbcc, where you could end up conflicting functions\u000aand segfaults if those 2 libbpf libs are not on the same version.\u000a\u000aAll installed libraries now:\u000a\u000a  total 259096\u000a  lrwxrwxrwx. 1 root root        15 Nov  8 15:24 libbcc_bpf.so -> libbcc_bpf.so.0\u000a  lrwxrwxrwx. 1 root root        20 Nov  8 15:24 libbcc_bpf.so.0 -> libbcc_bpf.so.0.11.0\u000a  -rwxr-xr-x. 1 root root    453416 Nov 11 17:03 libbcc_bpf.so.0.11.0\u000a  lrwxrwxrwx. 1 root root        21 Nov  8 15:24 libbcc-no-libbpf.so -> libbcc-no-libbpf.so.0\u000a  lrwxrwxrwx. 1 root root        26 Nov  8 15:24 libbcc-no-libbpf.so.0 -> libbcc-no-libbpf.so.0.11.0\u000a  -rwxr-xr-x. 1 root root 132276312 Nov 11 17:04 libbcc-no-libbpf.so.0.11.0\u000a  lrwxrwxrwx. 1 root root        11 Nov  8 15:24 libbcc.so -> libbcc.so.0\u000a  lrwxrwxrwx. 1 root root        16 Nov  8 15:24 libbcc.so.0 -> libbcc.so.0.11.0\u000a  -rwxr-xr-x. 1 root root 132579280 Nov 11 17:04 libbcc.so.0.11.0\u000a  drwxr-xr-x. 2 root root        23 Nov 11 21:49 pkgconfig\u000a\u000aSigned-off-by: Jiri Olsa jolsa@kernel.org\u000a",
        "date" : "2019-11-12 22:49:45 +0100",
        "id" : "d4b3bf03d9c67324ff85f9d3c74b201b7e427615",
        "msg" : "Add libbcc-no-libbpf.so library",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          },
          {
            "editType" : "add",
            "file" : "cmake/FindLibBpf.cmake"
          },
          {
            "editType" : "edit",
            "file" : "CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt"
        ],
        "commitId" : "19c625e65f6726913ef435b1882d50da49bf43e0",
        "timestamp" : 1573595388000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jolsa",
          "fullName" : "jolsa"
        },
        "authorEmail" : "jolsa@kernel.org",
        "comment" : "Link test_libbcc directly with libbcc.so\u000a\u000aLinking with bcc-shared will use all the libraries in bcc-shared\u000awhich compose libbcc, instead of libbcc.so dynamic link.\u000a\u000aSigned-off-by: Jiri Olsa jolsa@kernel.org\u000a",
        "date" : "2019-11-12 22:49:48 +0100",
        "id" : "19c625e65f6726913ef435b1882d50da49bf43e0",
        "msg" : "Link test_libbcc directly with libbcc.so",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/CMakeLists.txt",
          "tests/cc/test_c_api.cc"
        ],
        "commitId" : "7ec8bde336af400fc691dba864b62e5733e82bb3",
        "timestamp" : 1573595388000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jolsa",
          "fullName" : "jolsa"
        },
        "authorEmail" : "jolsa@kernel.org",
        "comment" : "Add test_libbcc_no_libbpf test\u000a\u000aIt's the same code as for test_libbcc test,\u000abut linked with libbcc-no-libbpf.so library.\u000a\u000aAdded LIBBCC_NAME macro to be used in dynamic loader\u000atest where we need to provide the library name.\u000a\u000aSigned-off-by: Jiri Olsa jolsa@kernel.org\u000a",
        "date" : "2019-11-12 22:49:48 +0100",
        "id" : "7ec8bde336af400fc691dba864b62e5733e82bb3",
        "msg" : "Add test_libbcc_no_libbpf test",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "a6f658dfd3a74ce770f62972d16cda1fd8db35d9",
        "timestamp" : 1573662715000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Add a supplementary explanation to function `get_syscall_fnname` (#2593)\u000a\u000a* add a supplementary explanation to function `get_syscall_fnname`.\u000a* fix the contents\u000a",
        "date" : "2019-11-13 08:31:55 -0800",
        "id" : "a6f658dfd3a74ce770f62972d16cda1fd8db35d9",
        "msg" : "Add a supplementary explanation to function `get_syscall_fnname` (#2593)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_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",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "992e482b5d06c58888b3821a96a41e48aff678d0",
        "timestamp" : 1573681078000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "sync with latest libbpf (#2594)\u000a\u000aThe following helpers are sync'ed into bcc and will\u000abe available in linux 5.5.\u000a  bpf_probe_read_kernel\u000a  bpf_probe_read_kernel_str\u000a  bpf_probe_read_user\u000a  bpf_probe_read_user_str\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-11-13 13:37:58 -0800",
        "id" : "992e482b5d06c58888b3821a96a41e48aff678d0",
        "msg" : "sync with latest libbpf (#2594)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md",
          "src/cc/api/BPF.cc",
          "src/cc/api/BPF.h",
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "ccf8261e89eede7b6c9c949c1913610fe1bd9a5c",
        "timestamp" : 1573758748000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "add BPF::init_usdt function to init a single USDT so folks can handle partial init failure of list of USDTs.\u000a\u000amodify BPF::init so that failure doesn't leave the BPF object in a broken state such that subsequent inits will also fail\u000a",
        "date" : "2019-11-14 11:12:28 -0800",
        "id" : "ccf8261e89eede7b6c9c949c1913610fe1bd9a5c",
        "msg" : "add BPF::init_usdt function to init a single USDT so folks can handle partial init failure of list of USDTs.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/test_tools_smoke.py",
          "tools/compactsnoop.py",
          "tools/compactsnoop_example.txt",
          "tools/old/compactsnoop.py",
          "snapcraft/snapcraft.yaml",
          "man/man8/compactsnoop.8",
          "README.md"
        ],
        "commitId" : "15fbd7cd24e37bfda80326ecdb713be3cc063641",
        "timestamp" : 1573807647000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/ethercflow",
          "fullName" : "Zwb"
        },
        "authorEmail" : "ethercflow@gmail.com",
        "comment" : "add tool: compactsnoop\u000a",
        "date" : "2019-11-15 03:47:27 -0500",
        "id" : "15fbd7cd24e37bfda80326ecdb713be3cc063641",
        "msg" : "add tool: compactsnoop",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tools/compactsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tools_smoke.py"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "add",
            "file" : "man/man8/compactsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "snapcraft/snapcraft.yaml"
          },
          {
            "editType" : "add",
            "file" : "tools/old/compactsnoop.py"
          },
          {
            "editType" : "add",
            "file" : "tools/compactsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/reference_guide.md"
        ],
        "commitId" : "10c1a8303aba778707cd6875d2de1dd7e0a4eda3",
        "timestamp" : 1573970746000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs/reference_guide.md: update doc\u000a\u000avirtual_bpf.h instead of bpf.h\u000asrc/cc/compat/linux/bpf.h -> src/cc/compat/linux/virtual_bpf.h\u000a",
        "date" : "2019-11-16 22:05:46 -0800",
        "id" : "10c1a8303aba778707cd6875d2de1dd7e0a4eda3",
        "msg" : "docs/reference_guide.md: update doc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "98b8d0c833b51ca595b257d2c1afd3a6c53c4437",
        "timestamp" : 1573970776000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: update XDP driver list\u000a\u000aThere are a few more drivers supporting XDP now.\u000a\u000aSigned-off-by: Gary Lin <glin@suse.com>\u000a",
        "date" : "2019-11-16 22:06:16 -0800",
        "id" : "98b8d0c833b51ca595b257d2c1afd3a6c53c4437",
        "msg" : "docs: update XDP driver list",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/mountsnoop.py"
        ],
        "commitId" : "6ee245bd9d2d548bb82437a7a32740e7570737b8",
        "timestamp" : 1574051315000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix a bug in mountsnoop.py with 4.17+ kernels\u000a\u000ain 4.17+ kernels, syscall parameters are wrapped in the first\u000aparammeter in pt_regs. So put the 5th parameter in the\u000asyscall__ parameter list so it can be handled properly\u000aby the rewriter.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-11-17 20:28:35 -0800",
        "id" : "6ee245bd9d2d548bb82437a7a32740e7570737b8",
        "msg" : "fix a bug in mountsnoop.py with 4.17+ kernels",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/mountsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_elf.h"
        ],
        "commitId" : "b8ab98b272bc205108d777eb311610b22f1af133",
        "timestamp" : 1574052644000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Include stddef.h for size_t in bcc_elf.h\u000a\u000aSigned-off-by: Masanori Misono <m.misono760@gmail.com>\u000a",
        "date" : "2019-11-17 20:50:44 -0800",
        "id" : "b8ab98b272bc205108d777eb311610b22f1af133",
        "msg" : "Include stddef.h for size_t in bcc_elf.h",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/test_tools_smoke.py",
          "man/man8/lockstat.8",
          "tools/offwaketime.py",
          "tools/lockstat_example.txt",
          "snapcraft/snapcraft.yaml",
          "tools/lockstat.py",
          "README.md"
        ],
        "commitId" : "ac00ac5d7fec86524ff815360d0cda2ec583cf24",
        "timestamp" : 1574094503000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add lockstat tool\u000a\u000aAdding lockstat tool to trace kernel mutex lock events and\u000adisplay locks statistics and displays following data:\u000a\u000a                                  Caller   Avg Spin  Count   Max spin Total spin\u000a                      psi_avgs_work+0x2e       3675      5       5468      18379\u000a                     flush_to_ldisc+0x22       2833      2       4210       5667\u000a                       n_tty_write+0x30c       3914      1       3914       3914\u000a                               isig+0x5d       2390      1       2390       2390\u000a                   tty_buffer_flush+0x2a       1604      1       1604       1604\u000a                      commit_echoes+0x22       1400      1       1400       1400\u000a          n_tty_receive_buf_common+0x3b9       1399      1       1399       1399\u000a\u000a                                  Caller   Avg Hold  Count   Max hold Total hold\u000a                     flush_to_ldisc+0x22      42558      2      76135      85116\u000a                      psi_avgs_work+0x2e      14821      5      20446      74106\u000a          n_tty_receive_buf_common+0x3b9      12300      1      12300      12300\u000a                       n_tty_write+0x30c      10712      1      10712      10712\u000a                               isig+0x5d       3362      1       3362       3362\u000a                   tty_buffer_flush+0x2a       3078      1       3078       3078\u000a                      commit_echoes+0x22       3017      1       3017       3017\u000a\u000aEvery caller to using kernel's mutex is displayed on every line.\u000a\u000aFirst portion of lines show the lock acquiring data, showing the amount\u000aof time it took to acquired given lock.\u000a\u000a  'Caller'       - symbol acquiring the mutex\u000a  'Average Spin' - average time to acquire the mutex\u000a  'Count'        - number of times mutex was acquired\u000a  'Max spin'     - maximum time to acquire the mutex\u000a  'Total spin'   - total time spent in acquiring the mutex\u000a\u000aSecond portion of lines show the lock holding data, showing the amount\u000aof time it took to hold given lock.\u000a\u000a  'Caller'       - symbol holding the mutex\u000a  'Average Hold' - average time mutex was held\u000a  'Count'        - number of times mutex was held\u000a  'Max hold'     - maximum time mutex was held\u000a  'Total hold'   - total time spent in holding the mutex\u000a\u000aThis works by tracing mutex_lock/unlock kprobes, udating the lock stats\u000ain maps and processing them in the python part.\u000a\u000aExamples:\u000a    lockstats                           # trace system wide\u000a    lockstats -d 5                      # trace for 5 seconds only\u000a    lockstats -i 5                      # display stats every 5 seconds\u000a    lockstats -p 123                    # trace locks for PID 123\u000a    lockstats -t 321                    # trace locks for PID 321\u000a    lockstats -c pipe_                  # display stats only for lock callers with 'pipe_' substring\u000a    lockstats -S acq_count              # sort lock acquired results on acquired count\u000a    lockstats -S hld_total              # sort lock held results on total held time\u000a    lockstats -S acq_count,hld_total    # combination of above\u000a    lockstats -n 3                      # display 3 locks\u000a    lockstats -s 3                      # display 3 levels of stack\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2019-11-18 08:28:23 -0800",
        "id" : "ac00ac5d7fec86524ff815360d0cda2ec583cf24",
        "msg" : "Add lockstat tool",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "snapcraft/snapcraft.yaml"
          },
          {
            "editType" : "add",
            "file" : "tools/lockstat.py"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tools_smoke.py"
          },
          {
            "editType" : "add",
            "file" : "tools/lockstat_example.txt"
          },
          {
            "editType" : "add",
            "file" : "man/man8/lockstat.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_exception.h"
        ],
        "commitId" : "f0f19dbcc34f6246e75094457a268b35dea79149",
        "timestamp" : 1574094634000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "make TRY2 macro work outside of ebpf namespace (#2604)\u000a\u000amake TRY2 macro work outside of ebpf namespace\u000a",
        "date" : "2019-11-18 08:30:34 -0800",
        "id" : "f0f19dbcc34f6246e75094457a268b35dea79149",
        "msg" : "make TRY2 macro work outside of ebpf namespace (#2604)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_exception.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_exception.h"
        ],
        "commitId" : "3032347541d8b121598e220ec782aceb642ebf55",
        "timestamp" : 1574094679000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Make StatusTuple code and msg methods const (#2603)\u000a\u000aI ran into this while trying to write a method that takes a const StatusTuple reference, these methods should be marked const. I also fixed an unnecessary string copy in msg.\u000a",
        "date" : "2019-11-18 08:31:19 -0800",
        "id" : "3032347541d8b121598e220ec782aceb642ebf55",
        "msg" : "Make StatusTuple code and msg methods const (#2603)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_exception.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "f68d818085c2c26a88606d4976474a08cfe7c9ee",
        "timestamp" : 1574098483000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "update INSTALL.md for new llvm source compilation\u000a\u000aclang/llvm has moved from old svn with git mirror to\u000agithub based source control. The new github address is\u000a  https://github.com/llvm/llvm-project\u000awhich includes clang, llvm and other related projects.\u000a\u000aThis patch updated instruction how to build clang/llvm library\u000awith new llvm-project setup.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-11-18 09:34:43 -0800",
        "id" : "f68d818085c2c26a88606d4976474a08cfe7c9ee",
        "msg" : "update INSTALL.md for new llvm source compilation",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/runqslower.py"
        ],
        "commitId" : "65885f34d5ea1acb6a014615f1eea08fc6c5514d",
        "timestamp" : 1574114459000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/runqslower.py: Fix raw tracepoint code\u000a\u000aCloses: #2588\u000a\u000aIt is was observed that many unrelated process names\u000awere reported for the same pid.\u000a\u000aThe cause of the bug was the use of bpf_get_current_comm()\u000awhich operates on the current process which might already be\u000adifferent than the 'next' task we captured.\u000aThe fix is to use bpf_probe_read_str() instead.\u000a\u000aAlso removing dead code related to tgid extraction which is not\u000aused at all.\u000a",
        "date" : "2019-11-18 14:00:59 -0800",
        "id" : "65885f34d5ea1acb6a014615f1eea08fc6c5514d",
        "msg" : "tools/runqslower.py: Fix raw tracepoint code",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/runqslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "0272a3d5f3bc87e63aefe1078349be79c5afc651",
        "timestamp" : 1574667661000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: update helper functions of BPF_PROG_TYPE_SOCKET_FILTER\u000a\u000aSigned-off-by: Masanori Misono <m.misono760@gmail.com>\u000a",
        "date" : "2019-11-24 23:41:01 -0800",
        "id" : "0272a3d5f3bc87e63aefe1078349be79c5afc651",
        "msg" : "docs: update helper functions of BPF_PROG_TYPE_SOCKET_FILTER",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "docs/reference_guide.md",
          "tests/cc/CMakeLists.txt",
          "src/cc/table_storage.h",
          "tests/python/test_map_in_map.py",
          "src/cc/export/helpers.h",
          "src/cc/bpf_module.h",
          "src/python/bcc/table.py",
          "tests/cc/test_map_in_map.cc",
          "src/cc/api/BPFTable.cc",
          "src/cc/api/BPFTable.h",
          "src/cc/api/BPF.cc",
          "src/cc/bpf_module.cc",
          "src/cc/api/BPF.h",
          "src/cc/frontends/clang/b_frontend_action.h"
        ],
        "commitId" : "149c1c8857652997622fc2a30747a60e0c9c17dc",
        "timestamp" : 1574782653000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add map-in-map support\u000a\u000aAdd BPF_MAP_TYPE_HASH_OF_MAPS and BPF_MAP_TYPE_HASH_OF_MAPS\u000asupports in bcc. Two new constructs below are introduced\u000ato bpf program:\u000a  BPF_HASH_OF_MAPS(map_name, \"inner_map_name\", max_entries)\u000a  BPF_ARRAY_OF_MAPS(map_name, \"inner_map_name\", max_entries)\u000aIn the above, \"inner_map_name\" is for metadata purpose and there\u000amust be a map defined in bpf program with map name \"inner_map_name\".\u000a\u000aBoth python and C++ APIs are added.\u000a\u000aFor python, a new Table API get_fd() is introduced to get\u000athe fd of a map so that the fd can be used by a map-in-map\u000ado update. The get_fd() is already exposed as API function\u000ain C++. For C++, without get_fd(), we will need to\u000atemplatize basic functions like update_value etc, which\u000aI feed too heavy weight. Because of C++ using get_fd()\u000amechanism, so I exposed similar API on python side\u000afor parity reason.\u000a\u000aFor map-in-map, the inner map lookup/update/delete won't have\u000aexplicit map names. Considering map-in-map is not\u000aused very frequently, I feel looking primitive\u000abpf_map_{lookup,update,delete}_elem() probably okay,\u000aso I did not create any new bcc specific\u000aconstructs for this purpose.\u000a\u000aAdded both C++ and python test cases to show how to\u000ause the above two new map type in bcc.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-11-26 07:37:33 -0800",
        "id" : "149c1c8857652997622fc2a30747a60e0c9c17dc",
        "msg" : "Add map-in-map support",
        "paths" : [
          {
            "editType" : "add",
            "file" : "tests/python/test_map_in_map.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          },
          {
            "editType" : "edit",
            "file" : "src/python/bcc/table.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/table_storage.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_map_in_map.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.h"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bpf_module.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/json_map_decl_visitor.cc"
        ],
        "commitId" : "a1a04f49ac736bc0ddd341258b8a56f2a25d30c5",
        "timestamp" : 1574788036000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Do not traverse attributes during JSON generation (Fixes #2605)\u000a\u000aPreviously, __attribute__((aligned(sizeof(...)))) would cause the type\u000ainside sizeof() to be appended after the JSON type information for the\u000astruct in some clang versions, generating invalid JSON. Inhibit\u000aattribute traversal, since we only want to visit the fields.\u000a",
        "date" : "2019-11-26 09:07:16 -0800",
        "id" : "a1a04f49ac736bc0ddd341258b8a56f2a25d30c5",
        "msg" : "Do not traverse attributes during JSON generation (Fixes #2605)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/json_map_decl_visitor.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/trace.py",
          "tools/old/profile.py",
          "tools/deadlock.c",
          "tools/wakeuptime.py",
          "tools/stackcount.py",
          "tools/stacksnoop.lua",
          "tools/memleak.py"
        ],
        "commitId" : "90f2086c8dd073792b0be382944440e3d0f1977f",
        "timestamp" : 1574878194000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "do not use BPF_F_REUSE_STACKID incorrectly\u000a\u000aDo not use BPF_F_REUSE_STACKID if the stack id is used\u000atogether with process specific info like\u000apid/tgid/comm. Using BPF_F_REUSE_STACKID may cause\u000astack id pointing to a different stack later on.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-11-27 10:09:54 -0800",
        "id" : "90f2086c8dd073792b0be382944440e3d0f1977f",
        "msg" : "do not use BPF_F_REUSE_STACKID incorrectly",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/stackcount.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/wakeuptime.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/memleak.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/deadlock.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/stacksnoop.lua"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/lockstat.py"
        ],
        "commitId" : "ea8bbbf942a1a4275d434c62db7adc6136fc72f4",
        "timestamp" : 1575012824000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "fix bug for lockstat.py #347 (#2618)\u000a\u000afix bug for lockstat.py with map keys in stack instead of map value in\u000aorder to run in older kernels.\u000a",
        "date" : "2019-11-28 23:33:44 -0800",
        "id" : "ea8bbbf942a1a4275d434c62db7adc6136fc72f4",
        "msg" : "fix bug for lockstat.py #347 (#2618)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/lockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c"
        ],
        "commitId" : "feadea6d789f54e304e9c2f570ed87299e6f4e5e",
        "timestamp" : 1575178014000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Support a BPF program larger than BPF_MAXINSNS\u000a\u000aA privileged user can load bpf program whose size is at most\u000aBPF_COMPLEXITY_LIMIT_INSNS (which is larger than BPF_MAXINSNS) in Linux 5.3\u000a(https://github.com/torvalds/linux/commit/c04c0d2b968ac45d6ef020316808ef6c82325a82).\u000aCurrently, however, `bcc_prog_load_xattr()` return error if  a bpf\u000aprogram size is larger than BPF_MAXINSNS before loading the program. To\u000acope with this, change the function so that first trying to load a bpf\u000aprogram and print an error message if bpf_program_load_xattr() fails\u000awith -E2BIG.  This strategy is the same as libbpf's `load_program`\u000a(https://github.com/libbpf/libbpf/blob/9ef191ea7dca6815e75dab341f2f7a346d979c66/src/libbpf.c#L3792)\u000aThe Error message should use BPF_COMPLEXITY_LIMIT_INSNS when\u000aappropriate, but it is not defined in uapi headers yet.\u000a\u000aSigned-off-by: Masanori Misono <m.misono760@gmail.com>\u000a",
        "date" : "2019-11-30 21:26:54 -0800",
        "id" : "feadea6d789f54e304e9c2f570ed87299e6f4e5e",
        "msg" : "Support a BPF program larger than BPF_MAXINSNS",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/json_map_decl_visitor.cc",
          "tests/python/test_clang.py"
        ],
        "commitId" : "556d9ec9ca0c142d38b08c5d93420ab06df4e6e0",
        "timestamp" : 1575182053000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Use integer types for enums in JSON (Fixes #2615)\u000a\u000aThe JSON generated for enums wasn't being handled, and caused\u000aexceptions. Since the enum values aren't needed (and would've been\u000auseless without the associated numerical values, anyway), just use the\u000amatching integer type instead.\u000a",
        "date" : "2019-11-30 22:34:13 -0800",
        "id" : "556d9ec9ca0c142d38b08c5d93420ab06df4e6e0",
        "msg" : "Use integer types for enums in JSON (Fixes #2615)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/json_map_decl_visitor.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "cmake/FindLibBpf.cmake",
          "src/cc/CMakeLists.txt"
        ],
        "commitId" : "e09116d3e777782cfdf1a129f8ca8f2981505fb2",
        "timestamp" : 1575264670000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Use libbpf-static instead of libbpf-debugsource for CMAKE_USE_LIBBPF_PACKAGE\u000a\u000aCurrently when building with CMAKE_USE_LIBBPF_PACKAGE we assume\u000athat 'source' package is available to build libbcc_bpf libraries.\u000a\u000aHowever It turned on that using debugsource (in Fedora) package is\u000anot suitable or even possible, so we are switching to use the\u000alibbpf-static package instead.\u000a\u000aAdding libbpf-static package detection and removing source\u000apackage detection.\u000a\u000aUsing ar to extract objects from archive and linking them\u000awith both libbcc_bpf.so and libbcc_bpf.a.\u000a\u000aUsing always uapi headers from the latest libbpf Github repo,\u000abecause there are not packaged, but they are backwards compatible,\u000aso it's no problem to have older libbpf package with newer\u000auapi headers.\u000a\u000aSigned-off-by: Jiri Olsa <jolsa@kernel.org>\u000a",
        "date" : "2019-12-01 21:31:10 -0800",
        "id" : "e09116d3e777782cfdf1a129f8ca8f2981505fb2",
        "msg" : "Use libbpf-static instead of libbpf-debugsource for CMAKE_USE_LIBBPF_PACKAGE",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "cmake/FindLibBpf.cmake"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/filetop.8"
        ],
        "commitId" : "744b644e0d2677e0ffc774d8fefe63715670c455",
        "timestamp" : 1575355171000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "man: fix the field of filetop\u000a\u000aIn the man pages of filetop, the field of FILE is missing\u000a\u000aSigned-off-by: Kenta Tada <Kenta.Tada@sony.com>\u000a",
        "date" : "2019-12-02 22:39:31 -0800",
        "id" : "744b644e0d2677e0ffc774d8fefe63715670c455",
        "msg" : "man: fix the field of filetop",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/filetop.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/xfsslower.8",
          "man/man8/fileslower.8",
          "man/man8/nfsslower.8",
          "man/man8/btrfsslower.8",
          "man/man8/ext4slower.8",
          "man/man8/zfsslower.8"
        ],
        "commitId" : "0bca64555ab30b37d23f6898f2eec4528d4d4ec7",
        "timestamp" : 1575355278000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "man: fix the explanation of filename\u000a\u000aBelow filenames currently come from dentry->d_name.name\u000a* btrfsslower\u000a* ext4slower\u000a* fileslower\u000a* nfsslower\u000a* xfsslower\u000a* zfsslower\u000a\u000aSigned-off-by: Kenta Tada <Kenta.Tada@sony.com>\u000a",
        "date" : "2019-12-02 22:41:18 -0800",
        "id" : "0bca64555ab30b37d23f6898f2eec4528d4d4ec7",
        "msg" : "man: fix the explanation of filename",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/fileslower.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/btrfsslower.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/zfsslower.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/nfsslower.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/xfsslower.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/ext4slower.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/mysqld_qslower.py"
        ],
        "commitId" : "1f7b6cd3fdaec9a49b3534539044f31f6694ebe9",
        "timestamp" : 1575410934000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Correction to Usage text.\u000a",
        "date" : "2019-12-03 14:08:54 -0800",
        "id" : "1f7b6cd3fdaec9a49b3534539044f31f6694ebe9",
        "msg" : "Correction to Usage text.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/mysqld_qslower.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/runqslower.8"
        ],
        "commitId" : "b040635d86fa7eba195ec3f43f91a6f72806fb05",
        "timestamp" : 1575475679000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "man: fix a reference to runqlat in runqslower man page\u000a\u000aThe runqslower man page obviously derived from the man page of\u000arunqlat. It seems that a reference to runqlat in the NAME section has\u000abeen overlooked.\u000a",
        "date" : "2019-12-04 08:07:59 -0800",
        "id" : "b040635d86fa7eba195ec3f43f91a6f72806fb05",
        "msg" : "man: fix a reference to runqlat in runqslower man page",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/runqslower.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/python/test_tools_smoke.py",
          "man/man8/lockstat.8",
          "tools/klockstat.py",
          "tools/lockstat_example.txt",
          "snapcraft/snapcraft.yaml",
          "man/man8/klockstat.8",
          "tools/lockstat.py",
          "tools/klockstat_example.txt",
          "README.md"
        ],
        "commitId" : "71f9c2a7469cc73bdba4b3b9f49991930ac572f9",
        "timestamp" : 1575562303000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "rename tool lockstat.py to klockstat.py\u000a\u000aThe current lockstat.py is tracing three kernel functions\u000a  mutex_lock_enter(), mutex_unlock_enter(), mutex_lock_return()\u000afor kernel locking statistics.\u000a\u000aThere are some other efforts trying to get user lock stats by\u000atracing e.g. pthread locking primitives. For example,\u000aSasha Goldshtein's linux-tracing-workshop\u000a   https://github.com/goldshtn/linux-tracing-workshop\u000ais referenced in bcc/docs/tutorial_bcc_python_developer.md.\u000aIt has a tool called lockstat.py which traces pthread_mutex_init\u000ato collect some lock statistics for userspace locks.\u000a\u000aIn bcc, in the past, we also had an effort to gather userspace\u000alock statistics with the same name lockstat.py.\u000a   https://github.com/iovisor/bcc/pull/1268\u000a\u000aIn the future, bcc could have a lockstat tool tracing userspace\u000alocks. So let us rename the current lockstat.py to klockstat.py\u000ato clearly express its scope.\u000a",
        "date" : "2019-12-05 08:11:43 -0800",
        "id" : "71f9c2a7469cc73bdba4b3b9f49991930ac572f9",
        "msg" : "rename tool lockstat.py to klockstat.py",
        "paths" : [
          {
            "editType" : "delete",
            "file" : "tools/lockstat_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "snapcraft/snapcraft.yaml"
          },
          {
            "editType" : "add",
            "file" : "tools/klockstat_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "README.md"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_tools_smoke.py"
          },
          {
            "editType" : "add",
            "file" : "man/man8/klockstat.8"
          },
          {
            "editType" : "delete",
            "file" : "man/man8/lockstat.8"
          },
          {
            "editType" : "delete",
            "file" : "tools/lockstat.py"
          },
          {
            "editType" : "add",
            "file" : "tools/klockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/tracing/stacksnoop.py",
          "examples/lua/memleak.lua",
          "examples/tracing/mallocstacks.py",
          "examples/lua/offcputime.lua"
        ],
        "commitId" : "e7ddcbcc5e939ac91e16b42fca303c31816590a5",
        "timestamp" : 1575653332000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "remove inproper usage of BPF_F_REUSE_STACKID in examples\u000a\u000aWhen the application bundles stack id with process specific\u000ainfo (like pid, comm, etc.), BPF_F_REUSE_STACKID should not\u000abe used as it may associate wrong stack with processes.\u000a\u000aThis patch corrected several such uses in examples/\u000adirectory.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-12-06 09:28:52 -0800",
        "id" : "e7ddcbcc5e939ac91e16b42fca303c31816590a5",
        "msg" : "remove inproper usage of BPF_F_REUSE_STACKID in examples",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/lua/offcputime.lua"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/stacksnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/mallocstacks.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/lua/memleak.lua"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/trace.8",
          "tools/trace.py",
          "tools/trace_example.txt"
        ],
        "commitId" : "9ce7b7e9ff3c8f00950f15ed0f0c73b6fa4e1dcd",
        "timestamp" : 1575660427000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/trace.py: add process name filtering\u000a\u000aporting from opensnoop\u000a\u000aSigned-off-by: tty5 <tty.fqq@gmail.com>\u000a",
        "date" : "2019-12-06 11:27:07 -0800",
        "id" : "9ce7b7e9ff3c8f00950f15ed0f0c73b6fa4e1dcd",
        "msg" : "tools/trace.py: add process name filtering",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/trace.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/trace.8",
          "tools/trace.py",
          "tools/trace_example.txt"
        ],
        "commitId" : "5cf529eeb448fa5422f305727ee4be7d01ebf391",
        "timestamp" : 1575660427000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/trace.py: add msg filter of event\u000a\u000aIn the normal develop, will produce many event on the same tracepoint,\u000alike do_sys_open, a executable program will open many files but\u000adeveloper only has interesting on the specific file. So this filter\u000awill\u000ahelp developer to get their interesting msg\u000a\u000aSigned-off-by: tty5 <tty.fqq@gmail.com>\u000a",
        "date" : "2019-12-06 11:27:07 -0800",
        "id" : "5cf529eeb448fa5422f305727ee4be7d01ebf391",
        "msg" : "tools/trace.py: add msg filter of event",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/trace.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "cmake/clang_libs.cmake",
          "src/cc/frontends/b/codegen_llvm.cc"
        ],
        "commitId" : "f9f1050f0d61e56ed43df0f1338a30389bfcc2ba",
        "timestamp" : 1576000660000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix a compilation error with latest llvm 10\u000a\u000aTwo issues:\u000aFirst, the recent llvm commit \"[Alignment][NFC] CreateMemSet use MaybeAlign\"\u000a(https://reviews.llvm.org/D71213) changed IR/IRBuilder.h\u000aCreateMemSet() signature which caused the following compilation error:\u000a  [ 16%] Building CXX object src/cc/frontends/b/CMakeFiles/b_frontend.dir/codegen_llvm.cc.o\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc: In member function\u000a  ‘virtual ebpf::StatusTuple ebpf::cc::CodegenLLVM::visit_table_index_expr_node(ebpf::cc::TableIndexExprNode*)’:\u000a  /home/yhs/work/bcc/src/cc/frontends/b/codegen_llvm.cc:824:96: error: no matching function for call to\u000a  ‘llvm::IRBuilder<>::CreateMemSet(llvm::Value*&, llvm::ConstantInt*, llvm::ConstantInt*, int)’\u000a       B.CreateMemSet(leaf_ptr, B.getInt8(0), B.getInt64(n->table_->leaf_id()->bit_width_ >> 3), 1);\u000a                                                                                                ^\u000a  ....\u000a  /home/yhs/work/llvm-project/llvm/build/install/include/llvm/IR/IRBuilder.h:460:13: note: candidate:\u000a  llvm::CallInst* llvm::IRBuilderBase::CreateMemSet(llvm::Value*, llvm::Value*, llvm::Value*,\u000a  llvm::MaybeAlign, bool, llvm::MDNode*, llvm::MDNode*, llvm::MDNode*)\u000a     CallInst *CreateMemSet(Value *Ptr, Value *Val, Value *Size, MaybeAlign Align,\u000a               ^~~~~~~~~~~~\u000a  /home/yhs/work/llvm-project/llvm/build/install/include/llvm/IR/IRBuilder.h:460:13: note:\u000a  no known conversion for argument 4 from ‘int’ to ‘llvm::MaybeAlign’\u000a\u000aSecond, the commit \"[OpenMP][NFCI] Introduce llvm/IR/OpenMPConstants.h\"\u000a(https://reviews.llvm.org/D69853) introduced a new library \"FrontendOpenMP\"\u000awhich is used by clang Parser, and caused the following errors:\u000a  [ 99%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_hash_table.cc.o\u000a  /home/yhs/work/llvm-project/llvm/build/install/lib/libclangParse.a(ParseOpenMP.cpp.o): In function\u000a  `clang::Parser::ParseOpenMPDeclareReductionDirective(clang::AccessSpecifier)':\u000a  ParseOpenMP.cpp:(.text._ZN5clang6Parser36ParseOpenMPDeclareReductionDirectiveENS_15AccessSpecifierE+0x86):\u000a  undefined reference to `llvm::omp::getOpenMPDirectiveName(llvm::omp::Directive)'\u000a\u000aThis patch fixed both issues and bcc can compile with latest llvm 10.\u000a",
        "date" : "2019-12-10 09:57:40 -0800",
        "id" : "f9f1050f0d61e56ed43df0f1338a30389bfcc2ba",
        "msg" : "fix a compilation error with latest llvm 10",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "cmake/clang_libs.cmake"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/codegen_llvm.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/compat/linux/virtual_bpf.h",
          "introspection/CMakeLists.txt",
          "src/cc/libbpf"
        ],
        "commitId" : "e6bd4edc389aa7876ba89dae48eb27d4e59687a2",
        "timestamp" : 1576002254000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf\u000a\u000async with latest upstream libbpf version 0.0.6.\u000a",
        "date" : "2019-12-10 10:24:14 -0800",
        "id" : "e6bd4edc389aa7876ba89dae48eb27d4e59687a2",
        "msg" : "sync with latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "introspection/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "debian/changelog"
        ],
        "commitId" : "368a5b0714961953f3e3f61607fa16cb71449c1b",
        "timestamp" : 1576027176000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "debian changelog for v0.12.0 tag\u000a\u000athe main changes from v0.11.0 to v0.12.0 tag:\u000a  * Support for kernel up to 5.4\u000a  * klockstat tool to track kernel mutex lock statistics\u000a  * cmake option CMAKE_USE_LIBBPF_PACKAGE to build a bcc shared library\u000a    linking with distro libbpf_static.a\u000a  * new map.lookup_or_try_init() API to remove hidden return in\u000a    map.lookup_or_init()\u000a  * BPF_ARRAY_OF_MAPS and BPF_HASH_OF_MAPS support\u000a  * support symbol offset for uprobe in both C++ and python API,\u000a    kprobe already has the support\u000a  * bug fixes for trace.py, tcpretrans.py, runqslower.py, etc.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-12-10 17:19:36 -0800",
        "id" : "368a5b0714961953f3e3f61607fa16cb71449c1b",
        "msg" : "debian changelog for v0.12.0 tag",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "debian/changelog"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/python/bcc/__init__.py"
        ],
        "commitId" : "2283996f0acd80c304541540570825da7fae77d9",
        "timestamp" : 1576082596000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix s390 kprobes support\u000a\u000aEver since Linux kernel commit aa0d6e70d, kprobes on s390 could no longer\u000abe found due to a change in symbol names.\u000aSymptom:\u000a  $ ./tools/execsnoop.py\u000a  cannot attach kprobe, probe entry may not exist\u000a  [...]\u000a\u000aSigned-off-by: Stefan Raspl <raspl@linux.ibm.com>\u000a",
        "date" : "2019-12-11 08:43:16 -0800",
        "id" : "2283996f0acd80c304541540570825da7fae77d9",
        "msg" : "Fix s390 kprobes support",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/python/bcc/__init__.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/filetop.py"
        ],
        "commitId" : "3106a82f2cbce9be7c31da44cd173c2ac88c7e21",
        "timestamp" : 1576167171000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix -h output for --sort option\u000a\u000aThis fixes a regression from c2b371d56b8bbaf9c7d01b88830193ecd1ee4e12 where the author forgot to update the help output.\u000a",
        "date" : "2019-12-12 08:12:51 -0800",
        "id" : "3106a82f2cbce9be7c31da44cd173c2ac88c7e21",
        "msg" : "fix -h output for --sort option",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/filetop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/biolatency.8"
        ],
        "commitId" : "05a09ea981cc5ed5021b194c3b2e2ea32c55e4b5",
        "timestamp" : 1576167196000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Improve wording on how latency is measured\u000a",
        "date" : "2019-12-12 08:13:16 -0800",
        "id" : "05a09ea981cc5ed5021b194c3b2e2ea32c55e4b5",
        "msg" : "Improve wording on how latency is measured",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/biolatency.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/klockstat.py",
          "man/man8/klockstat.8"
        ],
        "commitId" : "c71394a9b6a5f6e98aef854ca5aa018a4ed733bf",
        "timestamp" : 1576680243000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "klockstat: fix caller filter\u000a\u000a- args.caller needs to be bytes not string\u000a- clarify man page a bit\u000a",
        "date" : "2019-12-18 06:44:03 -0800",
        "id" : "c71394a9b6a5f6e98aef854ca5aa018a4ed733bf",
        "msg" : "klockstat: fix caller filter",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/klockstat.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf.c"
        ],
        "commitId" : "0aca2c71c9b9e6b3d3335b6df288ad01a09c3ed6",
        "timestamp" : 1576810659000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Remove kretprobe__ prefix from program names\u000a\u000aSuch prefixes are currently removed for kprobes, tracepoints, and raw\u000atracepoints, but not for kretprobes.  This commit removes it for\u000akretprobe as well, for consistency.\u000a\u000aSigned-off-by: Paul Chaignon <paul.chaignon@orange.com>\u000a",
        "date" : "2019-12-19 18:57:39 -0800",
        "id" : "0aca2c71c9b9e6b3d3335b6df288ad01a09c3ed6",
        "msg" : "Remove kretprobe__ prefix from program names",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "examples/cgroupid/cgroupid.c",
          "tools/opensnoop_example.txt",
          ".gitignore",
          "docs/filtering_by_cgroups.md",
          "tools/opensnoop.py",
          "tools/execsnoop_example.txt",
          "tools/execsnoop.py",
          "examples/cgroupid/Makefile",
          "examples/cgroupid/Dockerfile"
        ],
        "commitId" : "b2aa29fa3269ec54b2c4d95a55559deb4c32b7b6",
        "timestamp" : 1576896776000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools: cgroup filtering in execsnoop/opensnoop\u000a\u000aAdd a new option --cgroupmap in execsnoop and opensnoop to only display\u000aresults from processes that belong to one of the cgroups whose id,\u000areturned by bpf_get_current_cgroup_id(), is in a pinned BPF hash map.\u000a\u000aExamples of commands:\u000a    # opensnoop --cgroupmap /sys/fs/bpf/test01\u000a    # execsnoop --cgroupmap /sys/fs/bpf/test01\u000a\u000aCgroup ids can be discovered in userspace by the system call\u000aname_to_handle_at(); an example of C program doing that is available in\u000aexamples/cgroupid/cgroupid.c.\u000a\u000aMore complete documentation is added in docs/filtering_by_cgroups.md\u000a\u000aThe documentation is independent from Kubernetes. However, my goal is to\u000ause this feature in Kubernetes: I am preparing to use this in Inspektor\u000aGadget to select specific Kubernetes pods, depending on a Kubernetes\u000alabel selector. Kubernetes pods matching the label selector can come and\u000ago during the execution of the bcc tools; Inspektor Gadget is updating\u000athe BPF hash map used by the bcc tools accordingly.\u000a",
        "date" : "2019-12-20 18:52:56 -0800",
        "id" : "b2aa29fa3269ec54b2c4d95a55559deb4c32b7b6",
        "msg" : "tools: cgroup filtering in execsnoop/opensnoop",
        "paths" : [
          {
            "editType" : "add",
            "file" : "examples/cgroupid/Dockerfile"
          },
          {
            "editType" : "add",
            "file" : "docs/filtering_by_cgroups.md"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/opensnoop_example.txt"
          },
          {
            "editType" : "add",
            "file" : "examples/cgroupid/cgroupid.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/execsnoop_example.txt"
          },
          {
            "editType" : "add",
            "file" : "examples/cgroupid/Makefile"
          },
          {
            "editType" : "edit",
            "file" : ".gitignore"
          },
          {
            "editType" : "edit",
            "file" : "tools/execsnoop.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "introspection/CMakeLists.txt",
          "src/cc/libbpf",
          "src/cc/CMakeLists.txt"
        ],
        "commitId" : "8174c0ae5541d4c9b2b3a4d407d7ea527946b641",
        "timestamp" : 1576910369000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf\u000a\u000aalso add dependency of zlib in a couple of places\u000aas libbpf starts to use zlib directly.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-12-20 22:39:29 -0800",
        "id" : "8174c0ae5541d4c9b2b3a4d407d7ea527946b641",
        "msg" : "sync with latest libbpf",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "introspection/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/trace.py"
        ],
        "commitId" : "8bb4e473bac87e65c9aaa51c9e90e2f98bb25acc",
        "timestamp" : 1576951560000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/trace.py: flush stdout for each event\u000a",
        "date" : "2019-12-21 10:06:00 -0800",
        "id" : "8bb4e473bac87e65c9aaa51c9e90e2f98bb25acc",
        "msg" : "tools/trace.py: flush stdout for each event",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/trace.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "cmake/version.cmake"
        ],
        "commitId" : "977a7e3a568c4c929fabeb4a025528d9b6f1e84c",
        "timestamp" : 1577385586000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "change version.cmake to check all tags\u000a\u000aFix issue #2666\u000a\u000aCurrently, in master where latest tag is v0.12.0,\u000athe build still says is it v0.11.0.\u000a\u000a  [ben@centos bcc]$ cd build/\u000a  [ben@centos build]$ cmake .. -DCMAKE_INSTALL_PREFIX=/usr\u000a  -- Latest recognized Git tag is v0.11.0\u000a\u000aThe reason is the git_describe by default only checks\u000aannotated tag while tag v0.12.0 is tagged through\u000agithub release process which just tags whatever the\u000atop of the master.\u000a\u000aMaking git_describe to check all tags fixed the issue.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2019-12-26 10:39:46 -0800",
        "id" : "977a7e3a568c4c929fabeb4a025528d9b6f1e84c",
        "msg" : "change version.cmake to check all tags",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "cmake/version.cmake"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/filelife.8",
          "man/man8/gethostlatency.8",
          "man/man8/syncsnoop.8",
          "man/man8/mountsnoop.8",
          "man/man8/biosnoop.8",
          "man/man8/drsnoop.8",
          "man/man8/killsnoop.8",
          "man/man8/statsnoop.8",
          "man/man8/bashreadline.8",
          "man/man8/opensnoop.8"
        ],
        "commitId" : "4f0a887a1530c716190454b824a7f003fde8b9e8",
        "timestamp" : 1577482586000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "man: fix required kernel version in man pages\u000a\u000aSeveral man pages state that Linux 4.5 is required because the tool\u000arelies on the bpf_perf_event_output helper.  However,\u000abpf_perf_event_output was introduced in Linux 4.4.\u000a\u000aIn addition, mountsnoop requires Linux 4.8 because it now uses\u000athe bpf_get_current_task helper.\u000a\u000aSigned-off-by: Paul Chaignon <paul.chaignon@orange.com>\u000a",
        "date" : "2019-12-27 13:36:26 -0800",
        "id" : "4f0a887a1530c716190454b824a7f003fde8b9e8",
        "msg" : "man: fix required kernel version in man pages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/drsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/filelife.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/killsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/opensnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/statsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/syncsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/bashreadline.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/mountsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/biosnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/gethostlatency.8"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/CMakeLists.txt"
        ],
        "commitId" : "df591fb5970392359b860945b754d6c7cfce1d2e",
        "timestamp" : 1577677853000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/casparant",
          "fullName" : "Caspar Zhang"
        },
        "authorEmail" : "caspar@linux.alibaba.com",
        "comment" : "fix libbpf_uapi path typo\u000a\u000aA typo occured in libbpf_uapi path from src/cc/CMakeLists.txt which\u000amade compat linux uapi headers failed to copy.\u000a\u000aSigned-off-by: Caspar Zhang <caspar@linux.alibaba.com>\u000a",
        "date" : "2019-12-30 11:50:53 +0800",
        "id" : "df591fb5970392359b860945b754d6c7cfce1d2e",
        "msg" : "fix libbpf_uapi path typo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/CMakeLists.txt"
        ],
        "commitId" : "dc336aa42dee99e3b38b8c760c39cc8fafe9deca",
        "timestamp" : 1577996597000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Package static archives, closes #1938\u000a\u000aThis should help embed libbcc into bpftrace:\u000a\u000a* https://github.com/iovisor/bpftrace/issues/342\u000a\u000aAs well as other tools like ebpf_exporter, so that there is no longer\u000aa requirement to have a particular version libbcc installed.\u000a",
        "date" : "2020-01-02 12:23:17 -0800",
        "id" : "dc336aa42dee99e3b38b8c760c39cc8fafe9deca",
        "msg" : "Package static archives, closes #1938",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_map_in_map.cc"
        ],
        "commitId" : "5098c9dd2538d6256a10f1a67a36ebc867549e7f",
        "timestamp" : 1577996619000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix test_map_in_map.cc compilation error\u000a\u000afix issue #2679 where test_map_in_map.cc has a\u000acompilation error on ppc64le due to conflicting\u000atype __u64. Let us just remove the typedef.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-02 12:23:39 -0800",
        "id" : "5098c9dd2538d6256a10f1a67a36ebc867549e7f",
        "msg" : "fix test_map_in_map.cc compilation error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_map_in_map.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_btf.cc"
        ],
        "commitId" : "e47f9d0294a23fe125e577a5649c936ea7d6f814",
        "timestamp" : 1578009926000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sanitize btf VAR and DATASEC types\u000a\u000abcc does not use these types yet. Let us sanitize them\u000awith int/void-pointer types so old kernels can continue\u000ato work with latest llvm compiler.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-02 16:05:26 -0800",
        "id" : "e47f9d0294a23fe125e577a5649c936ea7d6f814",
        "msg" : "sanitize btf VAR and DATASEC types",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_btf.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "man/man8/runqslower.8",
          "tools/runqslower.py",
          "tools/runqslower_example.txt"
        ],
        "commitId" : "db8264413135c808bd5d530537e9cccabf6186a3",
        "timestamp" : 1578029844000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "tools/runqslower.py: Option for --pid or --tid (#2635)\u000a\u000a* tools/runqslower.py: Option for --pid or --tid\u000a\u000aCloses: #2607\u000a\u000aOption for --pid or --tid tracing.\u000aEnable group leader level tracing.\u000a* --pid <pid>:\u000a    will trace every task that has <pid> as group leader.\u000a    Meaning it will trace the parent and its direct children.\u000a* --tid <tid>:\u000a    will trace the given thread\u000a* Reporting TID instead of PID in the report column.\u000a* Update the example file to reflect the TID/PID change\u000a",
        "date" : "2020-01-02 21:37:24 -0800",
        "id" : "db8264413135c808bd5d530537e9cccabf6186a3",
        "msg" : "tools/runqslower.py: Option for --pid or --tid (#2635)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "man/man8/runqslower.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/runqslower.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/runqslower_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPFTable.h",
          "src/cc/frontends/clang/b_frontend_action.cc",
          "tests/cc/CMakeLists.txt",
          "tests/cc/test_sk_storage.cc",
          "src/cc/api/BPF.h",
          "src/cc/export/helpers.h"
        ],
        "commitId" : "c6b287ca4ca30de94d1082ebed0a7330796b717a",
        "timestamp" : 1578029878000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "support BPF_MAP_TYPE_SK_STORAGE map\u000a\u000akernel sk local storage is introduced at 5.2.\u000a  https://github.com/torvalds/linux/commit/6ac99e8f23d4b10258406ca0dd7bffca5f31da9d\u000athis patch supports BPF_MAP_TYPE_SK_STORAGE in bcc.\u000atested C++ user space APIs and loading of the bpf programs\u000ausing helpers map.sk_storage_get() and map.sk_storage_delete().\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-02 21:37:58 -0800",
        "id" : "c6b287ca4ca30de94d1082ebed0a7330796b717a",
        "msg" : "support BPF_MAP_TYPE_SK_STORAGE map",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.h"
          },
          {
            "editType" : "add",
            "file" : "tests/cc/test_sk_storage.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/CMakeLists.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/offcputime.py"
        ],
        "commitId" : "909ada95ce59530cb205a96413167bb0c5074739",
        "timestamp" : 1578034214000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "tools/offcputime.py: Redundatn arg check\u000a\u000apid/tid is already set to be mutually exclusive in\u000apython's arg parser so no need for this check manually.\u000a",
        "date" : "2020-01-02 22:50:14 -0800",
        "id" : "909ada95ce59530cb205a96413167bb0c5074739",
        "msg" : "tools/offcputime.py: Redundatn arg check",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/offcputime.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "LINKS.md"
        ],
        "commitId" : "d79628569b039f3efe8bdb09505005bb388b4eb7",
        "timestamp" : 1578070961000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Links to 3 articles on Linux tracing using bcc\u000a",
        "date" : "2020-01-03 09:02:41 -0800",
        "id" : "d79628569b039f3efe8bdb09505005bb388b4eb7",
        "msg" : "Links to 3 articles on Linux tracing using bcc",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "LINKS.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/frontends/clang/b_frontend_action.cc",
          "tests/python/test_clang.py"
        ],
        "commitId" : "1a780e97ff6678583c5398230c579cc81cfbf2bb",
        "timestamp" : 1578291313000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "rewriter: Fix tracking of pointers with several indirections\u000a\u000aThe rewriter tracks, with nb_derefs, the number of indirections of\u000aexternal pointers, to rewrite only the appropriate dereference into a call\u000ato bpf_probe_read.\u000a\u000aIn ProbeChecker, however, nb_derefs has a different meaning: it counts\u000athe number of dereferences encountered.  This difference resulted in an\u000aerror when ProbeChecker is traversing the right-hand side of an\u000aassignment.  This commit fixes the error and adds tests for the two\u000acases of assignments: when the right-hand side is an external pointer\u000awith several indirection levels and when it is a call to a function\u000areturning an external pointer with several indirection levels.\u000a\u000aThis commit also changes ProbeSetter and assignsExtPtr to count\u000adereferences instead of addrof in an effort to use nb_derefs more\u000aconsistently across the code to mean \"number of dereferences needed to get\u000ato the external pointer\".\u000a\u000aSigned-off-by: Paul Chaignon <paul.chaignon@orange.com>\u000a",
        "date" : "2020-01-05 22:15:13 -0800",
        "id" : "1a780e97ff6678583c5398230c579cc81cfbf2bb",
        "msg" : "rewriter: Fix tracking of pointers with several indirections",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/clang/b_frontend_action.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/test_clang.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "1b2be41a090cb66e049911de47ea02b78bf85caf",
        "timestamp" : 1578327944000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Add Ubuntu Eon incompatibility note\u000a\u000aPackages are currently broken on Ubuntu Eon. See #2676 and #2678.\u000a",
        "date" : "2020-01-06 08:25:44 -0800",
        "id" : "1b2be41a090cb66e049911de47ea02b78bf85caf",
        "msg" : "Add Ubuntu Eon incompatibility note",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "590ac9dcb67aff673b38855b76eaf45b5269fd41",
        "timestamp" : 1578350795000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Ubuntu Eon build dependencies and version numbers\u000a\u000a- Add updated list of dependencies to build on Ubuntu Eon (19.10)\u000a- Add Ubuntu version numbers for increased clarity\u000a- Capitalize release names to match official branding\u000a",
        "date" : "2020-01-06 14:46:35 -0800",
        "id" : "590ac9dcb67aff673b38855b76eaf45b5269fd41",
        "msg" : "Ubuntu Eon build dependencies and version numbers",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/api/BPFTable.cc"
        ],
        "commitId" : "c707a55ef164f9072688fd4cf9e7ca7ac20b8fc4",
        "timestamp" : 1578377889000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "avoid complex expression in struct member initializer\u000a\u000aSome old compiler may complain about this. Let us only use simple expression.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-06 22:18:09 -0800",
        "id" : "c707a55ef164f9072688fd4cf9e7ca7ac20b8fc4",
        "msg" : "avoid complex expression in struct member initializer",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPFTable.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/solisten_example.txt",
          "tools/old/profile.py",
          "src/cc/export/helpers.h",
          "tools/runqlen_example.txt",
          "tools/offcputime.py",
          "man/man8/filetop.8",
          "tests/lua/luaunit.lua",
          "src/cc/libbpf.c",
          "tools/tcplife.lua",
          "examples/cpp/TCPSendStack.cc",
          "tools/compactsnoop.py",
          "tools/offwaketime.py",
          "tools/compactsnoop_example.txt",
          "tools/klockstat.py",
          "man/man8/dbslower.8",
          "src/cc/libbpf.h",
          "tools/capable.py",
          "examples/networking/http_filter/http-parse-complete.py",
          "man/man8/runqlen.8",
          "src/cc/frontends/b/parser.yy",
          "src/cc/frontends/b/codegen_llvm.cc",
          "tools/profile.py",
          "docs/reference_guide.md",
          "examples/tracing/dddos.py",
          "tools/reset-trace.sh",
          "tools/cachetop.py",
          "tools/tcpstates.py",
          "src/cc/bcc_elf.h",
          "tests/cc/test_perf_event.cc",
          "tools/inject.py",
          "tools/tcplife_example.txt",
          "tools/tcpstates_example.txt",
          "src/cc/frontends/p4/compiler/ebpfTable.py",
          "src/cc/api/BPF.cc",
          "examples/networking/http_filter/http-parse-complete.c",
          "man/man8/criticalstat.8",
          "tests/python/include/folly/tracing/StaticTracepoint-ELF.h",
          "tools/tcpaccept.py",
          "tools/criticalstat_example.txt",
          "tools/nfsslower.py",
          "tools/tcpsubnet_example.txt",
          "tools/tcplife.py",
          "tools/tcptracer_example.txt",
          "tools/reset-trace_example.txt",
          "man/man8/compactsnoop.8"
        ],
        "commitId" : "c14d02a521cdeddc54a1189cd66a90cbd632a9a5",
        "timestamp" : 1578533358000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "yhs@fb.com",
        "comment" : "Fix a bunch of typos (#2693)\u000a\u000afix a bunch of types in man pages, docs, tools, tests, src and examples.\u000a",
        "date" : "2020-01-08 17:29:18 -0800",
        "id" : "c14d02a521cdeddc54a1189cd66a90cbd632a9a5",
        "msg" : "Fix a bunch of typos (#2693)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-complete.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/p4/compiler/ebpfTable.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/networking/http_filter/http-parse-complete.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/offwaketime.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/tracing/dddos.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/cachetop.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "examples/cpp/TCPSendStack.cc"
          },
          {
            "editType" : "edit",
            "file" : "tools/runqlen_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/codegen_llvm.cc"
          },
          {
            "editType" : "edit",
            "file" : "tools/criticalstat_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/dbslower.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpstates.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcptracer_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/offcputime.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/runqlen.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/compactsnoop_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/nfsslower.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/filetop.8"
          },
          {
            "editType" : "edit",
            "file" : "tests/lua/luaunit.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/klockstat.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_elf.h"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpstates_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tools/reset-trace.sh"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpsubnet_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "docs/reference_guide.md"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/criticalstat.8"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/api/BPF.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/frontends/b/parser.yy"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.lua"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "tools/old/profile.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/solisten_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_perf_event.cc"
          },
          {
            "editType" : "edit",
            "file" : "tests/python/include/folly/tracing/StaticTracepoint-ELF.h"
          },
          {
            "editType" : "edit",
            "file" : "tools/inject.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcpaccept.py"
          },
          {
            "editType" : "edit",
            "file" : "tools/tcplife_example.txt"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.h"
          },
          {
            "editType" : "edit",
            "file" : "tools/capable.py"
          },
          {
            "editType" : "edit",
            "file" : "man/man8/compactsnoop.8"
          },
          {
            "editType" : "edit",
            "file" : "tools/compactsnoop.py"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/export/helpers.h"
          },
          {
            "editType" : "edit",
            "file" : "tools/reset-trace_example.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_debug.cc"
        ],
        "commitId" : "9c32c359637df243269ae871f50a6837aee0ceb0",
        "timestamp" : 1578609091000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
          "fullName" : "noreply"
        },
        "authorEmail" : "noreply@github.com",
        "comment" : "update usage of MCInstPrinter printInst() for llvm10 (#2696)\u000a\u000a",
        "date" : "2020-01-09 14:31:31 -0800",
        "id" : "9c32c359637df243269ae871f50a6837aee0ceb0",
        "msg" : "update usage of MCInstPrinter printInst() for llvm10 (#2696)",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_debug.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "03e0d26483e6165227b1150a0418664e8bbcdb80",
        "timestamp" : 1578609122000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: add BPF trampoline to the kernel features\u000a\u000aSigned-off-by: Gary Lin <glin@suse.com>\u000a",
        "date" : "2020-01-09 14:32:02 -0800",
        "id" : "03e0d26483e6165227b1150a0418664e8bbcdb80",
        "msg" : "docs: add BPF trampoline to the kernel features",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "FAQ.txt"
        ],
        "commitId" : "18e0991f7057922b4735de013e1dc06f6260f8f3",
        "timestamp" : 1578639231000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Secure Boot:  physical keypress to disable lockdown\u000a\u000aUbuntu 19.10 with secure boot enabled doesn't allow the kernel lockdown to be lifted by echo, even from root:\u000a```\u000a# echo 1 > /proc/sys/kernel/sysrq\u000a# echo x > /proc/sysrq-trigger\u000a```\u000admesg says:\u000a```\u000aThis sysrq operation is disabled from userspace.\u000a```\u000a\u000aI pressed Alt-PrtScr-x and that worked:\u000a```\u000asysrq: Disabling Secure Boot restrictions\u000aLifting lockdown\u000a```\u000a\u000aI can now run eBPF tools, such as execsnoop-bpfcc.\u000a",
        "date" : "2020-01-09 22:53:51 -0800",
        "id" : "18e0991f7057922b4735de013e1dc06f6260f8f3",
        "msg" : "Secure Boot:  physical keypress to disable lockdown",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "FAQ.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_btf.cc",
          "src/cc/bcc_btf.h"
        ],
        "commitId" : "670aad2e7fd9e8f21db56ee188cbb4ab010f91c0",
        "timestamp" : 1578688061000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sanitize BTF_KIND_FUNC\u000a\u000aThe llvm patch https://reviews.llvm.org/D71638 extends\u000aBTF_KIND_FUNC to include scope of the function,\u000astatic, global and extern, with btf_type->info vlen\u000aencoding since vlen is always 0 before the extension.\u000a\u000aThis patch did the sanitization so that the\u000abcc with latest llvm can still work on older kernels.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-10 12:27:41 -0800",
        "id" : "670aad2e7fd9e8f21db56ee188cbb4ab010f91c0",
        "msg" : "sanitize BTF_KIND_FUNC",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_btf.cc"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_btf.h"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "introspection/bps.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "docs/kernel-versions.md"
        ],
        "commitId" : "071eef6b1571f23be6f0fc03787523cb06b70659",
        "timestamp" : 1578691964000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf repo\u000a\u000async with latest libbpf repo upto the following commit:\u000a  https://github.com/libbpf/libbpf/commit/868739519894fbf2cdb81f1f9222f1b665670096\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-10 13:32:44 -0800",
        "id" : "071eef6b1571f23be6f0fc03787523cb06b70659",
        "msg" : "sync with latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "introspection/bps.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "introspection/CMakeLists.txt"
        ],
        "commitId" : "bbafe998921792839d5c09f76705dd30849140ba",
        "timestamp" : 1579070098000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Fix CentOS 6 support.\u000a\u000aCentOS 6 support was added in #1504 and inadvertently reverted in #1763\u000aleading to builds failing due to undefined reference to \"clock_gettime\".\u000a\u000aTo re-add support for building on CentOS 6 and keep binary size down,\u000aonly add librt to the list of target_link_libraries to allow\u000a\"clock_gettime\" to be resolved.\u000a",
        "date" : "2020-01-14 22:34:58 -0800",
        "id" : "bbafe998921792839d5c09f76705dd30849140ba",
        "msg" : "Fix CentOS 6 support.",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "introspection/CMakeLists.txt"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/bpflist.py"
        ],
        "commitId" : "304d95cf48c256cbf5bb27d68193db4f01afb9e8",
        "timestamp" : 1579147156000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bpflist: list only real bpf objects\u000a\u000aThe regular expression '.*bpf-(\\\\w+)' used to grep for bpf objects would also\u000alist regular files. For example, a process like `vim /tmp/bpf-woo` would be\u000alisted in the output and the type of the BPF object will be 'woo'. Fix this\u000aby correcting the regular expression.\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-01-15 19:59:16 -0800",
        "id" : "304d95cf48c256cbf5bb27d68193db4f01afb9e8",
        "msg" : "bpflist: list only real bpf objects",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/bpflist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tools/bpflist.py"
        ],
        "commitId" : "90937ce0237f72ccf18142296a6d5c97cc823791",
        "timestamp" : 1579147156000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "bpflist: use smarter print format\u000a\u000aBPF object type can be wider than 8 characters, e.g., for the \"raw-tracepoint\"\u000atype.  Compute the printing format automatically based on the maximum length of\u000aBPF objects to be listed.\u000a\u000aSigned-off-by: Anton Protopopov <a.s.protopopov@gmail.com>\u000a",
        "date" : "2020-01-15 19:59:16 -0800",
        "id" : "90937ce0237f72ccf18142296a6d5c97cc823791",
        "msg" : "bpflist: use smarter print format",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tools/bpflist.py"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/bcc_debug.cc"
        ],
        "commitId" : "4f0c29ea2c072c29e9ed064a1494f333e2378cf3",
        "timestamp" : 1579152851000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "fix llvm compilation error\u000a\u000aThe following changes from llvm 10\u000a  https://github.com/llvm/llvm-project/commit/6fdd6a7b3f696972edc244488f59532d05136a27#diff-37c83c70858df19cb097e36b13b7c112\u000achanged MCDisassembler::getInstruction() signature.\u000aDo the corresponding change in bcc_debug.cc to fix the issue.\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-15 21:34:11 -0800",
        "id" : "4f0c29ea2c072c29e9ed064a1494f333e2378cf3",
        "msg" : "fix llvm compilation error",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/bcc_debug.cc"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "docs/kernel-versions.md"
        ],
        "commitId" : "efbed3b678c4ab2e32b41978fc9e4a2c758bce5e",
        "timestamp" : 1579246641000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "docs: Remove a redundant space\u000a\u000aSigned-off-by: Masanori Misono <m.misono760@gmail.com>\u000a",
        "date" : "2020-01-16 23:37:21 -0800",
        "id" : "efbed3b678c4ab2e32b41978fc9e4a2c758bce5e",
        "msg" : "docs: Remove a redundant space",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "src/cc/libbpf",
          "src/cc/libbpf.c",
          "src/cc/compat/linux/virtual_bpf.h",
          "docs/kernel-versions.md"
        ],
        "commitId" : "dce8e9daf59f44dec4e3500d39a82a8ce59e43ba",
        "timestamp" : 1579331310000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "sync with latest libbpf repo\u000a\u000async libbpf submodule upto the following commit:\u000a    commit 033ad7ee78e8f266fdd27ee2675090ccf4402f3f\u000a    Author: Andrii Nakryiko <andriin@fb.com>\u000a    Date:   Fri Jan 17 16:22:23 2020 -0800\u000a\u000a        sync: latest libbpf changes from kernel\u000a\u000aSigned-off-by: Yonghong Song <yhs@fb.com>\u000a",
        "date" : "2020-01-17 23:08:30 -0800",
        "id" : "dce8e9daf59f44dec4e3500d39a82a8ce59e43ba",
        "msg" : "sync with latest libbpf repo",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf.c"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/compat/linux/virtual_bpf.h"
          },
          {
            "editType" : "edit",
            "file" : "src/cc/libbpf"
          },
          {
            "editType" : "edit",
            "file" : "docs/kernel-versions.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "INSTALL.md"
        ],
        "commitId" : "da59f37f14320c0a20300f2c516336ae9ebe8a30",
        "timestamp" : 1579492869000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
          "fullName" : "yonghong-song"
        },
        "authorEmail" : "ys114321@gmail.com",
        "comment" : "Remove  from list of AUR packages\u000a",
        "date" : "2020-01-19 20:01:09 -0800",
        "id" : "da59f37f14320c0a20300f2c516336ae9ebe8a30",
        "msg" : "Remove  from list of AUR packages",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "INSTALL.md"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "tests/cc/test_c_api.cc",
          ".github/workflows/bcc-test.yml",
          "Dockerfile.tests",
          "tests/cc/test_usdt_probes.cc"
        ],
        "commitId" : "201928af91840304bb8d79383dd98cef140587b2",
        "timestamp" : 1579586378000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/dalehamel",
          "fullName" : "Dale Hamel"
        },
        "authorEmail" : "dale.hamel@srvthe.net",
        "comment" : "Initial support for using github actions\u000a\u000aThis uses Github's new Actions framework to build and test bcc\u000a",
        "date" : "2020-01-21 00:59:38 -0500",
        "id" : "201928af91840304bb8d79383dd98cef140587b2",
        "msg" : "Initial support for using github actions",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "tests/cc/test_usdt_probes.cc"
          },
          {
            "editType" : "add",
            "file" : "Dockerfile.tests"
          },
          {
            "editType" : "edit",
            "file" : "tests/cc/test_c_api.cc"
          },
          {
            "editType" : "add",
            "file" : ".github/workflows/bcc-test.yml"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          ".github/workflows/bcc-test.yml"
        ],
        "commitId" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
        "timestamp" : 1579628895000,
        "author" : {
          "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/dalehamel",
          "fullName" : "Dale Hamel"
        },
        "authorEmail" : "dale.hamel@shopify.com",
        "comment" : "Debug with tmate\u000a",
        "date" : "2020-01-21 12:48:15 -0500",
        "id" : "7a343d4b1df60417ba97dd29b7ce675b1e3222e5",
        "msg" : "Debug with tmate",
        "paths" : [
          {
            "editType" : "edit",
            "file" : ".github/workflows/bcc-test.yml"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/michal.wesolowski",
      "fullName" : "michal.wesolowski"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/noreply",
      "fullName" : "noreply"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/tdecacqu",
      "fullName" : "tdecacqu"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/yonghong-song",
      "fullName" : "yonghong-song"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/591596081",
      "fullName" : "591596081"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jmarchan",
      "fullName" : "jmarchan"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/dalehamel",
      "fullName" : "Dale Hamel"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/casparant",
      "fullName" : "Caspar Zhang"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/ethercflow",
      "fullName" : "Zwb"
    },
    {
      "absoluteUrl" : "https://buildbot.iovisor.org/jenkins/user/jolsa",
      "fullName" : "jolsa"
    }
  ]
}