5d22d5ac8e
* pip-compile docs/requirements.txt
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Add Sphinx docs config
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Add Sphinx config
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Update docs build config
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* style(conf.py): Apply black formatting to docs/conf.py
Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
* Update docs requirements
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Update to rocm-docs-core 1.3.0
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Update docs requirements
Signed-off-by: Peter Jun Park <peter.park@amd.com>
pip-compile requirements
Signed-off-by: Peter Jun Park <peter.park@amd.com>
bump rocm-docs-core to 1.5.0
bump rocm-docs-core to 1.4.1
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* Add dependabot.yml and update CODEOWNERS
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Update toc and conf
Signed-off-by: Peter Jun Park <peter.park@amd.com>
update dependabot
* Port docs to rocm-docs standard
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Add toc and Diataxis cards
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Add basic file structure
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add glossary
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add includes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Add license.rst
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add compatible hw
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fix spelling and license
Signed-off-by: Peter Jun Park <peter.park@amd.com>
clean up index
Signed-off-by: Peter Jun Park <peter.park@amd.com>
clean up installation guides
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add basic usage (quickstart)
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add ref to global options
update toc
Signed-off-by: Peter Jun Park <peter.park@amd.com>
modularize modes and global options
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add profile mode
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fixes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
reorg and clean up
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add dynamic omniperf version number in installation guide
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add datatemplate
more reorg
Signed-off-by: Peter Jun Park <peter.park@amd.com>
clean up
Signed-off-by: Peter Jun Park <peter.park@amd.com>
reorg images
move profile mode
reorg
reorg
reorg more
fix formatting
fix headings
ref anchor mi2xx note
add extlinks
add extlinks
Signed-off-by: Peter Jun Park <peter.park@amd.com>
black format
fix formatting, anchors
Signed-off-by: Peter Jun Park <peter.park@amd.com>
reorg
fix words and formatting
Signed-off-by: Peter Jun Park <peter.park@amd.com>
formatting
Signed-off-by: Peter Jun Park <peter.park@amd.com>
same
reorg
format
fix formatting
fix toc
Signed-off-by: Peter Jun Park <peter.park@amd.com>
format
* impr internal linking and fix sphinx warnings
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* add spellcheck/linting from rocm-docs-core
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fix rst directives
satisfy spellcheck
fix more spelling
rm unused files
fix spelling and update wordlist
* bump rocm-docs-core to 1.6.0
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* add fixes from @skyreflectedinmirrors and @lpaoletti
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add references to toc
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add more fixes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* add package manager install section
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* add fixes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add metadata and fixes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add fixes
bump to 1.6.1
more fixes
fix fmt in profiling examples
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add missing mem type table
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fix formatting
fmt
* add custom css
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fix css fs
* make images/figs click-to-expand
Signed-off-by: Peter Jun Park <peter.park@amd.com>
add missed image
update
fix link
* update documentation link in README
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* formatting fixes
Signed-off-by: Peter Jun Park <peter.park@amd.com>
more formatting
* fix heading
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* move archived docs
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* exclude archived docs from docs build
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* update archived docs workflow
Signed-off-by: Peter Jun Park <peter.park@amd.com>
move files
update archived docs workflow
Signed-off-by: Peter Jun Park <peter.park@amd.com>
fix version number
clean up workflow
workflow test
workflow test
another workflow test
* rm docs linting
Signed-off-by: Peter Jun Park <peter.park@amd.com>
* Apply cmake-format suggested changes
Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
* Apply cmake-format
Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
---------
Signed-off-by: Peter Jun Park <peter.park@amd.com>
Signed-off-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
Co-authored-by: Sam Wu <22262939+samjwu@users.noreply.github.com>
[ROCm/rocprofiler-compute commit: a0dc485ceb]
210 sor
6.3 KiB
ReStructuredText
210 sor
6.3 KiB
ReStructuredText
.. meta::
|
|
:description: Omniperf Grafana server installation and deployment
|
|
:keywords: Omniperf, ROCm, profiler, tool, Instinct, accelerator, AMD,
|
|
install, deploy, Grafana, server, configuration, GUI
|
|
|
|
****************************************
|
|
Setting up a Grafana server for Omniperf
|
|
****************************************
|
|
|
|
A Grafana server is *not required* to profile or analyze performance data
|
|
from the CLI. It's a supplementary mechanism to help you import performance
|
|
data and examine it in a detailed
|
|
`Grafana <https://github.com/grafana/grafana>`_ dashboard GUI.
|
|
|
|
Learn about installing and configuring the main Omniperf tool in
|
|
:ref:`core-install`.
|
|
|
|
Setting up a Grafana instance for Omniperf requires the following basic software
|
|
dependencies.
|
|
|
|
* `Docker Engine <https://docs.docker.com/engine/install/>`_
|
|
|
|
The recommended process for enabling the server-side of Omniperf is to use the
|
|
provided ``Dockerfile`` to build the Grafana and MongoDB instance.
|
|
|
|
.. _grafana-mongodb-setup:
|
|
|
|
Set up Grafana and MongoDB
|
|
==========================
|
|
|
|
Once you've decided where to host the Grafana and MongoDB instance, complete the
|
|
the following setup instructions.
|
|
|
|
Install MongoDB utilities
|
|
-------------------------
|
|
|
|
Omniperf uses the
|
|
`mongoimport <https://www.mongodb.com/docs/database-tools/mongoimport/>`_
|
|
utility to upload data to your Grafana instance's backend database.
|
|
|
|
Use the following commands to install MongoDB utilities for Ubuntu 20.04.
|
|
|
|
.. code-block:: bash
|
|
|
|
$ wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
|
|
$ sudo apt install ./mongodb-database-tools-ubuntu2004-x86_64-100.6.1.deb
|
|
|
|
.. note::
|
|
|
|
Find installation instructions for other distributions in
|
|
`MongoDB Database Tools Downloads <https://www.mongodb.com/download-center/database-tools/releases/archive>`_.
|
|
|
|
.. _grafana-persistent-storage-setup:
|
|
|
|
Set up persistent storage
|
|
-------------------------
|
|
|
|
Bind MongoDB to a directory on the host OS to create a local backup in case of a
|
|
crash or reset. This is called *creating a persistent volume*.
|
|
|
|
.. code-block:: bash
|
|
|
|
$ sudo mkdir -p /usr/local/persist && cd /usr/local/persist/
|
|
$ sudo mkdir -p grafana-storage mongodb
|
|
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/grafana-storage --opt o=bind grafana-storage
|
|
$ sudo docker volume create --driver local --opt type=none --opt device=/usr/local/persist/mongodb --opt o=bind grafana-mongo-db
|
|
|
|
.. _grafana-docker-container:
|
|
|
|
Build and launch the Docker container
|
|
-------------------------------------
|
|
|
|
You're now ready to build your ``Dockerfile``. Navigate to your Omniperf install
|
|
directory to begin.
|
|
|
|
.. code-block:: bash
|
|
|
|
$ cd grafana
|
|
$ sudo docker-compose build
|
|
$ sudo docker-compose up -d
|
|
|
|
The TCP ports for Grafana (``4000``) and MongoDB (``27017``) in the Docker
|
|
container are mapped to ``14000`` and ``27018``, respectively, on the host side.
|
|
|
|
.. tip::
|
|
|
|
In the event that either your Grafana or MongoDB instance crashes fatally,
|
|
just restart the server. Navigate to your install directory and run:
|
|
|
|
.. code-block::
|
|
|
|
$ sudo docker-compose down
|
|
$ sudo docker-compose up -d
|
|
|
|
.. _grafana-dashboard-setup:
|
|
|
|
Set up the Grafana dashboard
|
|
----------------------------
|
|
|
|
Once you've launched your Docker container you should be able to reach Grafana
|
|
at ``http://<host-ip>:14000``. The default login credentials for your first-time
|
|
Grafana setup are:
|
|
|
|
* **Username**: ``admin``
|
|
* **Password**: ``admin``
|
|
|
|
.. figure:: ../data/install/grafana_welcome.png
|
|
:align: center
|
|
:alt: Grafana dashboard welcome screen
|
|
:width: 800
|
|
|
|
Grafana's welcome screen.
|
|
|
|
.. _grafana-datasource-setup:
|
|
|
|
Configure the MongoDB data source
|
|
---------------------------------
|
|
|
|
You must configure your MongoDB data source in Grafana before first-time use.
|
|
Navigate to Grafana's **Configuration** page to add the "Omniperf Data"
|
|
connection.
|
|
|
|
.. figure:: ../data/install/datasource_config.jpg
|
|
:align: center
|
|
:alt: Grafana data source configuration
|
|
:width: 800
|
|
|
|
Grafana's Configuration page.
|
|
|
|
Configure the following fields in the data source settings.
|
|
|
|
.. list-table::
|
|
:stub-columns: 1
|
|
|
|
* - HTTP URL
|
|
- ``http://localhost:3333``
|
|
|
|
* - MongoDB URL
|
|
- ``mongodb://temp:temp123@\<host-ip>:27018/admin?authSource=admin``
|
|
|
|
* - Database Name
|
|
- ``admin``
|
|
|
|
After configuring these fields, click **Save & test** to make sure your
|
|
connection is successful.
|
|
|
|
.. figure:: ../data/install/datasource_settings.jpg
|
|
:align: center
|
|
:alt: Grafana data source settings
|
|
:width: 800
|
|
|
|
Grafana data source settings.
|
|
|
|
.. note::
|
|
|
|
To avoid potential DNS issues, you might need to use the actual IP address
|
|
for the host node in the MongoDB URL.
|
|
|
|
.. _grafana-import-dashboard-file:
|
|
|
|
Import the Omniperf dashboard file
|
|
----------------------------------
|
|
|
|
From the **Create** → **Import** page, upload the dashboard file,
|
|
``/dashboards/Omniperf_v{__VERSION__}_pub.json`` from the
|
|
:doc:`Omniperf tarball <core-install>`.
|
|
|
|
Edit both the dashboard **Name** and the **Unique identifier (UID)** fields to
|
|
uniquely identify the dashboard. Click **Import** to complete the process.
|
|
|
|
.. figure:: ../data/install/import_dashboard.png
|
|
:align: center
|
|
:alt: Grafana's import dashboard
|
|
:width: 800
|
|
|
|
Grafana's Import dashboard.
|
|
|
|
.. _grafana-select-workload:
|
|
|
|
Select and load the Omniperf workload
|
|
-------------------------------------
|
|
|
|
Once you have imported a dashboard you're ready to begin. Start by browsing
|
|
available dashboards and selecting the dashboard you have just imported.
|
|
|
|
.. figure:: ../data/install/opening_dashboard.png
|
|
:align: center
|
|
:alt: Opening your Omniperf dashboard in Grafana
|
|
:width: 800
|
|
|
|
Opening your Omniperf profiling dashboard in Grafana.
|
|
|
|
Remember that you need to upload workload data to the MongoDB backend before
|
|
analyzing in your Grafana interface. See a detailed example of this in
|
|
:ref:`grafana-gui-import`.
|
|
|
|
After a workload has been successfully uploaded, you should be able to select it
|
|
from the workload dropdown located at the top of your Grafana dashboard.
|
|
|
|
.. figure:: ../data/install/grafana_workload_selection.png
|
|
:align: center
|
|
:alt: Omniperf workload selection in Grafana
|
|
:width: 800
|
|
|
|
Selecting your Omniperf workload in Grafana.
|
|
|
|
For more information on how to use the Grafana interface for analysis see
|
|
:doc:`/how-to/analyze/grafana-gui`.
|
|
|