Senior performance architect (Netflix)
Senior performance architect (Netflix)
How to instrument the Linux kernel for system call tracing using eBPF and how Sysdig leverages eBPF for visibility and security.
Zero overhead when probes are disabled. Safe by construction. Concise answers to arbitrary questions about the system. DTrace solved production observability in 2003. The observability industry has been catching up since.
James chats with Bryan Cantrill of Oxide Computer to discuss the open source hardware explosion, Oxide's experience with Embedded Rust, the importance of a culture of sharing knowledge, and the joy of fixing hard-to-diagnose systems problems. Originally Recorded on 2021-01-10.
Converts profiling output to a dot graph. Contribute to jrfonseca/gprof2dot development by creating an account on GitHub.
Going through an old hardware stash, I've noticed a harddisk that was part of a Solaris test system of mine I disassembled 10 years ago. The disk contains an interesting artifact I implemented at that time: a proof-of-concept for capturing user entered passwords with DTrace. Proof of Concept How to …
Blog about Ubuntu from a kernel engineer
27.5. Dynamic Tracing # 27.5.1. Compiling for Dynamic Tracing 27.5.2. Built-in Probes 27.5.3. Using Probes 27.5.4. Defining New Probes PostgreSQL provides …
We’re in the midst of intern hiring season, and so we get a lot of questions about what it’s like to be an intern at Jane Street. One of the things people mo...
Designing beautiful and scalable software is hard. Really hard. It’s hard for many reasons. But what makes it even harder is that software scalability is a relatively new challenge, something only really done in big companies, companies that are not really keen on sharing their knowledge. The amount of academic work done on software design is quite limited compared to other types of design, but shared knowledge about scalable design is almost nonexistent (Don’t expect to find detailed information about scaling online video games either, the industry is super secretive.
Recently, I made the mistake of rhetorically asking if I needed to spell out why unikernels are unfit for production. The response was overwhelming: whether people feel that unikernels are wrong-headed and are looking for supporting detail or are unikernel proponents and want to know what the counter-arguments could possibly be, there is clearly a desire to hear the arguments against running unikernels in production. So, what’s the problem with unikernels? Let’s get a definition first: a unikernel is an application that runs entirely in the microprocessor’s privileged mode. (The exact nomenclature varies; on x86 this would be running at Ring 0.) That is, in a unikernel there is no application at all in a traditional sense; instead, application functionality has been pulled into the operating system kernel. (The idea that there is “no OS” serves to mislead; it is not that there isn’t an operating system but rather that the application has taken on the hardware-interfacing responsibilities of the operating system – it is “all OS”, if a crude and anemic one.) Before we discuss the challenges with this, it’s worth first exploring the motivations for unikernels – if only because they are so thin…
Another quarter, another blog post. Seems almost rushed after the previous drought. To set the stage, I'll start with a bit of a...