Session
Schedule FOSDEM 2020
Go

Deterministic debugging with Delve

And the state of Delve
UB2.252A (Lameere)
Derek Parker
In this talk I will begin by delivering the "State of Delve" update. In similar fashion to the popular "State of Go" talk I will begin by discussing all of the exciting new features and changes that have happened over the past year, since last FOSDEM. Following that I will go into a live demo showcasing how Delve can leverage Mozilla RR in order to perform deterministic debugging. This talk will begin by introducing users to the concept of deterministic debugging and the power that comes with it. Following that I will launch into a demo showcasing how to leverage this concept to debug an otherwise unpredictable highly concurrent program. Users will walk away with immediate practical knowledge they can begin applying in their day to day debugging.

It's been a year since last FOSDEM and a lot has changed with Delve! I will discuss all the new features and changes that have been implemented in the last year.

Following the "State of Delve" introduction, I will dig into how Delve can be utilized to perform deterministic debugging. This style of debugging enables users to record the execution of their process and "play it back" in a deterministic fashion in order to more quickly and efficiently perform root cause analysis on a bug that may otherwise be difficult to reproduce or track down. This section of the talk will begin by introducing the concept of deterministic debugging and why it is so useful and powerful. Once everyone is familiar with the concept I will launch into a live demo showcasing how to leverage this debugging approach to track down and fix a bug which is hard to reproduce and happens only intermittently.

Attendees will walk away with practical knowledge that they can begin applying to their debugging problems immediately.

Additional information

Type devroom

More sessions

2/2/20
Go
UB2.252A (Lameere)
Go 1.14 is planned to be released in February 2019 and this talk covers what's coming up with it. We'll talk about new features and fixes in Go, new proposals for Go 2. All of the new things you might have missed.
2/2/20
Go
Dylan Meeus
UB2.252A (Lameere)
Are you tired of seeing Object Oriented code everywhere, with mutations, side-effects and headaches? Luckily, writing Go does not have to be that way! Functional programming is perfectly possible within Go, hence we can leverage FP techniques to make our code more robust, testable and fun.
2/2/20
Go
Maya Rashish
UB2.252A (Lameere)
An introduction to calling conventions, thread-local storage, signal handling and how they relate to Go, in the context of my new port of Go to NetBSD/arm64.
2/2/20
Go
Daniel Esteban
UB2.252A (Lameere)
Learn the multiples and fun possibilities of using Go on microcontrollers like Arduino to make gaming related hardware.
2/2/20
Go
Ronna Steinberg
UB2.252A (Lameere)
What if we decided to solve, once and for all, the problem of underrepresentation in the Go community of women, gender minorities, people of color, or any other group the same way we handle our problems in production, by identifying "bugs" and then fixing them? Can it even be done? What if we took the engineering approach? Ronna is planning to convince you it's not a matter of if, but a matter of how, and we are going to analyze some of the statistics, find where the problems actually lay, and ...
2/2/20
Go
Stefan Schimanski
UB2.252A (Lameere)
Kubernetes is built using Golang. CustomResourceDefinitions are the primary extension points for bringing custom data into a Kubernetes cluster. This hands-on talk is about the workflow of API definitions in Golang, generation of OpenAPI schemas as part of the CRD, client and informer generation and how to use these to process data in real-time using logic implemented in Golang controllers.
2/2/20
Go
Sheimy Rahman
UB2.252A (Lameere)
Go and public training models can provide great potential: A fast way to build "eyes around the world", also known as classifiers. And with great powers, come great opportunities, such as building fantastic applications to turn our world a better place to live through the technology with few steps.