Performance Retrieval and Estimation for Metric Optimization and Analysis
This code base uses Python with PromQL querying to collect data from Nautilus databases about analytics of wifire-quicfire runs.
It collects all of the information that can be found on the Grafana website and displays each statistic by Node and Pod, rather than a sum of all pods like Grafana does.
Running main.py
will collect and print all current information for the header, tables, and graphs.`
Other Features:
-
Collect training data for bp3d (Burn Pro 3D) runs over a time period
training_data_collection/
(specifically work_flow.py) -
Collect training data for any application runs (BP3D or otherwise) over a period of time, with a wide variety of potential queries.
general_td_collection/
(specifically workflow.py) -
Collect all data from tables.py for a BP3D run
table_for_run.py
-
Get analytics from other Grafana Dashboards - GPUs, storage, etc.
dashboards/
There are 3 main types of data collected:
-
Header data:
Singular datapoints (per pod) on CPU and Memory Utilization
-
Tables:
Data tables containing several columns of statistics about related topics
-
Graphs:
A table of datapoints containing several times and values per pod that can be displayed with a graph containing several colored lines (one line per pod). Graphs can be displayed by running graph_visualization.py
There are 4 main inputs (defined in inputs.py
) that specify what information will be returned:
DEFAULT_DURATION
DEFAULT_GRAPH_STEP
DEFAULT_GRAPH_TIME_OFFSET
DEFAULT_FINAL_GRAPH_TIME
You can also specify specific inputs in the parameters when initializing a class in main_functions.py. Changing these inputs will affect how much data will be returned and from how long ago. To see how inputs affect a specific query, mess with the settings for that query here. Note: There are a couple other inputs used which can be found in inputs.py
For more information on the code base, inputs, and all data collected, look at extras/data_retrieval.pdf
For information on how the queries were originally found, look at these older notes: extras/queries_notes.md