{"push_id":1360114953,"size":13,"distinct_size":0,"ref":"refs/heads/tool1","head":"315998d8da2b8a9011b75917ba7ad338a49e6b6c","before":"378e85d749b1bef7f8066cecf2270e9a93683d99","commits":[{"sha":"f4797b0c8d9fb8c95dd99d40776a4034890abf44","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"trace: STRCMP helper function\n\n`trace` filters and print expressions can now use the\nmagic STRCMP helper function to compare strings. The first\nstring must be a compile-time constant literal string,\nsuch as \"test\", and the second string can be determined at\nruntime (e.g., from a function argument). The codegen for\nSTRCMP is on a case-by-case basis for each literal string,\nand it generates an inline function with a constant-length\nloop that compares the string's characters. This is a\ndecent workaround until we get something more reasonable\nfrom the kernel side, such as a `bpf_strcmp` helper.\n\nUsage example:\n\n```\ntrace 'p:c:open (STRCMP(\"test.txt\", arg1)) \"%s\", arg1'\n``","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/f4797b0c8d9fb8c95dd99d40776a4034890abf44"},{"sha":"c8f752f72727ae031f53b70d2a5694c1cbdd9935","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"argdist: STRCMP helper function\n\nargdist filter expressions can now use the STRCMP helper\nfunction to compare strings. The first string must be a\ncompile-time constant literal string, and the second string\ncan be determined at runtime. This is a workaround until\nBPF introduces a kernel builtin for strcmp.\n\nExample:\n\n```\nargdist -H 'r:c:open(char *file):u64:$latency:STRCMP(\"test.txt\",file)'\n```","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/c8f752f72727ae031f53b70d2a5694c1cbdd9935"},{"sha":"ac297c1ed2901915095de8dbbe16257a3f103353","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"fix profile.py page_offset_base breakage (#768)","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/ac297c1ed2901915095de8dbbe16257a3f103353"},{"sha":"b778ccd9eed713e30f02378ff0a4e5231f804e56","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"stackcount: Style fixes for linter (pep8)","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/b778ccd9eed713e30f02378ff0a4e5231f804e56"},{"sha":"e84febdfc917f4b9e003511efa03be5a012efd9d","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"bcc: Make regex helpers publicly accessible\n\nMake the `get_user_functions`, `get_kprobe_functions`, and\n`get_tracepoints` methods publicly accessible from the BPF class.\nThese can then be used by tools that need to do their own work\nbefore attaching programs to a set of functions or tracepoints.","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/e84febdfc917f4b9e003511efa03be5a012efd9d"},{"sha":"ff3b9f37ad66f483363541e4e5ef52f311bf0270","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"funccount: Generalize for uprobes, tracepoints, and USDT\n\nThis commit updates `funccount` to support attaching to a set of\nuser functions, kernel tracepoints, or USDT probes using familiar\nsyntax. Along the way, the implementation has been updated to use\na separate BPF function for each target function, because using\nthe instruction pointer to determine the function name doesn't\nwork for anything other than kprobes. Even though the BPF program\ncan now be potentially larger, testing with 40-50 attach points\nshows no significant overhead compared to the previous version.\n\nExamples of what's now possible:\n\n```\nfunccount t:block:*\nfunccount u:node:gc*\nfunccount -r 'c:(read|write)$'\nfunccount -p 142 u:ruby:object__create\n```","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/ff3b9f37ad66f483363541e4e5ef52f311bf0270"},{"sha":"367234ad8d318623570261851e42757a1b5a9594","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"python: Fix kprobe quota test breakage, add uprobes\n\nAs part of the funccount work, the kprobe quota test doesn't fail\nearly when adding multiple kprobes at once (with `event_re`), but\nrather only when the 1000th probe is being added. Revert to the old\nbehavior, which fixes the `test_probe_quota` test. Add similar test\nfor uprobes, `test_uprobe_quota`, which tests the recently-added\nuprobe regex support.","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/367234ad8d318623570261851e42757a1b5a9594"},{"sha":"56ddca0939a2d6f616c00041ec9d52cc41cca475","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"Merge pull request #763 from goldshtn/enhanced-funccount\n\nfunccount: Generalized for uprobes, tracepoints, and USDT","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/56ddca0939a2d6f616c00041ec9d52cc41cca475"},{"sha":"3ba14ef75c773e4f13bb9408f286971a12af84cd","author":{"name":"Sasha Goldshtein","email":"262a5a24dd34fd4f15b53dd1a1fb53f53a873e8a@gmail.com"},"message":"funccount: Verify probe max limit (#771)\n\nBecause `funccount` doesn't use the direct regex attach infrastructure\r\nin the BPF module, it needs its own checking for a maximum probe\r\nlimit that would make sense. We use 1000 because that's what the\r\nBPF module uses as well. When trying to attach to more than 1000\r\nprobes, we bail out early.","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/3ba14ef75c773e4f13bb9408f286971a12af84cd"},{"sha":"72027c1f1c58d347801393ab3bcda509d1bc0f35","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"add reset-trace (#766)","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/72027c1f1c58d347801393ab3bcda509d1bc0f35"},{"sha":"797c3ec1131bdecfdaba01d0c701af8c0c57834d","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"add tcplife (#773)","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/797c3ec1131bdecfdaba01d0c701af8c0c57834d"},{"sha":"3286c063e13bf6ac147a3150d0d12c48aead2b8a","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"Merge branch 'master' into strcmp","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/3286c063e13bf6ac147a3150d0d12c48aead2b8a"},{"sha":"315998d8da2b8a9011b75917ba7ad338a49e6b6c","author":{"name":"Brendan Gregg","email":"b48ba69c60d7dddd047f7ee4d28b45828cbc8637@gmail.com"},"message":"Merge pull request #772 from goldshtn/strcmp\n\ntrace, argdist: STRCMP helper function","distinct":false,"url":"https://api.github.com/repos/brendangregg/bcc/commits/315998d8da2b8a9011b75917ba7ad338a49e6b6c"}]}
{"actor":{"display_login":"brendangregg"}}