{"repo":"DataDog/gostackparse","free":true,"listed":false,"github":"https://github.com/DataDog/gostackparse","clone":"git clone https://github.com/DataDog/gostackparse.git","description":"Package gostackparse parses goroutines stack traces as produced by panic() or debug.Stack() at ~300 MiB/s.","language":"Go","stars":127,"topics":["go","performance","debugging","stacktrace"],"license":null,"category":"dev-tools","readme_excerpt":"gostackparse Package gostackparse parses goroutines stack traces as produced by panic() or debug.Stack() at 300 MiB/s. Parsing this data can be useful for Goroutine Profiling or analyzing crashes from log files. Usage The package provides a simple Parse() API. You can use it like this: The result is a simple list of Goroutine structs: Design Goals 1. Safe: No panics should be thrown. 2. Simple: Keep this pkg small and easy to modify. 3. Forgiving: Favor producing partial results over no results, even if the input data is different than expected. 4. Efficient: Parse several hundred MiB/s. Testing gostackparse has been tested using a combination of hand picked test-fixtures, property based testing, and fuzzing. Comparsion to panicparse panicparse is a popular library implementing similar functionality. gostackparse was created to provide a subset of the functionality (only the parsing) using 10x less code while achieving 100x faster performance. If you like fast minimalistic code, you might prefer it. If you're looking for more features and a larger community, use panicparse. Benchmarks gostackparse includes a small benchmark that shows that it can parse test-fixtures/waitsince.txt at 300 MiB/s and how that compares to panicparse. License This work is dual-licensed under Apache 2.0 or BSD3. See LICENSE.","default_branch":null,"files":null,"tree":[],"storefront":"/r/DataDog","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/DataDog/gostackparse/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}