如果你在GOPATH中设置了多个工作区,那么这种查找会以从左到右的顺序在这些工作区中进行。其中的程序实体可以帮助我们记录程序中各个 goroutine 的状态、各种系统调用的状态,与 GC 有关的各种事件,以及内存相关和 CPU 相关的变化,等等。
由于原生的 errgroup 有上面两个问题,因此很多公司内部,或者社区,都在原生的基础上做了一些扩展封装,用来解决原生 errgroup 的问题,比如 kratos 的 errgroup,在原生的 errgroup 之上,做了进一步的扩展,改进了没有 recover 问题和并发数量问题,err 中包含了panic 发生时的详细堆栈信息,使得 errgroup 机制更加健壮。