- Datadog
- Berlin, Germany
- http://felixge.de/
- @felixge
Hi there 👋. You're probably interested in my open source work, so here is a quick summary. I've also added a bit of work history.
📫 Please open a GitHub issue if you want to discuss something related to an open source project of mine.
Otherwise you can reach me atgh@felixge.de.
Last Update: 2022-09-19
- traceutils: Code for decoding and encoding runtime/trace files as well as useful functionality implemented on top.
- fgtrace: An experimental profiler/tracer that is capturing wallclock timelines for each goroutine. It's very similar to the Chrome profiler.
- cl: Quickly clone git repositories into a nested folders like GOPATH.
- pprofutils: Swiss army knife for pprof files. Implemented as a command line utility as well as free web service.
- gostackparse: A library that can parse Go stack traces at 300 MiB/s.
- sprof: A Go profiler based on static analysis. Note the release date.
- dd-trace-go/profiler: Working on this as part of my job for Datadog right now.
- go-profiler-notes: In-depth research and writing on the various Go profilers.
- sqlbench: A Go tool that measures and compares the execution time of one or more PostgreSQL queries
- fgprof: Experimental wall-clock profiler for Go.
- httpsnoop: Properly wraps the
http.ResponseWriter
interface in Go for monitoring. - go-xxd: High performance Go implementation of the xxd utility. I got nerd sniped into this.
- godrone: Firmware for the Parrot AR Drone 2.0 written in Go, i.e. an experiment to physically visualize a garbage collector 😉
- tcpkeepalive: Exposes TCP keepalive knobs & dials. There are probably better alternatives now.
- flame-explain: Anonline PostgreSQL EXPLAIN visualizer written in React/TypeScript. I was very excited about this and scheduled to speak about it at various conferences. Then this pandemic thing happened and I burned out on the project : (.
- state-machines: A blog post showing how to implement state machines in PostgreSQL using user-defined aggregate functions.
Contributed100+ patches to the core involving promises, exception handling, fs, module system, UTF-8 (including apatch for v8). Mea culpa forprocess.on("uncaughtException") 🙈.
Additionally I wrote a lot ofNPM modules, most notably:
- mysql: Pure JS implementation of the binary MySQL protocol.
- formidable: A multipart/form-data parser that's pretty fast.
- node-ar-drone: Implementation of the networking protocols used by the Parrot AR Drone 2.0. This one got a bitout of control.
- node-style-guide: Not a module, but maybe it helped some people write better modules?
- tus: A protocol for resumable file uploads on the web that I wrote the initial version for. It's seen wide industry adoption since.
Contributed~150 patches to the core and made some good friends.
Here is a list of recent talks:
- Go Profiling and Observability from Scratch atGopherCon 2021 ・ Dec 8, 2021
- Continuous Go Profiling & Observability atP99 Conf ・Video ・Slides ・ Oct 6, 2021
You can find an incompletelist of previous talks on my website.
Going forward I'm actively looking for opportunities to present on Go profiling related topics.
I have an infrequently updatedblog where I givequestionable advise that ocassionallycompromises servers around the world.
My CV is available on request, but I'm not looking for a job right now.
- 2021-Now: Datadog, working on Continious Go Profiling.
- 2014-2020: Apple, working on secret manufacturing stuff using PostgreSQL and Go.
- 2013-2014: Thomson Reuters, contracted to work on Eikon Messanger XMPP server in Go.
- 2009-2013: Transloadit, co-founded the business and wrote lots of Node.js code until it was profitable.
- 2006-2008: Freelancer, working for international clients while finishing high school.
PinnedLoading
- mysqljs/mysql
mysqljs/mysql PublicA pure node.js JavaScript Client implementing the MySQL protocol.
- node-style-guide
node-style-guide PublicA guide for styling your node.js / JavaScript code. Fork & adjust to your taste.
- node-formidable/formidable
node-formidable/formidable PublicThe most used, flexible, fast and streaming parser for multipart form data. Supports uploading to serverless environments, AWS S3, Azure, GCP or the filesystem. Used in production.
- node-ar-drone
node-ar-drone PublicA node.js client for controlling Parrot AR Drone 2.0 quad-copters.
- DataDog/go-profiler-notes
DataDog/go-profiler-notes Publicfelixge's notes on the various go profiling methods that are available.
If the problem persists, check theGitHub status page orcontact support.