diff --git a/explorer/dxt.py b/explorer/dxt.py
index fca865b..e46cb9e 100644
--- a/explorer/dxt.py
+++ b/explorer/dxt.py
@@ -37,7 +37,6 @@
from importlib import resources
from explorer import version as dxt_version
-from packaging import version
class Explorer:
@@ -268,6 +267,7 @@ def create_dataframe(
"start",
"end",
"osts",
+ "pthread_id"
]
total_logs = 0
runtime = 0
@@ -1171,28 +1171,6 @@ def generate_index(self, file, report):
"You can open the index.html file in your browser to interactively explore all plots"
)
- def check_log_version(self, file, log_version, library_version):
- use_file = file
- if version.parse(log_version) < version.parse(library_version):
- use_file = file.replace(".darshan", ".converted.darshan")
- self.logger.info(
- 'Converting .darshan log from {} to {}: format: saving output file "{}" in the current working directory.'.format(
- log_version, library_version, use_file
- )
- )
-
- if not os.path.isfile(use_file):
- ret = os.system("darshan-convert {} {}".format(file, use_file))
-
- if ret != 0:
- self.logger.error(
- "Unable to convert .darshan file to version {}".format(
- library_version
- )
- )
-
- return use_file
-
def main():
PARSER = argparse.ArgumentParser(description="DXT Explorer: ")
diff --git a/explorer/plots/operation.py b/explorer/plots/operation.py
index d53ed25..eadd475 100644
--- a/explorer/plots/operation.py
+++ b/explorer/plots/operation.py
@@ -19,7 +19,7 @@ def add_trace_to_graph(dataframe, color_scale=None, stragglers=False):
if stragglers:
custom_data = ["rank", "duration"]
else:
- custom_data = ["rank", "duration", "size", "offset", "osts"]
+ custom_data = ["rank", "duration", "size", "offset", "osts", "pthread_id"]
fig.add_traces(
list(
@@ -598,7 +598,7 @@ def append_content(target_tag, source_path, part="body"):
error_x="duration",
render_mode="auto",
facet_row=facet_row,
- custom_data=["rank", "duration", "size", "offset", "osts"],
+ custom_data=["rank", "duration", "size", "offset", "osts", "pthread_id"],
color_discrete_sequence=["#d0e6f5", "#f7d8d5"],
category_orders=category_orders,
)
@@ -625,7 +625,7 @@ def append_content(target_tag, source_path, part="body"):
render_mode="auto",
facet_row=facet_row,
color_discrete_sequence=["#3c93c2", "#f0746e"],
- custom_data=["rank", "duration", "size", "offset", "osts"],
+ custom_data=["rank", "duration", "size", "offset", "osts", "pthread_id"],
category_orders=category_orders,
)
@@ -782,7 +782,8 @@ def append_content(target_tag, source_path, part="body"):
"Duration: %{customdata[1]}",
"Size: %{customdata[2]}",
"Offset: %{customdata[3]}",
- "Osts: %{customdata[4]}",
+ "Lustre OSTs: %{customdata[4]}",
+ "Thread ID: %{customdata[5]}",
]
)
)
diff --git a/explorer/plots/spatiality.py b/explorer/plots/spatiality.py
index 9fc558d..f43d806 100644
--- a/explorer/plots/spatiality.py
+++ b/explorer/plots/spatiality.py
@@ -42,6 +42,9 @@
if df.empty:
quit()
+df["osts"] = df["osts"].astype(object).fillna("-")
+df["pthread_id"] = df["pthread_id"].astype(object).fillna("-")
+
df["duration"] = df["end"] - df["start"]
rank_gap = max(df["rank"]) * 0.075
maximum_rank = max(df["rank"])
@@ -77,6 +80,9 @@ def paste0():
label = label + "-"
else:
label = label + df["osts"].apply(str)
+
+ label += "
" + "Thread ID: " + df["pthread_id"].apply(str)
+
return label
diff --git a/explorer/plots/transfer.py b/explorer/plots/transfer.py
index b582869..1ec28d3 100644
--- a/explorer/plots/transfer.py
+++ b/explorer/plots/transfer.py
@@ -69,6 +69,8 @@
if df.empty:
quit()
+df["osts"] = df["osts"].astype(object).fillna("-")
+
df["duration"] = df["end"] - df["start"]
duration = max(df["end"]) - min(df["start"])
@@ -125,6 +127,9 @@ def paste0():
label = label + "-"
else:
label = label + df["osts"].apply(str)
+
+ label += "
" + "Thread ID: " + df["pthread_id"].apply(str)
+
return label