1{ lib
2, buildGoModule
3, fetchFromGitHub
4}:
5
6buildGoModule rec {
7 pname = "pprof";
8 version = "unstable-2022-05-09";
9
10 src = fetchFromGitHub {
11 owner = "google";
12 repo = "pprof";
13 rev = "59ca7ad80af3faf4f87f4d82ff02f5d390c08ed6";
14 sha256 = "0jni73ila3glg7rl11v0al947d94dd0syhkjqnliaryh8dkxbx80";
15 };
16
17 vendorSha256 = "0vr8jp3kxgadb73g67plfrl5dkxfwrxaxjs664918jssy25vyk2y";
18
19 meta = with lib; {
20 description = "A tool for visualization and analysis of profiling data";
21 homepage = "https://github.com/google/pprof";
22 license = licenses.asl20;
23 longDescription = ''
24 pprof reads a collection of profiling samples in profile.proto format and
25 generates reports to visualize and help analyze the data. It can generate
26 both text and graphical reports (through the use of the dot visualization
27 package).
28
29 profile.proto is a protocol buffer that describes a set of callstacks and
30 symbolization information. A common usage is to represent a set of sampled
31 callstacks from statistical profiling. The format is described on the
32 proto/profile.proto file. For details on protocol buffers, see
33 https://developers.google.com/protocol-buffers
34
35 Profiles can be read from a local file, or over http. Multiple profiles of
36 the same type can be aggregated or compared.
37
38 If the profile samples contain machine addresses, pprof can symbolize them
39 through the use of the native binutils tools (addr2line and nm).
40
41 This is not an official Google product.
42 '';
43 };
44}