Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

FIST Results Explorer

This Python project implements utility functions for easy results exploration, logging and plotting.

How to Run

This project is intended to be build and installed on a local Python environment.

Build the module:

./build.sh

Usage

Statistics

Imports:

from fistexplore import simulation_stats as ss

Load results statistics:

ROOT="results/hawkbit-ddi/test-case-1"

files = ss.get_all_files_from_root(ROOT)
configs = ss.get_all_config_files(files)
all_stats = ss.get_simulations_task_stats(configs)
compl_stats, compl_agg_stats = ss.get_completed_task_simulations(all_stats)

If the specified folder contains a .yaml file, we assume that there are results to load.

It is also possible to load multiple scenarios at once by selecting a parent folder:

ROOT="results/hawkbit-ddi"

// same implementation

Docker stats

Since each scenario may use considerably different fields and configurations, we do not implement any platform specific result post-processing.

Imports:

from fistexplore import docker_stats as ds
from fistexplore import logs as l
from fistexplore import plot_docker_stats as pds

Plot docker stats:

ROOT = "results/hawkbit-ddi/test-case-1"

docker_stats = ds.load_stats(ROOT + "docker_stats.csv")

There are many ways to plot resources usage. The following example compares multiple docker containers stats:

pds.plot_stats_comparison_v2(docker_stats)

The following example plots additional informations related to the stats and simulation state:

logs = l.load_logs(ROOT + "simulator_logs.log")
pds.plot_container_stats(docker_stats, logs)

Unwanted containers can be filtered as follows:

pds.filter_containers = ["docker-tc", "device-simulator-0"]