{
  "_class" : "hudson.matrix.MatrixBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "org.jenkinsci.plugins.ghprb.GhprbCause",
          "shortDescription" : "GitHub pull request #3048 of commit 03ab364ded6c7835ecc580f4ab99c7e35473125b, no merge conflicts."
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.ghprb.GhprbParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "sha1",
          "value" : "origin/pr/3048/merge"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommit",
          "value" : "03ab364ded6c7835ecc580f4ab99c7e35473125b"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthor",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbActualCommitAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbAuthorRepoGitUrl",
          "value" : "https://github.com/Yolandajn/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" : "3048"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbTargetBranch",
          "value" : "master"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbSourceBranch",
          "value" : "netqtop-3037"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "GIT_BRANCH",
          "value" : "netqtop-3037"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorEmail",
          "value" : ""
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLogin",
          "value" : "Yolandajn"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullAuthorLoginMention",
          "value" : "@Yolandajn"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullDescription",
          "value" : "GitHub pull request #3048 of commit 03ab364ded6c7835ecc580f4ab99c7e35473125b, no merge conflicts."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullTitle",
          "value" : "Netqtop 3037"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLink",
          "value" : "https://github.com/iovisor/bcc/pull/3048"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbPullLongDescription",
          "value" : "# Issue #3037 \\r\\nThe tool netqtop uses tracepoints NET_DEV_START_XMIT and NETIF_RECEIVE_SKB to intercept every transmitted and received packet, as a result, considerable performance descent is expected.\\r\\n\\r\\n## Performance test of netqtop\\r\\n### Environment \\r\\nKernel version: 4.19.91-19.1.al7.x86_64\\r\\nCPU: Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz\\r\\nNumber of cpu cores: 104\\r\\n### Throughput test\\r\\n**Commands**\\r\\ntaskset -c ${cpuid} sockperf -tp -i 127.0.0.1 -t 20\\r\\ntaskset -c 0 netqtop -n lo\\r\\n\\# Use lo NIC to test the full impact of netqtop when both tx queues and rx queues are busy. \\r\\n**Method**\\r\\na) Run sockperf on multiple cpus, record PPS  \\r\\nb) Run sockperf on multiple cpus and run netqtop on cpu0, record PPS  \\r\\n**Result**\\r\\n| Threads | a) PPS [msg/sec] | b) PPS [msg/sec] | PPS drop [%] |\\r\\n| --- | --- | --- | --- |\\r\\n| 1 | 301880 | 214680 | 28.89 |\\r\\n| 2 | 398041 | 292487 | 26.52 |\\r\\n| 4 | 765540 | 556819 | 27.26 |\\r\\n| 8 | 1529395 | 1108588 | 27.51 |\\r\\n| 16 | 2945627 | 2092091 | 28.98 |\\r\\n| 32 | 5608652 | 3777976 | 32.64 |\\r\\n| 64 | 6179109 | 4584678 | 25.80 |\\r\\n| 104 | 6744903 | 4852358 | 28.06 |\\r\\n\\r\\nFrom the above chart we see netqtop causes at most 32.64% decrease of PPS.\\r\\n\\r\\n### Latency test\\r\\n**Commands**\\r\\n\\# start sockperf server\\r\\ntaskset -c 0 sockperf sr -p 13344 \\r\\n\\# start sockperf client\\r\\ntaskset -c 103 sockperf pp -t 20 -i 127.0.0.1 -p 13344\\r\\n\\# start netqtop and start sockperf client again\\r\\ntaskset -c 102 netqtop -n lo -i 1\\r\\ntaskset -c 103 sockperf pp -t 20 -i 127.0.0.1 -p 13344\\r\\n**Method & Result**\\r\\na) Run sockperf in pingpong mode and record latency: 7.424 usec   \\r\\nb) Run netqtop and then run sockperf in pp mode and record latency: 8.590 usec   \\r\\nComparing a) and b), the latency increased **1.17 usec**.  \\r\\n\\r\\n### Reason for not using sampling feature\\r\\nThe performance test shows that netqtop has obvious overhead. As the tool would not be running all the time, this amount of overhead could be acceptable. Anyway I came up an idea to reduce the overhead which is to capture 1 packet in every 10 (or other specified number) packets, though, this could cause packet loss and reduction of precision of statistics especially when traffic flow is small. \\r\\nI did throughtput test on a version of netqtop with sampling feature where number of thread = 1:\\r\\n| sampling distance | pps drop [%] |\\r\\n| --- | --- |\\r\\n| 1  | 33.04 |\\r\\n| 10 | 24.37 |\\r\\n| 100 | 23.13 |\\r\\n| 1000 | 23.08 |\\r\\n| 10000 | 23.23 |\\r\\n| 100000 | 22.33 |\\r\\n| 1000000 | 22.85 |\\r\\n\\r\\nWhen sampling distance = 1, the sampling feature introduces new cost (33.04% compared to 28.89%).\\r\\nAnd when sampling distance = 100000, there is no more than 7% of throughput increase (compared to 28.89%) at a huge expense of precesion loss. So I cut out this feature."
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCommentBody",
          "value" : "[buildbot, test this please]"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbGhRepository",
          "value" : "iovisor/bcc"
        },
        {
          "_class" : "hudson.model.StringParameterValue",
          "name" : "ghprbCredentialsId",
          "value" : "6d3daf13-69b8-48b1-9c8f-ec5353264113"
        }
      ]
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : "<a title=\"Netqtop 3037\" href=\"https://github.com/iovisor/bcc/pull/3048\">PR #3048</a>: Netqtop 3037",
  "displayName" : "#673",
  "duration" : 1233670,
  "estimatedDuration" : 7460664,
  "executor" : None,
  "fullDisplayName" : "bcc-pr #673",
  "id" : "673",
  "keepLog" : False,
  "number" : 673,
  "queueId" : 5392,
  "result" : "SUCCESS",
  "timestamp" : 1599845693271,
  "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/673/",
  "builtOn" : "",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      
    ],
    "kind" : "git"
  },
  "culprits" : [
    
  ],
  "runs" : [
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=fc25/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=fc26/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=fc27/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=fc28/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=ubuntu1604/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=ubuntu1710/673/"
    },
    {
      "number" : 673,
      "url" : "https://buildbot.iovisor.org/jenkins/job/bcc-pr/label=ubuntu1804/673/"
    }
  ]
}