<matrixBuild _class='hudson.matrix.MatrixBuild'><action _class='hudson.model.CauseAction'><cause _class='org.jenkinsci.plugins.ghprb.GhprbCause'><shortDescription>GitHub pull request #2476 of commit 6e487a4fcb6c4f2e4b21982def07b84acbc76e8b, no merge conflicts.</shortDescription></cause></action><action _class='org.jenkinsci.plugins.ghprb.GhprbParametersAction'><parameter _class='hudson.model.StringParameterValue'><name>sha1</name><value>origin/pr/2476/merge</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommit</name><value>6e487a4fcb6c4f2e4b21982def07b84acbc76e8b</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthor</name><value>Dave Marchevsky</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbActualCommitAuthorEmail</name><value>davemarchevsky@gmail.com</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbAuthorRepoGitUrl</name><value>https://github.com/davemarchevsky/bcc.git</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthor</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorEmail</name><value></value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLogin</name><value>yonghong-song</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTriggerAuthorLoginMention</name><value>@yonghong-song</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullId</name><value>2476</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbTargetBranch</name><value>master</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbSourceBranch</name><value>usdt_partial_init</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>GIT_BRANCH</name><value>usdt_partial_init</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorEmail</name><value>davemarchevsky@gmail.com</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLogin</name><value>davemarchevsky</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullAuthorLoginMention</name><value>@davemarchevsky</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullDescription</name><value>GitHub pull request #2476 of commit 6e487a4fcb6c4f2e4b21982def07b84acbc76e8b, no merge conflicts.</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullTitle</name><value>Add allow_partial_usdt_init param so partial init of USDT vector is possible</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLink</name><value>https://github.com/iovisor/bcc/pull/2476</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbPullLongDescription</name><value>Looking for early feedback here before I write tests / flesh this out more.\r\n\r\nConsider this scenario: I'm hoping to attach USDTs to many short-lived processes, let's say 30. I want to gather data from USDT handlers on these processes for 5 seconds. It's guaranteed that at least one of the processes that was alive when I constructed the vector of USDTs to pass into `BPF::init` will not be alive by the time the 5 seconds are up. I'm OK with this and would still like to gather as much data as possible.\r\n\r\nIf the process dies after `USDT::init()` is successful but before `attach_usdt` is called, we're already OK because we can handle each `StatusTuple` independently outside of `bcc`. Similarly, if process dies between `attach_usdt` and `detach_usdt` calls, we're fine for same reason.\r\n\r\nBut if it dies between construction of `USDT` object and `USDT::init()` being called by `BPF::init()`, we currently consider failure to init any `USDT` critical enough to stop the whole `BPF::init()`. \r\n\r\nThis PR adds a `allow_partial_usdt_init` param to `BPF::init` to let users of `bcc` signal that they're OK with `USDT::init()` failures. `USDT::initialized()` getter is added so `bcc` user can check which `USDT`s succeeded / failed.\r\n\r\nOne downside of this initial pass is that the info in `StatusTuple`s for `USDT::init` is lost. So if we have some `USDT::init` failures when `allow_partial_usdt_init` is `true` it'll be hard to get visibility into them. \r\n\r\n/cc @yonghong-song </value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCommentBody</name><value>null</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbGhRepository</name><value>iovisor/bcc</value></parameter><parameter _class='hudson.model.StringParameterValue'><name>ghprbCredentialsId</name><value>6d3daf13-69b8-48b1-9c8f-ec5353264113</value></parameter></action><action _class='hudson.plugins.git.GitTagAction'></action><action></action><action></action><action _class='org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction'></action><building>false</building><description>&lt;a title="Add allow_partial_usdt_init param so partial init of USDT vector is possible" href="https://github.com/iovisor/bcc/pull/2476"&gt;PR #2476&lt;/a&gt;: Add allow_partial_usdt_init...</description><displayName>#123</displayName><duration>1099485</duration><estimatedDuration>7460664</estimatedDuration><fullDisplayName>bcc-pr #123</fullDisplayName><id>123</id><keepLog>false</keepLog><number>123</number><queueId>1012</queueId><result>SUCCESS</result><timestamp>1573685082067</timestamp><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/123/</url><builtOn></builtOn><changeSet _class='hudson.plugins.git.GitChangeSetList'><kind>git</kind></changeSet><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=fc25/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=fc26/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=fc27/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=fc28/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=ubuntu1604/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=ubuntu1710/123/</url></run><run><number>123</number><url>https://buildbot.iovisor.org/jenkins/user/dalehamel/my-views/view/all/job/bcc-pr/label=ubuntu1804/123/</url></run></matrixBuild>