Skip to content

Commit

Permalink
Merge branch 'feature/reportgui' into 'master'
Browse files Browse the repository at this point in the history
Integrate drace-gui report generator into drace repository

See merge request multicore/drace!41
  • Loading branch information
fmoessbauer committed Jul 10, 2019
2 parents 385fafb + b617040 commit b047e92
Show file tree
Hide file tree
Showing 15 changed files with 2,452 additions and 0 deletions.
16 changes: 16 additions & 0 deletions tools/drace-gui/.gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
.globals: &globals
tags:
- python

variables:
PROJECT_NAME: "drace-gui"
GIT_SUBMODULE_STRATEGY: "normal"

stages:
- test

python:
stage: test
script:
- echo "Start test..."
- python3 drace-gui.py --Debug
27 changes: 27 additions & 0 deletions tools/drace-gui/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
Valid-License-Identifier: MIT
License-Text:

MIT License

Copyright (c) Siemens AG, 2019

Authors:
Philip Harr <philip.harr@siemens.com>

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
67 changes: 67 additions & 0 deletions tools/drace-gui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# DRace-GUI

A Python XML to HTML report converter for the better visualization of drace result data.

Takes an existing drace xml report searches for the mentioned source files on the local machine and puts everthing together for a nice looking, interactive HTML document.

## How to use

### Installation
The tool itself does not need any installation, just a Python3 installation is needed.
Beside the script the folder '/templates' is also needed for execution.

### Example
Windows:
```bash
python drace-gui.py -i inputFile [-o outputDirectory -b blacklistItems -w whitelistItems]
```
Linux:
```bash
python3 drace-gui.py -i inputFile [-o outputDirectory -b blacklistItems -w whitelistItems]
```
### needed parameter:
```bash
-i: specifies a drace-xml file

-i "C:/my/awesome/report.xml"
```
### optional parameters:
```bash
- -o: specifies an output directory (default is: ./drace-gui_output/)
-o "C:/plenty/of/reports"
- -b: sourcefiles can be excluded from being loaded in the report
-b "C:/do/not/show/in/report, C:/private" excludes all files in the specified folders and all of their subfolders
- -w: sourcefile can specifically included;
-w "C:/just/show/this/files, C:/public" exclusively includes all files in the specified folders and all their subfolders
```
*Info:*
- blacklist wins over whitelist (-> whitelisted files and subfolders can be blacklisted and therefore be excluded)
- all needed files must be whitelisted if at least on element is whitelisted
- if a path is specified, all subelements of the path are treated the same

## Dependencies

Python3

### Libraries

Mandatory (only standard python libs):
- xml.etree.ElementTree
- os
- shutil
- pathlib
- argparse

Optional (for chart creation)
- matplotlib

### Programs

If the user has installed Visual Studio Code and code.exe is in the PATH variable (is by default), then source file can be opened at the line of interest via a click on the link in the HTML file.

If VS Code is not installed the files will be opened with the used browser.
Loading

0 comments on commit b047e92

Please sign in to comment.