7.6. پروفایلر ارزیابی
ارزیاب Nix از ارزیابی پروفایلسازی سازگار با flamegraph.pl پشتیبانی میکند. این ابزار پروفایلسازی، پشتهی فراخوانی تابع nix را در فواصل زمانی منظم نمونهبرداری میکند. این قابلیت را میتوان با تنظیم eval-profiler فعال کرد:
$ nix-instantiate "<nixpkgs>" -A hello --eval-profiler flamegraph فرکانس نمونهبرداری پشته (stack sampling frequency) و مسیر فایل خروجی را میتوان با گزینههای eval-profile-file و eval-profiler-frequency پیکربندی کرد. بهطور پیشفرض، پروفایل جمعآوریشده در فایل nix.profile در دایرکتوری کاری فعلی ذخیره میشود.
پروفایل جمعآوریشده میتواند مستقیماً توسط flamegraph.pl مصرف شود:
$ flamegraph.pl nix.profile > flamegraph.svg اطلاعات خط در پروفایل حاوی موقعیت مکان محل فراخوانی و نام تابعی است که در حال فراخوانی است (در صورت وجود). برای مثال:
/nix/store/2q71fdvr4h33g9832hiriwnf20fn630l-source/pkgs/top-level/default.nix:167:5:primop import در اینجا پرایموپ import در مسیر /nix/store/2q71fdvr4h33g9832hiriwnf20fn630l-source/pkgs/top-level/default.nix:167:5 فراخوانی میشود.
nix.dev/manual/nix/stable/advanced-topics/eval-profiler.html