# Checking results with Adaptyst Analyser<no value>
After running Adaptyst, you can analyse its results with a separate program called Adaptyst Analyser.

## Modules in Adaptyst Analyser
You must install the same modules you use in Adaptyst in Adaptyst Analyser. Each module comes with its Adaptyst Analyser part that can be set up by running:
```bash
adaptyst-analyser <path to the Adaptyst Analyser module directory>
```

You can check the list of currently-installed modules in Adaptyst Analyser by running ```adaptyst-analyser -l```.

## Web server / Interactive website
The main functionality of Adaptyst Analyser is a web server serving the interactive website for browsing performance analysis results produced e.g. by Adaptyst.

The server can be started by running:
```bash
adaptyst-analyser <path to results>
```
where ```<path to results>``` is the path to a directory containing result folders created e.g. by Adaptyst. For configuration options, see ```adaptyst-analyser --help```.

{{< details "Help message printed by ```adaptyst-analyser --help```" >}}
```
usage: adaptyst-analyser [-h] [--version] [-a ADDR] [-t TITLE] [-b CSS] [--force-install] [-u] [-d] [-l] [PATH]

Adaptyst Analyser web server

positional arguments:
  PATH             relative or absolute path to a performance analysis results directory to inspect or an Adaptyst Analyser
                   module directory to install

options:
  -h, --help       show this help message and exit
  --version        print version and exit
  -a ADDR          address and port to bind to, default: 127.0.0.1:8000
  -t TITLE         custom title to be displayed alongside "Adaptyst Analyser" (e.g. if set to XYZ, the displayed entire
                   title will be "Adaptyst Analyser (XYZ)")
  -b CSS           custom background CSS of the website (syntax is the same as in "background" in CSS, do not use
                   semicolons)
  --force-install  (re)install all core JavaScript dependencies even if they are already set up
  -u               update/reinstall the module if it is already installed
  -d               install the module in development mode
  -l               list in detail all installed Adaptyst Analyser modules
```
{{< /details >}}

When ```adaptyst-analyser``` is run, look out for an output line similar to this:
```
[2024-10-12 13:57:52 +0200] [2192] [INFO] Listening at: http://127.0.0.1:8000 (2192)
```

The address points to the website where you can browse your profiling results.

Under the hood, Gunicorn and [Flask](https://flask.palletsprojects.com) are used (set up automatically when installing Adaptyst Analyser).

If you prefer not to use ```adaptyst-analyser``` or you cannot use it, set the ```FLASK_PROFILING_STORAGE``` environment variable to the path to a results directory and start the ```adaptystanalyser.app:app``` Flask app using a method of your choice.

## Using results from other programs than Adaptyst
While Adaptyst Analyser is designed with Adaptyst in mind, it can be used with any other profiler which produces result files in the Adaptyst format.

You can check the "Structure of results" box in [Running Adaptyst](/docs/adaptyst/running-adaptyst) and [the source code of Adaptyst](https://github.com/adaptyst/adaptyst) along with its open-source modules for learning how it formats its profiling results.

## Website navigation
The website is a window-based system: you start with the main view which is able to host multiple internal windows. You can open as many windows as you wish and every window can be freely moved, resized, and collapsed (by clicking the eye icon in a title bar). All windows persist across performance analysis sessions (so you can e.g. open two windows side-by-side from two different sessions).

After opening the website, follow these two steps:
1. Select your performance analysis session from the "Please select a performance analysis session" combobox and wait until the session loads.
2. You will see a visualisation of the system graph of the session. Double-click your node of choice to open more information related to the node as provided by the modules attached to it. The way this is displayed is module-dependent: follow the documentation of the modules.

See the video demo below showing some performance analysis results of two [ROOT](https://root.cern) code snippets (before and after heterogeneous-computing-related optimisations). The version of Adaptyst Analyser presented there is 0.1.0.dev4, before the license change to GNU LGPL v3+. The modules featured are [linuxperf](/docs/modules/linuxperf-cpus-running-linux) and [nvgpu](/docs/modules/nvgpu-nvidia-gpus).

{{< video src="/videos/adaptyst-analyser-demo.mp4" >}}

{{< callout context="note" title="Window tips" icon="outline/info-circle" >}}
* If you want to quickly refresh your window or revert its state to the original one (one use case for this in the context of linuxperf is going back to the beginning when analysing a complex flame graph with lots of custom regex-based replacements), click the "refresh" icon in the window header.
* If you want to rename the title of a window (e.g. to make it easier to distinguish multiple windows of the same type), click the "rename" icon in the window header.
{{< /callout >}}
