{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":715669669,"defaultBranch":"master","name":"py-spy","ownerLogin":"stb-tester","currentUserCanPush":false,"isFork":true,"isEmpty":false,"createdAt":"2023-11-07T15:45:47.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/5528358?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1699873124.0","currentOid":""},"activityList":{"items":[{"before":"aff9a750e839d901af83bbc99ef3ccad478dfeeb","after":null,"ref":"refs/heads/faster--gil","pushedAt":"2023-11-13T10:58:44.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"wmanley","name":"William Manley","path":"/wmanley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494659?s=80&v=4"}},{"before":"e81b3e4902e3848de3bf30e4fc95f90f79f64fed","after":"aff9a750e839d901af83bbc99ef3ccad478dfeeb","ref":"refs/heads/faster--gil","pushedAt":"2023-11-08T01:04:44.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wmanley","name":"William Manley","path":"/wmanley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494659?s=80&v=4"},"commit":{"message":"Speed up --gil by skipping work for non-GIL threads\n\nWhen the user has specified --gil we needn't collect stack traces for the\nnon-GIL threads. This is a significant speedup on heavily threaded Python\ncode.\n\nMy server has 271 threads (most of which are idle).\n\nWith the previous code (sampling at 10Hz) I get:\n\n $ ./py-spy record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 10 -d 10 --gil\n py-spy> Sampling process 10 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> 1.29s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.36s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.32s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.22s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.00s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 3 Errors: 51\n\nWith this commit I can sample at 80Hz, and the error rate is way lower:\n\n $ ./py-spy2 record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 80 -d 10 --gil\n py-spy> Sampling process 80 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 65 Errors: 0\n\nI suspect the difference in error rate is due to the error handling in\n`_get_stack_traces` - an error getting information about any thread means\nthat all the traces are thrown away.","shortMessageHtmlLink":"Speed up --gil by skipping work for non-GIL threads"}},{"before":"0eed74d5f54e4cc866369ab52e4386611496db28","after":"e81b3e4902e3848de3bf30e4fc95f90f79f64fed","ref":"refs/heads/faster--gil","pushedAt":"2023-11-07T23:44:39.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wmanley","name":"William Manley","path":"/wmanley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494659?s=80&v=4"},"commit":{"message":"Speed up --gil by skipping work for non-GIL threads\n\nWhen the user has specified --gil we needn't collect stack traces for the\nnon-GIL threads. This is a significant speedup on heavily threaded Python\ncode.\n\nMy server has 271 threads (most of which are idle).\n\nWith the previous code (sampling at 10Hz) I get:\n\n $ ./py-spy record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 10 -d 10 --gil\n py-spy> Sampling process 10 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> 1.29s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.36s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.32s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.22s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.00s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 3 Errors: 51\n\nWith this commit I can sample at 80Hz, and the error rate is way lower:\n\n $ ./py-spy2 record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 80 -d 10 --gil\n py-spy> Sampling process 80 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 65 Errors: 0\n\nI suspect the difference in error rate is due to the error handling in\n`_get_stack_traces` - an error getting information about any thread means\nthat all the traces are thrown away.","shortMessageHtmlLink":"Speed up --gil by skipping work for non-GIL threads"}},{"before":"a2172f93804939467de572d3a590fe7b385175e5","after":"0eed74d5f54e4cc866369ab52e4386611496db28","ref":"refs/heads/faster--gil","pushedAt":"2023-11-07T23:43:34.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"wmanley","name":"William Manley","path":"/wmanley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494659?s=80&v=4"},"commit":{"message":"Speed up --gil by skipping work for non-GIL threads\n\nWhen the user has specified --gil we needn't collect stack traces for the\nnon-GIL threads. This is a significant speedup on heavily threaded Python\ncode.\n\nMy server has 271 threads (most of which are idle).\n\nWith the previous code (sampling at 10Hz) I get:\n\n $ ./py-spy record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 10 -d 10 --gil\n py-spy> Sampling process 10 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> 1.29s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.36s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.32s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.22s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.00s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 3 Errors: 51\n\nWith this commit I can sample at 80Hz, and the error rate is way lower:\n\n $ ./py-spy2 record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 80 -d 10 --gil\n py-spy> Sampling process 80 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 65 Errors: 0\n\nI suspect the difference in error rate is due to the error handling in\n`_get_stack_traces` - an error getting information about any thread means\nthat all the traces are thrown away.","shortMessageHtmlLink":"Speed up --gil by skipping work for non-GIL threads"}},{"before":null,"after":"a2172f93804939467de572d3a590fe7b385175e5","ref":"refs/heads/faster--gil","pushedAt":"2023-11-07T15:46:06.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"wmanley","name":"William Manley","path":"/wmanley","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/494659?s=80&v=4"},"commit":{"message":"Speed up --gil by skipping work for non-GIL threads\n\nWhen the user has specified --gil we needn't collect stack traces for the\nnon-GIL threads. This is a significant speedup on heavily threaded Python\ncode.\n\nMy server has 271 threads (most of which are idle).\n\nWith the previous code (sampling at 10Hz) I get:\n\n $ ./py-spy record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 10 -d 10 --gil\n py-spy> Sampling process 10 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> 1.29s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.36s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.32s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.22s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> 1.00s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 3 Errors: 51\n\nWith this commit I can sample at 80Hz, and the error rate is way lower:\n\n $ ./py-spy2 record -o /var/opt/stbt/profile.svg --pid $(pgrep -f http_service.service) -r 80 -d 10 --gil\n py-spy> Sampling process 80 times a second for 10 seconds. Press Control-C to exit.\n\n py-spy> 1.00s behind in sampling, results may be inaccurate. Try reducing the sampling rate\n py-spy> Wrote flamegraph data to '/var/opt/stbt/profile.svg'. Samples: 43 Errors: 0\n\nI suspect the difference in error rate is due to the error handling in\n`_get_stack_traces` - an error getting information about any thread means\nthat all the traces are thrown away.","shortMessageHtmlLink":"Speed up --gil by skipping work for non-GIL threads"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADrb0iLwA","startCursor":null,"endCursor":null}},"title":"Activity ยท stb-tester/py-spy"}