BTrace: DTrace for Java… ish
DTrace first peered into Java in early 2005 thanks to an early prototype by Jarod Jenson that led eventually to the inclusion of USDT probes in the HotSpot JVM. If you want to see where, say, the java.net.SocketOutputStream.write() method is called, you can simply run this DTrace script: hotspot$target:::method-entry /copyinstr(arg1, arg2) == “java/net/SocketOutputStream” && copyinstr(arg3, [read more]
dtrace.conf(12) wrap-up
For the second time in as many quadrennial dtrace.confs, I was impressed at how well the unconference format worked out. Sharing coffee with the DTrace community, it was great to see some of the oldest friends of DTrace — Jarod Jenson, Stephen O’Grady, Jonathan Adams to name a few — and to put faces to [read more]
Database Virtualization at a Datacenter Near You
Being an early adopter of technology I became passionate about the Netezza analytic Appliance in 2002 and was the first to put it into production. I still believe it is the absolute best solution for managing VLDB data to provide complex analytics and reporting capabilities. I was there for almost eight years being the longest [read more]
Debugging unmounting problems with DTrace
The Analysis A few weeks ago I ran in to a reoccurring problem during the unit tests for our product, the important part of the error message was always something like: cannot unmount ‘/test-domain/group-0/container-22/temp’: Device busy could not destroy ‘test-domain’: could not unmount datasets A little investigation showed that error message was coming from a [read more]
Data Replication: Building a better NDMP
In my previous post I outlined some of the challenges faced when building a data replication solution, how the first Delphix implementation missed the mark, and how we set out to build something better the second time around. The first thing that became clear after starting on the new replication subsystem was that we needed [read more]
DTrace OEL update
A few months ago I took DTrace on OEL for a spin after Oracle announced it. The results were ugly; as one of the authors of DTrace, I admit to being shocked by shoddiness of the effort. Yesterday, Oracle dropped an updated beta so I wanted to see how far they’ve come in the 4+ months [read more]
Fun with json-schema
What initially started as a project to sanitize, generalize and centralize validation of user input to our web services has during the development of our 2.7 release evolved into a mechanism that drives the development and documentation both of the web services themselves as well as parts of the consumers. The problem we initially set [read more]
Log4j Stack Trace Pruning
Anyone who has ever worked with third-party Java frameworks such as Spring and OSGi can testify to how much these frameworks bloat the logged stack traces. When debugging, the last thing you want is to waste valuable energy and brain power, no matter how little, on scanning through dozens of stack frames for the relevant [read more]
Data Replication: Approaching the Problem
With our next Delphix release just around the corner, I wanted to spend some time discussion the engineering process behind one of the major new features: data replication between servers. The current Delphix version already has a replication solution, so how does this constitute a “new feature”? The reason is that it’s an entirely new [read more]
Delphix git integration
Tonight, my Delphix colleague Zubair Khan and I presented the integration we’ve done with git at the SF Bay Area Large-Scale Production Engineering meetup. When I started at Delphix, we were using Subversion — my ire for which the margins of this blog are too narrow to contain. We switched to git, and in the [read more]