Using Postgres Workload Report
==============================

前提条件
--------

Postgresワークロードレポートは、\ ``edb_wait_states``
拡張機能バージョン1.2以降がロードされているPostgresサーバーのレポートのみを提供できます。さらに、PWRは、\ ``edb_wait_states``
拡張機能がサーバーにロードされた時間間隔のクエリ待機レポートのみを提供できます。

詳細については、 `edb_wait_states <https://www.enterprisedb.com/docs/pg_extensions/wait_states/>`_ を参照してください。

レポートのソース情報
--------------------

``edb-pwr`` および\ ``edb-lasso``
パッケージがマシンにインストールされ、\ ``edb_wait_states``
拡張機能が十分な期間ロードされた状態でサーバーが実行された後、Postgres
Workload
Reportを使用して、実行中に実行されていたクエリの待機状態のレポートを抽出できます。指定された時間間隔。

あるいは、Postgresワークロードレポートは、\ ``edb_wait_states``
がロードされたサーバーでレポートが実行されたと仮定して、既存のLassoレポートからレポートを生成できます。このため、Postgresワークロードレポートには必須の第1引数があり、次の2つのいずれかです。

-  ``execute``

-  ``report``

``execute``
引数はエンドツーエンドの実行を実行し、適切なオプションで\ ``lasso``
を呼び出し、生成されたtarballレポートを入力として使用して、HTML、Markdown、DOCX、またはPDFレポートを生成します。

``report``
引数は、待機状態レポートを処理および生成するための入力として、\ ``lasso``
レポートコンテンツを保存するディレクトリを使用します。 ``report``
引数を使用するには、解凍および解凍された\ ``lasso``
レポートが既に存在する必要があります。

``execute`` オプションの例
--------------------------

この例では、1月10日9:00から1月10日13:00までの間隔でのPostgresサーバー\ ``myserver``
のクエリ待機に関するレポートを生成します。その頃、インシデントが発生しました。根本的な原因を提供するために調査する必要があります。
``edb_wait_states``
がインストールされるサーバーのメインデータベースは\ ``my-oltp`` です。

このようなレポートをHTML形式で取得するには、次のコマンドを使用します。

.. code:: shell

   pwr execute --host-name myserver --sampling-start 2024-01-10 09:00+00 \
       --sampling-end 2024-01-10 13:00+00 --html \
       --report-name Jan10_incident my-oltp postgres 

``pwr execute -h``
を実行して、使用可能なオプションの完全な出力を取得できます。

``report`` オプションの例
-------------------------

場合によっては、既にLassoレポートがあり、PWRにLassoレポートをソースとして使用し、それに基づいてレポートを構築したい場合があります。これらの場合、
``pwr report`` オプションは役立ちます。

この例では、既に説明したのと同じシナリオを使用できますが、上記で共有した時間境界を使用して既に実行されたなげなLassoレポートを使用します。
Lassoレポートの名前が\ ``edb-lasso-Jan10-incident.tar.bz2``
で、\ ``pwr report``
が実行されるマシンのホームディレクトリにあると仮定します。

次のコマンドを実行すると、\ ``~/pwr_output/Jan10_incident.html``
に保存されたHTMLレポートが生成されます。

.. code:: shell

   cd ~/
   mkdir -p pwr_tmp/
   tar jxf ../edb-lasso-Jan10-incident.tar.bz2 -C ~/pwr_tmp/ --strip-components=1
   pwr report \
       --input-dir ~/pwr_tmp/postgresql/dbs/my-oltp/edb_wait_states/ \
       --html --output-dir ~/pwr_output/ --report-name Jan10_incident

``pwr report -h``
を実行して、使用可能なオプションの完全な出力を取得できます。
