Tracing all the Fn things with OpenCensus

Reed Allman
Fn Project
Published in
2 min readApr 3, 2018

The Fn Project has decided to join all the other cool kids and become obsessed with tracing. Congratulations people, your meetup talks did not fall entirely on deaf ears.

We’re really excited about moving all of our metrics and trace reporting to OpenCensus. The biggest draw for us, as an open source project, is that we can use a metrics and tracing API in our code that developers building on top of Fn can use in their code and their extensions, that’s familiar to them and can report to the same metrics backends without additional glue code. Most projects in our collective past always seem to start off with defining some one-off code API to do metrics reporting, or worse, importing one particular metrics framework (statsd, prometheus, etc.) and committing to it across the entire codebase, forever fretting the day a new hire suggests that we move to the newest hot metrics framework. Alas, there is hope.

With OpenCensus, we use their stats, trace and view APIs across all of our code. They’ve made some very good decisions in defining their own data formats for all of this, to make it so that backends that want to integrate simply have to interpret the OpenCensus data objects to ship things to their backend (explicitly not having to create their own data structures simply for collection). For backends, our requirements were to have Prometheus support and a tracing backend (zipkin or jaeger is fine). OpenCensus gives us these out of the box, with more backends being added often (and easy to add our own!), so that we can easily stay up to date in the ops world without having to make sweeping code changes. Hooray.

Recently, we plumbed in support for Jaeger traces (see above), and have begun embarking on some debugging and tuning based on our findings. It is still early days for us as we have many metrics to add, but we are happy to be building off the OpenCensus base. At the risk of sounding like The Donald, thanks to all the great people working on all these great tools — but we really mean it!

If you’re interested in talking about tracing, functions, or defending humankind from robots with us, we will be hosting GoSF in our office in Oakland on April 25th, come say hi. Or for those of you that don’t like lighting money on fire to live in the Bay, we’re easy to find on slack.

--

--

Reed Allman
Fn Project

Hopelessly trying not to tie my identity to my job title