Package: golang-github-hodgesds-perf-utils-dev (0.5.1-2)
Links for golang-github-hodgesds-perf-utils-dev
Debian Resources:
Download Source Package golang-github-hodgesds-perf-utils:
- [golang-github-hodgesds-perf-utils_0.5.1-2.dsc]
- [golang-github-hodgesds-perf-utils_0.5.1.orig.tar.gz]
- [golang-github-hodgesds-perf-utils_0.5.1-2.debian.tar.xz]
Maintainers:
External Resources:
- Homepage [github.com]
Similar packages:
Perf Utilities for Go (library)
This package is a Go library for interacting with the perf subsystem in Linux. This library allows you to do things like see how many CPU instructions a function takes (roughly), profile a process for various hardware events, and other interesting things. Note that because the Go scheduler can schedule a goroutine across many OS threads it becomes rather difficult to get an exact profile of an individual goroutine. However, a few tricks can be used; first a call to runtime.LockOSThread (https://golang.org/pkg/runtime/#LockOSThread) to lock the current goroutine to an OS thread. Second a call to unix.SchedSetaffinity (https://godoc.org/golang.org/x/sys/unix#SchedSetaffinity), with a CPU set mask set. Note that if the pid argument is set 0 the calling thread is used (the thread that was just locked). Before using this library you should probably read the perf_event_open man page which this library uses heavily. See the kernel guide https://perf.wiki.kernel.org/index.php/Tutorial for a tutorial how to use perf and some of the limitations.
If you are looking to interact with the perf subsystem directly with perf_event_open syscall than this library is most likely for you. A large number of the utility methods in this package should only be used for testing and/or debugging performance issues. This is due to the nature of the Go runtime being extremely tricky to profile on the goroutine level, with the exception of a long running worker goroutine locked to an OS thread. Eventually this library could be used to implement many of the features of perf but in pure Go. Currently this library is used in node_exporter (https://github.com/prometheus/node_exporter) as well as perf_exporter (https://github.com/hodgesds/perf_exporter), which is a Prometheus exporter for perf related metrics.
Other Packages Related to golang-github-hodgesds-perf-utils-dev
|
|
|
|
-
- dep: dh-golang
- Debhelper-udvidelse for pakning af programmer skrevet i Go - golang
-
- dep: golang-github-stretchr-testify-dev (>= 1.3)
- Sacred-udvidelse til standardtestpakken for Go
-
- dep: golang-go.uber-multierr-dev (>= 1)
- Multierr tillader kombinering af en eller flere Go-fejl sammen
-
- dep: golang-golang-x-sys-dev
- Interaktion på lavt niveau med operativsystemet
Download golang-github-hodgesds-perf-utils-dev
Architecture | Package Size | Installed Size | Files |
---|---|---|---|
all | 23.3 kB | 194.0 kB | [list of files] |