Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

Go performance analysis in action

Francesc Campoy (Dgraph)
1:30pm–5:00pm Tuesday, June 12, 2018
Location: 230 A Level: Intermediate
Average rating: ***..
(3.00, 1 rating)

Who is this presentation for?

  • Software engineers, DevOps engineers, and anyone with an interest in systems observability

Prerequisite knowledge

  • A basic knowledge of Go

Materials or downloads needed in advance

What you'll learn

  • Explore tools to analyze programs and understand the possible causes of a lack of performance
  • Understand which tools work better for each kind of performance issue (tracing, pprof, etc.)


Francesc Campoy Flores walks you through the tools that make Go a great programming language, from the well-known go tool to lesser-known tools that allow you to profile, debug, and understand the performance of your programs. Along the way, you’ll learn how to tune Visual Studio Code as a Go editor, although you are welcome to use any other editor—most provide great integration with Go.

This tutorial will cover the third chapter of Francesc’s full-day workshop and includes the following topics:

Introduction to performance

  • How to measure performance using the time command, Apache Benchmark, and others

Testing and benchmarking

  • Writing unit tests in Go and converting them into benchmarks
  • Keeping track of how performant your functions are


  • The benefits and limitations of performance profiling
  • Using pprof for CPU and memory profiling and displaying the results as flame graphs

Runtime Tracing

  • Using Runtime Tracing for a complementary point of view of performance that shows us what the program is doing when nothing is happening
Photo of Francesc Campoy

Francesc Campoy


Francesc Campoy is the VP of Product at Dgraph: the most advanced distributed graph database.

Before that, he was VP of Product and Developer Relations at source{d}, the company enabling Machine Learning for large scale code analysis and building the platform for the future of developer tooling. Previously, he worked at Google as Senior Developer Advocate for Google Cloud Platform and the Go team.

He’s passionate about programming and programmers, especially Go and gophers. As part of his effort to help those learning, he’s given many talks and workshops at conferences like Google I/O, Gophercon(s), GOTO, or OSCON.

When he’s not on stage he’s probably coding, writing blog posts, or working on his justforfunc YouTube series where he hacks while cracking bad jokes.

Comments on this page are now closed.


06/12/2018 1:29am PDT

The link to the repo does not seem to work correctly. Can someone help with the same ?