How to reproduce and fix an I/O data race with DTrace

And another blog article, once again about Go and DTrace:

https://gaultier.github.io/blog/go_dtrace_see_all_network_traffic.html
#dtrace #golang

See all network traffic in a Go program, even when encrypted and compressed

I just wrote another Go + DTrace blog article!
This time: Are my SQL files read at build time or run time?
https://gaultier.github.io/blog/are_my_sql_files_read_at_build_time_or_run_time.html

#golang #dtrace

Are my SQL files read at build time or run time?

Go, SQL, and DTrace: a marriage made in heaven?
New blog post!
https://gaultier.github.io/blog/observe_sql_queries_in_go_with_dtrace.html

#golang #dtrace #sql

Observe live SQL queries in Go with DTrace

After fixing up the pfsense gateway (forgot some log rotation, blew out the root dataset) I discovered that my home infra needs a little better observability.

I’d start with a timeseries db, and why not run under the new podman-on-freebsd-jails system? Should be quick and easy.

Anyway, I’ve discovered how to do things with jails that the manual says are explicitly forbidden, and I’m finally learning corners of dtrace I’ve never touched. Pray for me.

#freebsd #dtrace

#illumos #omnios is absolutely incredible. The system is very well designed IMO, I had already experienced the more cohesively designed #BSD but here it feels a bit *more* (although quite similar in some aspects to #freebsd of course).

Linux feels like a duct-taped amalgamation of random ideas, don't get me wrong I love Linux and all it represents, but it's a system that has been grown in any direction.

With Illumos instead it feels like you have orthogonal powerful building blocks you can compose into something greater than the sum of its parts. #zfs #dtrace #zones #crossbow it all works beautifully, both on their own and together.

After seeing how virtualized networking can be done in solaris, the docker networking stack feels so sad in comparison.

So far I'm very impressed.

If you are using #DTrace on #FreeBSD, then I've got good news for you.

I've added a new manual to FreeBSD. It's called d(7) and it is a short reference of the #D scripting language. Currently, it covers only a subset of all variables and functions, but we'll add more iteratively.

Here are some previews for you:

HTML: https://people.freebsd.org/~0mp/d.7.html

MDOC (view with man(1)): https://people.freebsd.org/~0mp/d.7

Have fun tracing your systems!

#osdev #tracing #foss #mdoc

D(7)

@monospace Sounds pretty cool. It might be interesting to add a similar functionality as a #dwatch profile to #FreeBSD.

#DTrace

Finally have a system with #dtrace on it, maybe when I watch dtrace.conf(28) i'll know wtf they are talking about.
#runbsd #freebsd

Ever wondered if it’s possible to use DTrace on a Go program? Turns out it’s super easy, barely an inconvenience!

https://gaultier.github.io/blog/an_optimization_and_debugging_story_go_dtrace.html

#golang #dtrace #optimization #debugging

An optimization and debugging story with Go and DTrace