記事
· 2021年6月17日 4m read

Yape - さらに別のpButtonsエクストラクタ(チャートを自動作成)

注記(2019年6月): 多くの変更がありました。最新の情報についてはこちらをご覧ください
注記(2018年9月): この記事が最初に投稿されて以来、多くの変更がありました。Dockerコンテナバージョンを使用することをお勧めします。コンテナとして実行するためのプロジェクトと説明は、以前と同じGitHubの公開場所に残っていますので、ダウンロードして実行し、必要に応じて変更してください。

お客様と共にパフォーマンスレビュー、キャパシティ計画、およびトラブルシューティングに取り組む際、pButtonsから、Cachéとオペレーティングシステムのメトリクスを解凍してレビューすることがよくあります。 しばらく前、HTMLファイルを参照して、グラフ化するセクションを切り取ってExcelに貼り付ける代わりに、UNIXシェル、Perl、およAWKスクリプトで書かれたpButtonsメトリクスのアンパックユーティリティを使用する記事を投稿しました。 これは、時間を節約できる便利な手法ではありますが、内容が全部網羅されているわけではありません。 また、メトリクスを素早く確認して、レポートに含められるように、メトリクスを自動的にグラフ化するスクリプトも使用しています。 ただし、これらのグラフ作成スクリプトの管理は簡単に行えるわけではなく、iostatやwindows perfmonのディスクのリストなど、サイト固有の構成が必要な場合は特に複雑になるため、グラフ作成ユーティリティを一般に公開したことはありませんでしたが、 現在では、もっと単純なソリューションがあります。

この幸運は偶然にも、私がお客様の現場でシステムパフォーマンスを確認していたときに訪れました。Fabianが便利なPythonモジュールを使ってグラフ作成しているのを見せてくれたのです。 この方法は、私が使っていたスクリプトよりもはるかに柔軟で、管理しやすいソリューションです。 Pythonモジュールを統合してファイルの管理とグラフ作成を簡単に行え、さらにインタラクティブHTMLで共有できるため、出力にさらに高い使用効果があります。 そこで、Fabianの記事を基に、お客様のpButtonsファイルを素早く簡単に抽出して、いくつかの形式でグラフ化するYapeを作成しました。 このプロジェクトは、GitHubで公開しているため、ダウンロードして実行し、必要であれば変更することができます。

概要

現時点では、このプロセスには2つのステップがあります。

ステップ 1. extract_pButtons.py

関心のあるセクションをpButtonsから抽出し、Excelで開くか、graph_pButtons.pyでグラフ作成の処理を行えるように、.csvファイルに書き込みます。

ステップ 2. graph_pButtons.py

ステップ1で作成したファイルをグラフ化します。 現在、出力は折れ線グラフか点グラフで、.pngか、拡大縮小や印刷のオプションが備わったインタラクティブな .html形式で出力されます。

2つのPythonスクリプトのセットアップと実行方法については、GitHubのReadme.mdに説明されています。それが最新のリファレンスです。

その他の注意事項

例として、出力ディレクトリと入力ディレクトリにプレフィックスを追加するオプションを使用すると、ある一式(weeksなど)のpButtons HTMLファイルのあるディレクトリ内を簡単にナビゲートし、pButtonsファイルごとに個別のディレクトリに出力することができます。

for i in `ls *.html`; do ./extract_pButtons.py $i -p ${i}_; done

for i in `ls *.html`; do ./graph_pButtons.py ./${i}_metrics -p ${i}_; done

Cachéのキャパシティ計画とパフォーマンスに関する連載を続ける間、短期的には、これらのユーティリティを使ってグラフを作成しようと思います。

OSXではテストしましたが、Windowsではテストしていません。 WindowsにもPyathonをインストールして実行できるはずですが、Windowsでの使用体験について、フィードバックを書き込んでください。 おそらく、ファイルパスのスラッシュなどを変更する必要があると思います。

注意: 数週間前まで、Pythonを使ったことはありませんでした。Pythonエキスパートの方は、コードの書き方がベストプラクティスではないことに気づくことがあるかもしれません。 スクリプトはほぼ毎日使用しているので、今後も精進していきます。 私のPythonスキルが向上することを期待してはいますが、修正が必要な点があれば、遠慮なくご教授ください!

スクリプトが皆さんのお役に立てられたなら、そのことをお知らせください。また、定期的に記事をご覧の上、新機能や更新情報を入手してください。

ディスカッション (0)1
続けるにはログインするか新規登録を行ってください