<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          開源持續(xù)性能剖析平臺 Pyroscope

          共 1779字,需瀏覽 4分鐘

           ·

          2021-04-24 21:13

          性能剖析是動態(tài)代碼分析的一種形式,你可以在應用運行時捕獲應用的特征,然后使用這些特征信息確定如何使應用更快、更高效。但是對于線上生產(chǎn)環(huán)境來說很難捕獲到現(xiàn)場,所以捕獲線上 profile 的時候有一定難度,Google 在論文《Google-Wide Profiling: A Continuous Profiling Infrastructure for Data Centers》(https://research.google/pubs/pub36575/) 中介紹了內(nèi)部的 Profilling 系統(tǒng),簡稱 GWP,GWP 能夠持續(xù)地對跨數(shù)據(jù)中心的基礎設施進行 profilling,獲取包括了棧調(diào)用,硬件事件,堆 profile,內(nèi)核事件等等信息,并進行后續(xù)的數(shù)據(jù)分析,這個就是現(xiàn)在比較熱門的持續(xù)性能剖析。

          介紹

          持續(xù)性能剖析是指對在生產(chǎn)環(huán)境中執(zhí)行的應用進行性能剖析,此方法可緩解為生產(chǎn)環(huán)境開發(fā)準確的預測負載測試和基準的需求。與 metrics 類似,pprof 也是通過 HTTP 端點進行暴露,那么如果像 Prometheus 一樣,每隔一段時間定期去抓取程序的 profiles 并存儲在 TSDB 中,后續(xù)出現(xiàn)問題了再去查詢那個時間段的 profiles,就能夠很方便地定位到問題,這個就是基本的實現(xiàn)思路。

          我們今天要介紹的 Pyroscope 就是這樣的一個開源持續(xù)性能剖析平臺,號稱調(diào)試性能問題僅需一行代碼,目前已經(jīng)有 3.4k ????。

          演示地址:https://demo.pyroscope.io/

          下圖顯示了使用 pyroscope 運行的一個典型應用程序的基本架構:

          特性:

          • 可以存儲多個應用程序長時間的剖析數(shù)據(jù)
          • 可以一次查看長時間的數(shù)據(jù),也可以單獨查看特定的事件
          • 低 CPU 開銷
          • 數(shù)據(jù)壓縮效率高
          • 友好的用戶界面
          • 支持 Go、Ruby、Python 以及 Linux eBPF

          使用

          只需要下面幾條命令即可測試使用 pyroscope:

          # install pyroscope
          brew install pyroscope-io/brew/pyroscope

          #
           start pyroscope server:
          pyroscope server

          #
           in a separate tab, start profiling your app:
          pyroscope exec python manage.py runserver # If using Python
          pyroscope exec rails server               # If using Ruby

          #
           If using Pyroscope cloud add flags for server address and auth token
          # pyroscope exec -server-address "https://your_company.pyroscope.cloud" -auth-token "ps-key-1234567890" python manage.py runserver

          倉庫地址:https://github.com/pyroscope-io/pyroscope

          瀏覽 80
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天爱天天射 | 91 国产 爽 黄 喷水 | 一色逼毛 | 色综合天天综合网天天狠天天 | 中文在线视频 |