{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":624648399,"defaultBranch":"main","name":"elfcore","ownerLogin":"microsoft","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-04-07T00:06:48.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/6154722?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1709074105.0","currentOid":""},"activityList":{"items":[{"before":"211a23fef55c3e7e5d405b1d48f7fcd2d3bf771f","after":"22a351c1a3e1a9739fa7ba4f787ee7af4d9edab9","ref":"refs/heads/main","pushedAt":"2024-02-27T22:47:24.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"release: update to version 1.1.5 (#29)","shortMessageHtmlLink":"release: update to version 1.1.5 (#29)"}},{"before":"3c09029c289bafbb92cadac4be2c64d3983d6a15","after":"211a23fef55c3e7e5d405b1d48f7fcd2d3bf771f","ref":"refs/heads/main","pushedAt":"2024-02-27T22:35:31.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Use notes to add arbitrary data to dump (#27)","shortMessageHtmlLink":"Use notes to add arbitrary data to dump (#27)"}},{"before":"62558d6ab0a260aff14bd4c4fc6e53b828e31a4b","after":"3c09029c289bafbb92cadac4be2c64d3983d6a15","ref":"refs/heads/main","pushedAt":"2024-01-12T19:05:15.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"upgrade zerocopy to 0.7.32 (#28)","shortMessageHtmlLink":"upgrade zerocopy to 0.7.32 (#28)"}},{"before":"04e76bcadec751f548d34bbedca25efde7430fff","after":"62558d6ab0a260aff14bd4c4fc6e53b828e31a4b","ref":"refs/heads/main","pushedAt":"2023-12-14T01:12:06.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"release: new release version 1.1.3 (#26)","shortMessageHtmlLink":"release: new release version 1.1.3 (#26)"}},{"before":"a0fdcbc20162bc91ffd800d86a38d43446e19f8e","after":"04e76bcadec751f548d34bbedca25efde7430fff","ref":"refs/heads/main","pushedAt":"2023-12-14T00:11:41.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Add arbitrary data to a core dump (#25)\n\nAdd arbitrary data to a process view, so that it will be included in the\r\ncore dump memory.","shortMessageHtmlLink":"Add arbitrary data to a core dump (#25)"}},{"before":"04319247dd595d68817540c998d9f571b865ed38","after":"a0fdcbc20162bc91ffd800d86a38d43446e19f8e","ref":"refs/heads/main","pushedAt":"2023-11-13T23:38:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Update to zerocopy v0.7. (#24)","shortMessageHtmlLink":"Update to zerocopy v0.7. (#24)"}},{"before":"2e6c287780cae315d92ad648e24714cebdb7bc4c","after":null,"ref":"refs/heads/eholk-patch-1","pushedAt":"2023-08-24T22:47:07.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"}},{"before":"469650ea59903c93bf8e7cb45c9475c268501838","after":null,"ref":"refs/heads/chris-oo-patch-1","pushedAt":"2023-08-24T22:47:03.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"}},{"before":"52f2ade1ccc93db7a81ed628143d61c32287cfd0","after":null,"ref":"refs/heads/chris-oo-patch-2","pushedAt":"2023-08-24T22:46:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"}},{"before":"58a44977b07cfd077acbb5d9e66622f033cb566f","after":"04319247dd595d68817540c998d9f571b865ed38","ref":"refs/heads/main","pushedAt":"2023-08-24T22:46:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Publish version 1.1.2 (#23)","shortMessageHtmlLink":"Publish version 1.1.2 (#23)"}},{"before":null,"after":"52f2ade1ccc93db7a81ed628143d61c32287cfd0","ref":"refs/heads/chris-oo-patch-2","pushedAt":"2023-08-24T22:41:30.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Publish version 1.1.2","shortMessageHtmlLink":"Publish version 1.1.2"}},{"before":"876c22f379fb7e3f89d5e925f98825a64c1cdd9b","after":"58a44977b07cfd077acbb5d9e66622f033cb566f","ref":"refs/heads/main","pushedAt":"2023-08-24T22:39:42.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Fallback if the process_vm_readv isn't available (#22)\n\nRuntime dispatch is used to account for the kernels where\r\nprocess_vm_readv is not available.\r\n\r\nFixes #21","shortMessageHtmlLink":"Fallback if the process_vm_readv isn't available (#22)"}},{"before":"74ca360790c8b13ac894ef0d5a3e62b3a9a5ba81","after":"876c22f379fb7e3f89d5e925f98825a64c1cdd9b","ref":"refs/heads/main","pushedAt":"2023-08-08T23:13:28.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Publish version 1.1.1 (#20)","shortMessageHtmlLink":"Publish version 1.1.1 (#20)"}},{"before":"be2beb358e4e4538101c21af5f63658c2cbd5b80","after":"74ca360790c8b13ac894ef0d5a3e62b3a9a5ba81","ref":"refs/heads/main","pushedAt":"2023-08-08T23:09:03.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Don't specify default features in Cargo.toml (#19)","shortMessageHtmlLink":"Don't specify default features in Cargo.toml (#19)"}},{"before":"1fe0b28b2d2b39bc24a66728e33458c700672d9a","after":"be2beb358e4e4538101c21af5f63658c2cbd5b80","ref":"refs/heads/main","pushedAt":"2023-08-08T21:50:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Update version to 1.1.0 (#18)\n\nNew method of reading memory via #15 , along with dependency updates.","shortMessageHtmlLink":"Update version to 1.1.0 (#18)"}},{"before":null,"after":"469650ea59903c93bf8e7cb45c9475c268501838","ref":"refs/heads/chris-oo-patch-1","pushedAt":"2023-08-08T21:47:35.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Update version to 1.1.0 \n\nNew method of reading memory, along with dependency updates.","shortMessageHtmlLink":"Update version to 1.1.0"}},{"before":"1ed3ef7659a8dbc998e1dbdf9f7a4ce2fffcd5de","after":"1fe0b28b2d2b39bc24a66728e33458c700672d9a","ref":"refs/heads/main","pushedAt":"2023-08-08T21:33:27.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Update nix. (#17)\n\nUpdate nix dependency to 0.26 and fix types that are deprecated, along with build issue.","shortMessageHtmlLink":"Update nix. (#17)"}},{"before":"1970f4a4f2caf4c4228642a820bb44bb4a671636","after":"1ed3ef7659a8dbc998e1dbdf9f7a4ce2fffcd5de","ref":"refs/heads/main","pushedAt":"2023-08-08T21:19:44.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Use `process_vm_readv` to increase speed (#15)\n\n## Motivation\r\n\r\nThis crate uses the Linux-specific\r\n[`ptrace`](https://man7.org/linux/man-pages/man2/ptrace.2.html) API, and\r\nthere is no reason not to use the\r\n[`process_vm_readv`](https://man7.org/linux/man-pages/man2/process_vm_readv.2.html)\r\nsystem call available on Linux kernels 3.2+.\r\n[Microbenchmark](https://github.com/kromych/proc_mem_bench) shows that\r\nthis is going to be faster when saving process memory compared to\r\nreading the `/dev/{pid}/mem` file.\r\n\r\n## Changes\r\n\r\n1. Replaced reading the the `/dev/{pid}/mem` file with\r\n`process_vm_readv`.\r\n2. Removed dynamic allocation from the memory reading loop.\r\n\r\n## Validation\r\n\r\nFor validation, I captured dump files of `sleep` and `yes` to make sure\r\nthe debugger can resolve the stack.\r\nTime-wise, the changes in this PR let the dump file be created notably\r\nfaster. Here is a log of creating a dump file off of some vscode utility\r\nprocess:\r\n\r\n```\r\n# With changes\r\n# ========================================================================================\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.255s\r\nuser\t0m0.002s\r\nsys\t0m0.205s\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.270s\r\nuser\t0m0.006s\r\nsys\t0m0.217s\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.260s\r\nuser\t0m0.004s\r\nsys\t0m0.209s\r\n\r\n# Without changes\r\n# ========================================================================================\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.415s\r\nuser\t0m0.029s\r\nsys\t0m0.336s\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.409s\r\nuser\t0m0.019s\r\nsys\t0m0.345s\r\n\r\n[krom@krom-9550 elfcore]$ time target/release/elfcore-sample 5340 core.5340\r\nreal\t0m0.400s\r\nuser\t0m0.017s\r\nsys\t0m0.334s\r\n\r\n#============================================================================================\r\n\r\n[krom@krom-9550 elfcore]$ ll -lh\r\ntotal 260M\r\n-rw-r--r--. 1 krom krom 8.3K Jun 12 19:20 Cargo.lock\r\n-rw-r--r--. 1 krom krom 243 Jun 12 19:19 Cargo.toml\r\ndrwxr-xr-x. 1 krom krom 44 Jun 12 19:19 ci\r\n-rw-r--r--. 1 krom krom 444 Jun 12 19:19 CODE_OF_CONDUCT.md\r\n-rw-r--r--. 1 krom krom 257M Jun 12 20:36 core.5340\r\n```","shortMessageHtmlLink":"Use process_vm_readv to increase speed (#15)"}},{"before":"1ed7a3050db2913c376d11190e9ce8ee3b0dde05","after":"1970f4a4f2caf4c4228642a820bb44bb4a671636","ref":"refs/heads/main","pushedAt":"2023-06-09T22:55:19.610Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Bump to 1.0.1 (#14)\n\nNo functional change, just making it so the README and LICENSE file end\r\nup in crates.io.","shortMessageHtmlLink":"Bump to 1.0.1 (#14)"}},{"before":null,"after":"2e6c287780cae315d92ad648e24714cebdb7bc4c","ref":"refs/heads/eholk-patch-1","pushedAt":"2023-06-09T22:51:09.331Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Bump to 1.0.1\n\nNo functional change, just making it so the README and LICENSE file end up in crates.io.","shortMessageHtmlLink":"Bump to 1.0.1"}},{"before":"4409e5d8513b02540c79f58abbd759c5645940e4","after":"1ed7a3050db2913c376d11190e9ce8ee3b0dde05","ref":"refs/heads/main","pushedAt":"2023-06-09T22:46:21.490Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Symlink elfore/LICENSE and elfcore/README.md to the root (#13)\n\nThis is so that they'll show up on crates.io","shortMessageHtmlLink":"Symlink elfore/LICENSE and elfcore/README.md to the root (#13)"}},{"before":"78a6eed09b119f76ccd9c884a57b73d0744e092d","after":null,"ref":"refs/heads/eholk-patch-1","pushedAt":"2023-06-09T21:54:27.532Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"}},{"before":"7b286ae0651d3ab4e1da09923ad407ffaa05355d","after":"4409e5d8513b02540c79f58abbd759c5645940e4","ref":"refs/heads/main","pushedAt":"2023-06-09T21:54:22.178Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Set version to 1.0.0 (#12)\n\nWe're already using this in reasonably mature projects and we don't have\r\nany plans to change the API, so releasing this as 1.0.0 makes sense.","shortMessageHtmlLink":"Set version to 1.0.0 (#12)"}},{"before":null,"after":"78a6eed09b119f76ccd9c884a57b73d0744e092d","ref":"refs/heads/eholk-patch-1","pushedAt":"2023-06-09T21:49:59.903Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Set version to 1.0\n\nWe're already using this in reasonably mature projects and we don't have any plans to change the API, so releasing this as 1.0.0 makes sense.","shortMessageHtmlLink":"Set version to 1.0"}},{"before":"84b5faedf544d1bc008e4684a5f3a43d34f6cca5","after":"7b286ae0651d3ab4e1da09923ad407ffaa05355d","ref":"refs/heads/main","pushedAt":"2023-06-09T18:07:52.988Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Add metadata needed to publish to crates.io (#11)","shortMessageHtmlLink":"Add metadata needed to publish to crates.io (#11)"}},{"before":"74c07192aac362ca86b40846980df30c2758ee3a","after":"84b5faedf544d1bc008e4684a5f3a43d34f6cca5","ref":"refs/heads/main","pushedAt":"2023-06-09T01:04:09.202Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Create a simple example program to create a core dump based on a pid (#10)","shortMessageHtmlLink":"Create a simple example program to create a core dump based on a pid (#…"}},{"before":"06b93daef415564b910b8719d75e5a2efd476c1b","after":"74c07192aac362ca86b40846980df30c2758ee3a","ref":"refs/heads/main","pushedAt":"2023-06-02T22:55:11.078Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Make the minimally viable README updates","shortMessageHtmlLink":"Make the minimally viable README updates"}},{"before":"8ba966e362331552979c7b2de267b29f437ec92c","after":"06b93daef415564b910b8719d75e5a2efd476c1b","ref":"refs/heads/main","pushedAt":"2023-05-26T22:40:33.905Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"eholk","name":"Eric Holk","path":"/eholk","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/105766?s=80&v=4"},"commit":{"message":"Update support template","shortMessageHtmlLink":"Update support template"}},{"before":"7a6d71f1c8788a62e19c1bbaef0e6a44cf46b4ba","after":"8ba966e362331552979c7b2de267b29f437ec92c","ref":"refs/heads/main","pushedAt":"2023-05-25T23:51:01.717Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Merge pull request #4 from chris-oo/user/cho/cleanup\n\nAdd copyright headers and .gitignore update for vscode","shortMessageHtmlLink":"Merge pull request #4 from chris-oo/user/cho/cleanup"}},{"before":"6110e322b979cec35436cbaf3248f00e5ec03090","after":"7a6d71f1c8788a62e19c1bbaef0e6a44cf46b4ba","ref":"refs/heads/main","pushedAt":"2023-05-25T23:50:51.987Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"chris-oo","name":"Chris Oo","path":"/chris-oo","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1316989?s=80&v=4"},"commit":{"message":"Merge pull request #3 from chris-oo/user/cho/clippy\n\nAdd clippy lints","shortMessageHtmlLink":"Merge pull request #3 from chris-oo/user/cho/clippy"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEBwkfBQA","startCursor":null,"endCursor":null}},"title":"Activity · microsoft/elfcore"}