YoVDO

An Introduction to Go Tool Trace

Offered By: Gopher Academy via YouTube

Tags

GopherCon Courses Go Courses Race Conditions Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the execution tracer (go tool trace), one of Go's most powerful diagnosis tools, in this conference talk from GopherCon 2017. Learn how to leverage this complex yet invaluable tool to understand goroutine interactions in great detail, uncover latency bugs, and identify logical races. Dive into topics such as correct and effective concurrency management, parallelism exploitation, and timing-dependent bugs. Discover how to use the -race flag for testing, building, and installing Go programs. Examine trace views, sync blocking profiles, and goroutine analysis techniques. Gain insights into Go's garbage collection improvements, including parallel threads and Stop-The-World pauses. Understand the challenges of large heaps and awkward pauses in user code. Prepare yourself by practicing with these essential tools to enhance your Go programming skills and optimize your concurrent applications.

Syllabus

go tool trace for correct and effective concurrency
A special tool for Go's needs
goroutine scheduling instrumented
Concurrency, and how to manage it
Parallelism, and how to exploit it
A timing-dependent bug
#1: A race condition
go test -race go build -race go install -race
a logical race, not a data race
View trace
Sync blocking profile
Goroutine analysis
It's not a panacea
1. Testing with -trace flag
and large (40GB) heap
The GC is still improving
Go 1.1: GC uses parallel threads
#3A: Stop-The-World pauses
The Go 1.10 compiler should have a general, permanent fix
#3B: Other awkward pauses
User code works against that
Be prepared: practice using the tools


Taught by

Gopher Academy

Related Courses

Paradigms of Computer Programming – Abstraction and Concurrency
Université catholique de Louvain via edX
Concurrency in Go
University of California, Irvine via Coursera
Многопоточность
Moscow Institute of Physics and Technology via Coursera
Introduction to Ethereum DeFi Smart Contract Security & Exploits
Coursera Project Network via Coursera
Concurrency in Go (Golang)
Udemy