You've already forked go-profiler-notes
mirror of
https://github.com/DataDog/go-profiler-notes.git
synced 2025-07-12 23:50:13 +02:00
update links and stuff
This commit is contained in:
12
README.md
12
README.md
@ -3,15 +3,15 @@
|
|||||||
I've just started a new job at [Datadog](https://www.datadoghq.com/) to work on [Continuous Profiling](https://www.datadoghq.com/product/code-profiling/) for Go. To make sure that I know what I'm talking about, I'm planning to do an in-depth study of the existing profilers and how they work. I'll try to summarize what I learned in this repository as it might be useful to others.
|
I've just started a new job at [Datadog](https://www.datadoghq.com/) to work on [Continuous Profiling](https://www.datadoghq.com/product/code-profiling/) for Go. To make sure that I know what I'm talking about, I'm planning to do an in-depth study of the existing profilers and how they work. I'll try to summarize what I learned in this repository as it might be useful to others.
|
||||||
|
|
||||||
- [pprof tool & format](./pprof.md): Describes the pprof tool and it's binary data format.
|
- [pprof tool & format](./pprof.md): Describes the pprof tool and it's binary data format.
|
||||||
|
- [Goroutine Profiling](./goroutine.md)
|
||||||
|
|
||||||
## Todo
|
## Todo
|
||||||
|
|
||||||
- CPU Profiler
|
- CPU Profiling
|
||||||
- Heap Profiler
|
- Heap Profiling
|
||||||
- Mutex Profiler
|
- Mutex Profiling
|
||||||
- Goroutine Profiler
|
- Block Profiling
|
||||||
- Block Profiler
|
- Wallclock Profiling (fgprof)
|
||||||
- Wallclock Profiler (fgprof)
|
|
||||||
|
|
||||||
## External Links
|
## External Links
|
||||||
|
|
||||||
|
4
cpu.md
4
cpu.md
@ -1,8 +1,6 @@
|
|||||||
🚧 This note is still work in progress, please come back later! 🚧
|
🚧 This note is still work in progress, please come back later! 🚧
|
||||||
|
|
||||||
# Go's CPU profiler
|
# CPU Profiling in Go
|
||||||
|
|
||||||
[TOC]
|
|
||||||
|
|
||||||
## How it works
|
## How it works
|
||||||
|
|
||||||
|
@ -12,6 +12,8 @@ A `batch` has a `start` and an `end` time as well as a slice of `profiles`. Each
|
|||||||
|
|
||||||
## Payload Format
|
## Payload Format
|
||||||
|
|
||||||
|
TODO: This is outdated, needs updating [based on this PR](https://github.com/DataDog/dd-trace-go/pull/781).
|
||||||
|
|
||||||
The payload uses `multipart/form-data` encoding and includes the following form fields for every `batch` that is being uploaded.
|
The payload uses `multipart/form-data` encoding and includes the following form fields for every `batch` that is being uploaded.
|
||||||
|
|
||||||
- `format`: Always `pprof`
|
- `format`: Always `pprof`
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
This document was last updated for `go1.15.6` but probably still applies to older/newer versions for the most parts.
|
This document was last updated for `go1.15.6` but probably still applies to older/newer versions for the most parts.
|
||||||
|
|
||||||
# Go's Goroutine Profiler
|
# Goroutine Profiling in Go
|
||||||
|
|
||||||
Go has various APIs to provide users with a list of **active** goroutines, their current stack trace, as well as various other properties. Some APIs expose this information as statistical summaries, while other APIs provide information for each individual goroutine.
|
Go has various APIs to provide users with a list of **active** goroutines, their current stack trace, as well as various other properties. Some APIs expose this information as statistical summaries, while other APIs provide information for each individual goroutine.
|
||||||
|
|
||||||
|
1
pprof.md
1
pprof.md
@ -150,3 +150,4 @@ The output above is truncated also, [pprof.samples.cpu.001.protoc.txt](./example
|
|||||||
- Write more about using `go tool pprof` itself.
|
- Write more about using `go tool pprof` itself.
|
||||||
- Explain why pprof can be given a path to the binary the profile belongs to.
|
- Explain why pprof can be given a path to the binary the profile belongs to.
|
||||||
- Get into more details about line numbers / addresses.
|
- Get into more details about line numbers / addresses.
|
||||||
|
- Talk about mappings and when a Go binary might have more than one
|
||||||
|
Reference in New Issue
Block a user