[go-nuts] Re: boosting synctest & gosimnet, a channels-only network-mock

2025-05-09 Thread Jason E. Aten
(If anyone more clever with hand illustration (or image gen AI...stable diffusion?) than me can contribute a better image of the Go Gopher playing with traffic, that would be great. While I still find it amusing, the current AI generated gopher is... not really satisfactory). On Friday, May 9

[go-nuts] Re: Goroutines and channels optimization

2025-05-09 Thread Jason E. Aten
There's not enough detail here to be more prescriptive than "use the profiler". You can of course insert calls to t := time.Now() at lots of places, compute time.Since(t) after an aggregate operation, and collect statistics on the time each operation takes -- a kind of poor-person's manual prof

[go-nuts] Re: Golang DNS lookup tracing

2025-05-09 Thread 'Brian Candler' via golang-nuts
I will just add: this is a very common problem with domains which return a very low TTL, and/or use funky dynamic responses like geo-load balancing. These companies think that it makes their infrastructure more reliable, because the short TTL allows them to change the address quickly if require

[go-nuts] Re: Golang DNS lookup tracing

2025-05-09 Thread 'Brian Candler' via golang-nuts
I suspect if you tcpdump/wireshark the DNS traffic, you'll find a query goes out, and either the response is delayed by 2 seconds, or no response is received and your client re-sends the request. To understand this, inside your pod you'll need to find out what your upstream DNS recursive server

[go-nuts] Golang DNS lookup tracing

2025-05-09 Thread Cipov Peter
Hello Community I have question regarding native golang DNS lookup as my app is compiled statically (CGO_ENABLED=0). For some reason this solution behaves unpredictable, having sometimes (few times a day) dns lookup >2s. I am using http-trace to get this number. I have tried to look into code w

[go-nuts] boosting synctest & gosimnet, a channels-only network-mock

2025-05-09 Thread Jason E. Aten
Somehow I missed it when it was first announced, so only recently did I discover the exciting testing/synctest experiment available in go1.24. If you are a fan of repeatable, deterministic tests for tricky concurrent code... you should really check out synctest. My RPC package tests go 10x fast