Node.jsのパフォーマンスを測定するために、perfをインストールしたときのメモ
環境
node:12.16.2-alpine
方法
/etc/apk/repositories に以下のリポジトリを追加
http://dl-cdn.alpinelinux.org/alpine/edge/main # elfutils-devの0.179-r0を入れるため http://dl-cdn.alpinelinux.org/alpine/edge/testing # perfを入れるため
apkで依存関係とperfをインストールします
$ sudo apk add elfutils-dev=0.179-r0 perf
作業メモ
perfをインストールするため、Packageを検索します
デフォルトで設定されているbranchはv3.11なので、http://dl-cdn.alpinelinux.org/alpine/edge/testingを追加します
https://pkgs.alpinelinux.org/packages?name=perf&branch=edge&arch=x86_64
リポジトリを追加して$ sudo apk add perfをすると、libdw.soが見つからず失敗します
quired by: perf-5.4.25-r1[so:libdw.so.1]
こちらも検索すると、elfutils-devに含まれていることがわかります
https://pkgs.alpinelinux.org/contents?branch=edge&name=elfutils-dev&arch=x86_64&repo=main
elfutils-devをインストールしてからあらためてperfをインストールしようとしても、同じくlibdw.soが見つかりません
/usr/lib以下を見るとたしかにlibdw.soは存在しません
調べてみると、branchがedgeの場合のみlibdw.soが含まれるようです
http://dl-cdn.alpinelinux.org/alpine/edge/mainを追加、バージョンを指定してelfutils-devをインストールします
こうして無事perfのインストールができました