--- Begin Message ---
- To: submit@bugs.debian.org
- Subject: ITP: golang-github-hodgesds-perf-utils -- Perf Utilities for Go
- From: Benjamin Drung <benjamin.drung@ionos.com>
- Date: Thu, 28 Oct 2021 11:55:18 +0200
- Message-id: <faff295455f7db8bb7d9c115f4263643b81473e7.camel@ionos.com>
X-Debbugs-CC: debian-devel@lists.debian.org, debian-go@lists.debian.org
Package: wnpp
Severity: wishlist
Owner: Benjamin Drung <benjamin.drung@ionos.com>
* Package name : golang-github-hodgesds-perf-utils
Version : 0.3.1-1
Upstream Author : Daniel Hodges
* URL : https://github.com/hodgesds/perf-utils
* License : Expat
Programming Lang: Go
Description : Perf Utilities for Go
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.
This package was vendored in prometheus-node-exporter and is packages now
separately. I will maintain this package as part of the Go team.
--
Benjamin Drung
Senior DevOps Engineer and Debian & Ubuntu Developer
Compute Platform Operations
1&1 IONOS SE | Greifswalder Str. 207 | 10405 Berlin | Deutschland
E-Mail: benjamin.drung@ionos.com | Web: www.ionos.de
Hauptsitz Montabaur, Amtsgericht Montabaur, HRB 24498
Vorstand: Hüseyin Dogan, Dr. Martin Endreß, Claudia Frese, Henning
Kettler, Arthur Mai, Matthias Steinberg, Achim Weiß
Aufsichtsratsvorsitzender: Markus Kadelke
Member of United Internet
--- End Message ---
--- Begin Message ---
Source: golang-github-hodgesds-perf-utils
Source-Version: 0.3.1-1
Done: Benjamin Drung <benjamin.drung@ionos.com>
We believe that the bug you reported is fixed in the latest version of
golang-github-hodgesds-perf-utils, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 997989@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Benjamin Drung <benjamin.drung@ionos.com> (supplier of updated golang-github-hodgesds-perf-utils package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Format: 1.8
Date: Thu, 28 Oct 2021 11:58:09 +0200
Source: golang-github-hodgesds-perf-utils
Binary: golang-github-hodgesds-perf-utils-dev
Architecture: source all
Version: 0.3.1-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Go Packaging Team <team+pkg-go@tracker.debian.org>
Changed-By: Benjamin Drung <benjamin.drung@ionos.com>
Description:
golang-github-hodgesds-perf-utils-dev - Perf Utilities for Go (library)
Closes: 997989
Changes:
golang-github-hodgesds-perf-utils (0.3.1-1) unstable; urgency=medium
.
* Initial release (Closes: #997989)
Checksums-Sha1:
df9f6e989a647312ea3ee33ace95ee06329e2d3f 2380 golang-github-hodgesds-perf-utils_0.3.1-1.dsc
f1e0507569d4d190d6a240dd0caad6944846e574 27314 golang-github-hodgesds-perf-utils_0.3.1.orig.tar.gz
eedf5eb1c92b662220a5146172deceac65935d45 3332 golang-github-hodgesds-perf-utils_0.3.1-1.debian.tar.xz
df1acd262f3465fb929bafbb76f60493a9a40714 22408 golang-github-hodgesds-perf-utils-dev_0.3.1-1_all.deb
8235854495a39f7175d4fa66b10e29bfa5e9ec0e 6465 golang-github-hodgesds-perf-utils_0.3.1-1_amd64.buildinfo
Checksums-Sha256:
7502fc81c99864f1a975ed40315c71176653300b6acb6514dd222e2742ec53bc 2380 golang-github-hodgesds-perf-utils_0.3.1-1.dsc
9c8ca74ab6bb55efb11dc8af90a3ed0e07548aad0a9ef3d7f16e7c8151c75116 27314 golang-github-hodgesds-perf-utils_0.3.1.orig.tar.gz
07ffbd792b1b5c70db146eeea2ef7dfcd9d1b2fe66686f9206d955252eb53363 3332 golang-github-hodgesds-perf-utils_0.3.1-1.debian.tar.xz
d6ae38be87590c59e21fad730acb0d6f4ae23b06b22d91719c0546e656e4aa3c 22408 golang-github-hodgesds-perf-utils-dev_0.3.1-1_all.deb
647f08109d0aa61649db696d7fffb8be0c69403acfc0fc9fc84d66c9eec04111 6465 golang-github-hodgesds-perf-utils_0.3.1-1_amd64.buildinfo
Files:
cc5b58cb2ed962af6503418f7dc116b3 2380 golang optional golang-github-hodgesds-perf-utils_0.3.1-1.dsc
dcef38e18c758a5f31006778acaf9ca9 27314 golang optional golang-github-hodgesds-perf-utils_0.3.1.orig.tar.gz
7d67f76ab743e7853c1d35fec220170f 3332 golang optional golang-github-hodgesds-perf-utils_0.3.1-1.debian.tar.xz
72be4219ff6cae590c7caf12a0b3d1f4 22408 golang optional golang-github-hodgesds-perf-utils-dev_0.3.1-1_all.deb
4a671debad4d4b394fcaa0701d8e8b1c 6465 golang optional golang-github-hodgesds-perf-utils_0.3.1-1_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCgAdFiEE5/q3CzlQJ15towl13YzVpd6MfnoFAmF6dUcACgkQ3YzVpd6M
fnoDqA/9GchCeVocvtaCQzzFgwXJvo87Aa3b+HkgCDbkWDk9HXx9nbAHgtSu8bjA
px0VXknZe7NCZJUYTidDYckV8p/H5lwZUATlQYRCskxs1sCIy6+ZwchLxthr/LJn
6l2ssTX5TPBqy2TZ1elSlXdK51SBzN/HeljbpXMsTaaxWC1iEfgIBgB6AqxoYz6d
cuy8bPFD8EJsgvUWvqsBAs7GQ1ZyK70AQxp3qBP/rexiRPfDuEt55+J5d4VlKhSI
mdTlzj/Ilhr/qi/EHBTUbzvwtGI58fNVvMjf0V0vDVnOTfDm/HZMy9lN2oit3h/M
dBRv8poRU0VBhi/BI7p2EcNtG+/8OL155GOeuYzsYK7hzSFestbs8FiLBhyXCmCw
GMsBvS9B64ai8baTwQbP7HGPmaVC2DBLJe+4tujLBNzehgeXKtuwgPZI3Z5b7gQ7
34ifUXCu9Di4D5XhErfGgU/3mbHINtxWtZgrp1yDakyb9nwcWrRBFnqZ9488PFu8
rl52+1dp+g9vDQbkL60xACSZtyQG7YzFXl6Uh258aR3JzAc9MBdp+n/GWLPZV7Si
QPX2IV9Uljnce1Hh8oUGQuTngiwafnFVC2R14KGvj+HVUFctAbQ/LEHmo/qZIN72
dTIiCpSgvhaWW189fv3qH9z8A98Rmunp7GiLO6KhAP8gLWhZq7s=
=3A1j
-----END PGP SIGNATURE-----
--- End Message ---