Yandex ta sanar da fitar da kayan aikin Perforator na bude tushen, wanda aka tsara don ci gaba da tattara cikakkun bayanai tare da bayanai game da aikin aikace-aikace kuma an tsara shi don amfani a cikin manyan gungu da cibiyoyin bayanai. Kayan aikin yana ba da damar yin nazari a ainihin lokacin aikin aikace-aikace, rarraba albarkatu, da Linux-серверах и выявлять наиболее ресурсоёмкие приложения. Код написан на языке С++ и распространяется под лицензией MIT (eBPF-программы под GPLv2).
An yi amfani da Yandex Perforator a cikin rukunin ma'ajiyar bayanai sama da 10 kuma ana amfani da shi don gano da gyara matsalolin aiki a cikin ayyuka daban-daban, gami da Yandex Search da Yandex Advertising. An yaba wa Perforator wajen kawar da matsaloli da kuma inganta kwamfuta mai amfani da albarkatu, wanda hakan ya ba Yandex damar rage farashinta da kashi 20%. sabobin.
Da'awar iyawar:
- Использование подсистемы ядра eBPF и API perf_events для сборка сведений о работе компонентов ядра Linux и приложений в пространстве пользователя. Накладные расходы при сборе метрик приводят к снижению производительности примерно на 0.1%. Поддерживается работа только на системах с архитектурой x86-64.
- Ma'ajin bayanin martaba mai iya daidaitawa. Ana amfani da ClickHouse DBMS don adana bayanan bayanan martaba, ana amfani da PostgreSQL don adana metadata na binary, kuma duk wani ajiyar da ya dace da Amazon S3 ana amfani da shi don adana bayanan martaba da bayanan binary.
- Ikon kwance tarin kira ba tare da kunna alamomin kuskure ba da zaɓin -fno-omit-frame-pointer lokacin gina shirye-shirye (ajiye mai nuni zuwa firam ɗin tari mai ɗauke da adiresoshin dawowa da masu canjin aiki).
- Samar da yaren tambaya da haɗin yanar gizo don duba nauyin CPU lokacin gudanar da aikace-aikace.

- Ana amfani da hangen nesa na salon FlameGraph don tantance ƙullawar gani.

- Ikon bayanin ayyukan ta hanyar amfani da harsuna daban-daban da lokutan gudu ba tare da canza tsarin gini ba ko shirye-shiryen sake tattarawa. An ayyana goyan bayan yarukan shirye-shirye C++, Go, Rust, Java, Python da JavaScript/Node.js.
- Ikon samar da bayanan martaba na sPGO don taron na gaba na aikace-aikace tare da haɓakawa dangane da sakamakon haɓakar lambar (PGO - Ingantaccen Bayanin Bayani), wanda ke ba da damar samar da mafi kyawun lambobi dangane da nazarin fasalulluka na aiwatar da shirin.
- Поддержка использования в качестве замены инструментария perf в Linux.
- Aiwatar da aiki ta atomatik a cikin gungu na tushen Kubernetes. Kowane kumburi yana gudanar da wakili na musamman wanda ke tattarawa, tarawa, matsawa, da watsa bayanan aiki. Ana watsa bayanai ta hanyar wakilai a cikin tsarin da ya dace da pprof ta hanyar gRPC zuwa microservices da ke da alhakin tattarawa, adanawa, nazari, yin alama (canza adireshi zuwa sunayen aiki da matsayi a cikin lamba) da bayanan martaba da masu aiwatarwa (wajibi don cirewa tari).


source: budenet.ru




