blob: c8d49ab84c9293aff3bdc2765d30ca16d864c131 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
{
lib,
buildBazelPackage,
fetchFromGitHub,
bazel_6,
jdk,
elfutils,
libcap,
}:
buildBazelPackage rec {
pname = "perf_data_converter";
version = "0-unstable-2024-03-12";
src = fetchFromGitHub {
owner = "google";
repo = "perf_data_converter";
rev = "e1cfe1e7e5d8cf3b728a166bf02d4227c82801eb";
hash = "sha256-Y3tBLH2jf1f28o6RK2inq9FulKc66qcqwKmxYdFC5tA=";
};
bazel = bazel_6;
bazelFlags = [
"--java_runtime_version=local_jdk"
"--tool_java_runtime_version=local_jdk"
];
fetchAttrs = {
sha256 = "sha256-Qm6Ng9cXvKx043P7qyNHyyMvdGK9aNarX1ZKeCp3mgY=";
};
nativeBuildInputs = [ jdk ];
buildInputs = [
elfutils
libcap
];
removeRulesCC = false;
bazelBuildFlags = [ "-c opt" ];
bazelTargets = [ "src:perf_to_profile" ];
bazelTestTargets = [ "src:all" ];
buildAttrs = {
installPhase = ''
runHook preInstall
install -Dm555 -t "$out/bin" bazel-bin/src/perf_to_profile
runHook postInstall
'';
};
meta = with lib; {
description = "Tool to convert Linux perf files to the profile.proto format used by pprof";
homepage = "https://github.com/google/perf_data_converter";
license = licenses.bsd3;
maintainers = with maintainers; [ hzeller ];
platforms = platforms.linux;
};
}
|