{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":16309670,"defaultBranch":"master","name":"gperftools","ownerLogin":"gperftools","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2014-01-28T11:15:07.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6523841?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1716399668.0","currentOid":""},"activityList":{"items":[{"before":"d9263eea08a615ecbc17fc9eb23910240fbbdd17","after":"7b9dc8e1fc0cd4d1bc731e046e755fe236117a56","ref":"refs/heads/master","pushedAt":"2024-05-23T19:09:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak skip_count adjustment in tcmalloc::GrabBacktrace\n\nI broke it with \"simple\" off by one error in big emergency malloc\nrefactoring change.\n\nIt is somewhat shocking that no test caught this, but we'll soon be\nadding such test.","shortMessageHtmlLink":"unbreak skip_count adjustment in tcmalloc::GrabBacktrace"}},{"before":"65ce9e899eee3fbba4cf379bd5b9bb1a1a8cc7eb","after":"d9263eea08a615ecbc17fc9eb23910240fbbdd17","ref":"refs/heads/master","pushedAt":"2024-05-23T17:31:58.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak pagemap unittest compilation on msvc","shortMessageHtmlLink":"unbreak pagemap unittest compilation on msvc"}},{"before":"c8f686547d64591b5ec4bb07d1a6d7479ad3101b","after":"d9263eea08a615ecbc17fc9eb23910240fbbdd17","ref":"refs/heads/generalized-emergency-malloc","pushedAt":"2024-05-23T17:31:49.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak pagemap unittest compilation on msvc","shortMessageHtmlLink":"unbreak pagemap unittest compilation on msvc"}},{"before":"f92f6bbb0a61299a4044e5c5e8db38390556ddf5","after":"c8f686547d64591b5ec4bb07d1a6d7479ad3101b","ref":"refs/heads/generalized-emergency-malloc","pushedAt":"2024-05-22T18:29:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak pagemap unittest compilation on msvc","shortMessageHtmlLink":"unbreak pagemap unittest compilation on msvc"}},{"before":null,"after":"f92f6bbb0a61299a4044e5c5e8db38390556ddf5","ref":"refs/heads/generalized-emergency-malloc","pushedAt":"2024-05-22T17:41:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"expand emergency malloc integration to !kHaveGoodTLS systems\n\nReferences github issue #1503.\n\nThis significantly reworks both early thread cache access and related\nemergency malloc mode checking integration. As a result, we're able to\nto rely on emergency malloc even on systems without \"good\"\nTLS (e.g. QNX which does emutls).\n\nOne big change here is we're undoing early change to have single\n\"global\" thread cache early during process lifetime. It was nice and\nsomewhat simpler approach. But because of inherent locking during\nearly process lifetime, we couldn't be sure of certain lock ordering\naspects w.r.t. backtracing/exception-stack-unwinding. So I choose to\nkeep it safe. So the new idea is we use SlowTLS facility to find\nthreads' caches when normal tls isn't ready yet. It avoids holding\nlocks around potentially recursion-ful things (like\nThreadCache::ModuleInit or growing heap). But we then have to be\ncareful to \"re-attach\" those early thread cache instances to regular\nTLS. There will nearly always be just one of such thread caches. For\ninitial thread. But we cannot entirely rule out more general case\nwhere someone creates threads before process initializers ran and\nmain() is reached. Another notable thing is free-ing memory in this\nearly mode will always using slow-path deletion directly into central\nfree list.\n\nSlowTLS facility is \"simply\" a generalization of previous\nCreateBadTLSCache code. I.e. we have a small fixed-size cache that\nholds \"exceptional\" instances of thread-identitity to\nthread-cache+emergency-mode-flag mappings.\n\nWe also take advantage of tcmalloc::kInvalidTLSKey we introduced\nearlier and remove potentially raceful memory ordering between reading\ntls_ready_ and tls_key_.\n\nFor emergency malloc detection we previously used thread_local\nflag. Which we cannot use on !kHaveGoodTLS systems. So we instead\n_remove_ thread's cache from it's normal tls storage and place it\n\"into\" SlowTLS instead for the duration of WithStacktraceScope\ncall (which is how emergency mode is enabled now).","shortMessageHtmlLink":"expand emergency malloc integration to !kHaveGoodTLS systems"}},{"before":"de12f89d2a5b88a0ebf88c0700981751afaf90c7","after":"65ce9e899eee3fbba4cf379bd5b9bb1a1a8cc7eb","ref":"refs/heads/master","pushedAt":"2024-05-22T17:40:46.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"better abort in internal_logging.cc:Log\n\nWe use __builtin_trap (which compiles to explicitly undefined\ninstruction or \"int 3\" on x64-en), when available, to make those\ncrashing Log invokations a little nicer to debug.","shortMessageHtmlLink":"better abort in internal_logging.cc:Log"}},{"before":"1bdabc0e377ed6a41392e88a36cd3095641c5d90","after":"de12f89d2a5b88a0ebf88c0700981751afaf90c7","ref":"refs/heads/master","pushedAt":"2024-05-01T21:43:57.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"expand emergency malloc test coverage\n\nWe add coverage of calloc and we also cover no-hooks case.","shortMessageHtmlLink":"expand emergency malloc test coverage"}},{"before":"7c0cbb3a0c4a79c267eeb59deb2c657e91ae8ad1","after":"1bdabc0e377ed6a41392e88a36cd3095641c5d90","ref":"refs/heads/master","pushedAt":"2024-04-10T17:51:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"Unbreak proc_maps_iterator.cc compilation on QNX\n\nWe had duplicate definition of flags_tmp variable.\n\nSigned-off-by: Aliaksey Kandratsenka \n[alkondratenko@gmail.com] updated commit message","shortMessageHtmlLink":"Unbreak proc_maps_iterator.cc compilation on QNX"}},{"before":"8dde01b4de48f6c9f56016e1cdad63f10607fa96","after":"7c0cbb3a0c4a79c267eeb59deb2c657e91ae8ad1","ref":"refs/heads/master","pushedAt":"2024-04-03T19:49:29.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"avoid depending on {s,}brk on FreeBSD systems without it\n\nApparently some recent FreeBSDs occasionally lack brk. So our code\nwhich previously hard-coded that this OS has brk (which we use to\nimplement hooked sbrk) fails to compile.\n\nOur configure scripts already detects sbrk, so we simply need to pay\nattention. Fixes github issue #1499","shortMessageHtmlLink":"avoid depending on {s,}brk on FreeBSD systems without it"}},{"before":"6babeb1a127f961a3de8e09b26885c82ee85780d","after":"8dde01b4de48f6c9f56016e1cdad63f10607fa96","ref":"refs/heads/master","pushedAt":"2024-03-27T22:38:16.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak emergency malloc tests on systems without \"good\" TLS\n\nOur implementation of emergency malloc slow-path actually depends on\ngood TLS implementation. So on systems without good TLS (i.e. OSX), we\nlied to ourselves that emergency malloc is available, but then failed\ntests.","shortMessageHtmlLink":"unbreak emergency malloc tests on systems without \"good\" TLS"}},{"before":"e80e863e37c3ebf283c2d7a217b040eac5d2bb22","after":"6babeb1a127f961a3de8e09b26885c82ee85780d","ref":"refs/heads/master","pushedAt":"2024-03-27T19:48:33.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"apply StaticStorage to windows/system-alloc.cc","shortMessageHtmlLink":"apply StaticStorage to windows/system-alloc.cc"}},{"before":"c71e51266434e7de2212059e960ec265e21985b9","after":"e80e863e37c3ebf283c2d7a217b040eac5d2bb22","ref":"refs/heads/master","pushedAt":"2024-03-27T16:11:30.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"remove deprecated `register` storage class","shortMessageHtmlLink":"remove deprecated register storage class"}},{"before":"38d741710b02e744b46fb9417bfcde29ab565b70","after":"c71e51266434e7de2212059e960ec265e21985b9","ref":"refs/heads/master","pushedAt":"2024-03-25T00:00:00.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"implement support for hidden visibility\n\nThis is off by default for now. And autotools-only. But after\nsignificant preparatory work, we're now able to do it cleanly. Stuff\nthat was previously exported just for tests (like page heap stuff or\nflags) is now unexported.\n\nJust like on windows all symbols explicitly exported by\nPERFTOOLS_DLL_DECL are visible and exported and rest are hidden. Those\ninclude all the malloc/new APIs of course, and all the other symbols\nwe advertise in our headers (e.g. MallocExtension, MallocHook).\n\nUpdates issue #600","shortMessageHtmlLink":"implement support for hidden visibility"}},{"before":"fc496c87c4ebde04c25e6725e0a5a1af92751dc4","after":"38d741710b02e744b46fb9417bfcde29ab565b70","ref":"refs/heads/master","pushedAt":"2024-03-24T23:37:53.000Z","pushType":"push","commitsCount":14,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"drop unused pwd.h/grp.h checks","shortMessageHtmlLink":"drop unused pwd.h/grp.h checks"}},{"before":"02adc8ceab39bbeac1f65e10bde577e1753094fa","after":"fc496c87c4ebde04c25e6725e0a5a1af92751dc4","ref":"refs/heads/master","pushedAt":"2024-03-20T20:07:18.000Z","pushType":"push","commitsCount":15,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"liberate our tests from makefile setting TCMALLOC_SAMPLE_PARAMETER","shortMessageHtmlLink":"liberate our tests from makefile setting TCMALLOC_SAMPLE_PARAMETER"}},{"before":"198b3dd2d0b4d83c873b2ce480837edacc0f35ab","after":"02adc8ceab39bbeac1f65e10bde577e1753094fa","ref":"refs/heads/master","pushedAt":"2024-03-07T18:23:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"also disable _TIME_BITS in mmap_hook.cc\n\nOtherwise when _TIME_BITS are set, glibc complains that it seems\n_TIME_BITS=64 without seeing _FILE_OFFSET_BITS=64. Thankfully, none of\nthe code in mmap_hook.cc depends on time_t.","shortMessageHtmlLink":"also disable _TIME_BITS in mmap_hook.cc"}},{"before":"37b59a206e36b405dcb2ac09d502875dd629a80b","after":"198b3dd2d0b4d83c873b2ce480837edacc0f35ab","ref":"refs/heads/master","pushedAt":"2024-03-01T21:29:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"disable _FILE_OFFSET_BITS in mmap_hook.cc\n\nDebian is doing massive rebuild of everything with 64-bit off_t (and\ntime_t), but on those systems where it matters, glibc still has mmap\nwith 32-bit off_t argument and mmap64 with 64-bit off_t. Since we're\naiming to match glibc's ABI, we need to see system's native off_t\nwidth.","shortMessageHtmlLink":"disable _FILE_OFFSET_BITS in mmap_hook.cc"}},{"before":"b81d639793aa3c808be60f1b1a71f29aaac1d02d","after":"37b59a206e36b405dcb2ac09d502875dd629a80b","ref":"refs/heads/master","pushedAt":"2024-02-27T22:07:12.000Z","pushType":"push","commitsCount":18,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"gtestify current_allocated_bytes_test","shortMessageHtmlLink":"gtestify current_allocated_bytes_test"}},{"before":"896804dcb2cbda5282e20934ca1fd163e81d1cf5","after":"b81d639793aa3c808be60f1b1a71f29aaac1d02d","ref":"refs/heads/master","pushedAt":"2024-02-22T22:55:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"ignore googletest .dirstamp","shortMessageHtmlLink":"ignore googletest .dirstamp"}},{"before":"f8da1590136cc3f41ddf2a3f13a1a96697bbc66f","after":"896804dcb2cbda5282e20934ca1fd163e81d1cf5","ref":"refs/heads/master","pushedAt":"2024-02-22T22:39:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"delete accidentally added .dirstamp file","shortMessageHtmlLink":"delete accidentally added .dirstamp file"}},{"before":"61b1e05848b9f4722227c07594415f6a2f212610","after":"f8da1590136cc3f41ddf2a3f13a1a96697bbc66f","ref":"refs/heads/master","pushedAt":"2024-02-22T02:57:57.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"add function_ref_test","shortMessageHtmlLink":"add function_ref_test"}},{"before":"0906dacc486ba61a214644b84b4314a4b7c3826c","after":"61b1e05848b9f4722227c07594415f6a2f212610","ref":"refs/heads/master","pushedAt":"2024-02-21T18:45:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"unbreak make dist\n\nIn 57d6ecc4aedeb62b1b59c0ba502137e94d8bef4f I removed obsolete\nsrc/windows/TODO but failed to remove it from Makefile.am\n\nI also previously failed to arrange distribution of vendored\ngoogletest. And we also failed to distribute headers in src/tests/\n\nThis is all fixed now.","shortMessageHtmlLink":"unbreak make dist"}},{"before":"8318e08962713645e007690310b8d46c33de2e67","after":"0906dacc486ba61a214644b84b4314a4b7c3826c","ref":"refs/heads/master","pushedAt":"2024-02-20T19:53:43.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"gtestify more tests\n\nThose are malloc_hook_test, mmap_hook_test, page_heap_test,\nsampler_test, stack_trace_table_test.","shortMessageHtmlLink":"gtestify more tests"}},{"before":"b02d36d2eb879934f93048f05c8eb5d95513082a","after":"8318e08962713645e007690310b8d46c33de2e67","ref":"refs/heads/master","pushedAt":"2024-02-20T17:06:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"fix missing AM_CXXFLAGS introduced in recent automake refactoring","shortMessageHtmlLink":"fix missing AM_CXXFLAGS introduced in recent automake refactoring"}},{"before":"3d155f662473ff617455bb337ad328154ccc8728","after":"b02d36d2eb879934f93048f05c8eb5d95513082a","ref":"refs/heads/master","pushedAt":"2024-02-19T16:21:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"fix compile error with gcc 7.5\n\nIn file included from /home/louwei/arcs/gperftools/src/span.cc:41:0:\r\n/home/louwei/arcs/gperftools/src/static_vars.h:125:37: error: ‘byte’ in namespace ‘std’ does not name a type\r\n alignas(alignof(PageHeap)) std::byte memory[sizeof(PageHeap)];\r\n ^~~~\r\n/home/louwei/arcs/gperftools/src/static_vars.h: In static member function ‘static tcmalloc::PageHeap* tcmalloc::Static::pageheap()’:\r\n/home/louwei/arcs/gperftools/src/static_vars.h:76:80: error: ‘struct tcmalloc::Static::’ has no member named ‘memory’\r\n static PageHeap* pageheap() { return reinterpret_cast(&pageheap_.memory); }\r\n ^~~~~~","shortMessageHtmlLink":"fix compile error with gcc 7.5"}},{"before":"57d6ecc4aedeb62b1b59c0ba502137e94d8bef4f","after":"3d155f662473ff617455bb337ad328154ccc8728","ref":"refs/heads/master","pushedAt":"2024-02-18T01:10:24.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"apply tcmalloc::FunctionRef in AddressMap","shortMessageHtmlLink":"apply tcmalloc::FunctionRef in AddressMap"}},{"before":"8a147b4833da6b5e8c9618cad96ffa058ba7199c","after":"57d6ecc4aedeb62b1b59c0ba502137e94d8bef4f","ref":"refs/heads/master","pushedAt":"2024-02-08T14:41:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"drop obsolete src/windows/TODO","shortMessageHtmlLink":"drop obsolete src/windows/TODO"}},{"before":"cad457ad23a14a3f4bf4a04b5d015e9bef3db812","after":"8a147b4833da6b5e8c9618cad96ffa058ba7199c","ref":"refs/heads/master","pushedAt":"2024-02-08T05:12:47.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"untangle a number of unittests from libtcmalloc_minimal.so","shortMessageHtmlLink":"untangle a number of unittests from libtcmalloc_minimal.so"}},{"before":"c52c321bdd11b169dec556a8969071e5c55e0202","after":"cad457ad23a14a3f4bf4a04b5d015e9bef3db812","ref":"refs/heads/master","pushedAt":"2024-02-08T01:32:01.000Z","pushType":"push","commitsCount":7,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"actualize .gitignore","shortMessageHtmlLink":"actualize .gitignore"}},{"before":"771a01ed2888f01f1dfe41a23ea2139ca8e0fdfa","after":"c52c321bdd11b169dec556a8969071e5c55e0202","ref":"refs/heads/master","pushedAt":"2024-02-07T20:51:43.000Z","pushType":"push","commitsCount":4,"pusher":{"login":"alk","name":"Aliaksiej Kandracienka (aka Aliaksei Kandratsenka)","path":"/alk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14850?s=80&v=4"},"commit":{"message":"replace raw printer with usage of generic writer facility","shortMessageHtmlLink":"replace raw printer with usage of generic writer facility"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEUl4muQA","startCursor":null,"endCursor":null}},"title":"Activity · gperftools/gperftools"}