Simplify json-tool JSON schema for callback records (#790)

- formerly, the rocprofiler_callback_tracing_record_t data was stored in itr["record"], e.g. itr["record"]["correlation_id"]
  - dropped "record" key, e.g. itr["correlation_id"]
This commit is contained in:
Jonathan R. Madsen
2024-04-18 03:58:10 -05:00
committed by GitHub
parent 39dd5a81df
commit 32bc339789
5 changed files with 38 additions and 47 deletions
+7 -9
View File
@@ -82,8 +82,8 @@ def test_timestamps(input_data):
cb_end = {}
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
cid = itr["record"]["correlation_id"]["internal"]
phase = itr["record"]["phase"]
cid = itr["correlation_id"]["internal"]
phase = itr["phase"]
if phase == 1:
cb_start[cid] = itr["timestamp"]
elif phase == 2:
@@ -126,7 +126,7 @@ def test_internal_correlation_ids(input_data):
api_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
api_corr_ids.append(itr["record"]["correlation_id"]["internal"])
api_corr_ids.append(itr["correlation_id"]["internal"])
for itr in sdk_data["buffer_records"][titr]:
api_corr_ids.append(itr["correlation_id"]["internal"])
@@ -152,11 +152,9 @@ def test_external_correlation_ids(input_data):
extern_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
assert itr["record"]["correlation_id"]["external"] > 0
assert (
itr["record"]["thread_id"] == itr["record"]["correlation_id"]["external"]
)
extern_corr_ids.append(itr["record"]["correlation_id"]["external"])
assert itr["correlation_id"]["external"] > 0
assert itr["thread_id"] == itr["correlation_id"]["external"]
extern_corr_ids.append(itr["correlation_id"]["external"])
extern_corr_ids = list(set(sorted(extern_corr_ids)))
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
@@ -180,7 +178,7 @@ def test_kernel_ids(input_data):
symbol_info = {}
for itr in sdk_data["callback_records"]["kernel_symbols"]:
phase = itr["record"]["phase"]
phase = itr["phase"]
payload = itr["payload"]
kern_id = payload["kernel_id"]
+7 -9
View File
@@ -82,8 +82,8 @@ def test_timestamps(input_data):
cb_end = {}
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
cid = itr["record"]["correlation_id"]["internal"]
phase = itr["record"]["phase"]
cid = itr["correlation_id"]["internal"]
phase = itr["phase"]
if phase == 1:
cb_start[cid] = itr["timestamp"]
elif phase == 2:
@@ -140,7 +140,7 @@ def test_internal_correlation_ids(input_data):
api_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
api_corr_ids.append(itr["record"]["correlation_id"]["internal"])
api_corr_ids.append(itr["correlation_id"]["internal"])
for itr in sdk_data["buffer_records"][titr]:
api_corr_ids.append(itr["correlation_id"]["internal"])
@@ -212,11 +212,9 @@ def test_external_correlation_ids(input_data):
extern_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
assert itr["record"]["correlation_id"]["external"] > 0
assert (
itr["record"]["thread_id"] == itr["record"]["correlation_id"]["external"]
)
extern_corr_ids.append(itr["record"]["correlation_id"]["external"])
assert itr["correlation_id"]["external"] > 0
assert itr["thread_id"] == itr["correlation_id"]["external"]
extern_corr_ids.append(itr["correlation_id"]["external"])
extern_corr_ids = list(set(sorted(extern_corr_ids)))
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
@@ -240,7 +238,7 @@ def test_kernel_ids(input_data):
symbol_info = {}
for itr in sdk_data["callback_records"]["kernel_symbols"]:
phase = itr["record"]["phase"]
phase = itr["phase"]
payload = itr["payload"]
kern_id = payload["kernel_id"]
+8 -10
View File
@@ -104,8 +104,8 @@ def test_timestamps(input_data):
cb_end = {}
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
cid = itr["record"]["correlation_id"]["internal"]
phase = itr["record"]["phase"]
cid = itr["correlation_id"]["internal"]
phase = itr["phase"]
if phase == 1:
cb_start[cid] = itr["timestamp"]
elif phase == 2:
@@ -140,7 +140,7 @@ def test_internal_correlation_ids(input_data):
api_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
api_corr_ids.append(itr["record"]["correlation_id"]["internal"])
api_corr_ids.append(itr["correlation_id"]["internal"])
for itr in sdk_data["buffer_records"][titr]:
api_corr_ids.append(itr["correlation_id"]["internal"])
@@ -166,11 +166,9 @@ def test_external_correlation_ids(input_data):
extern_corr_ids = []
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
assert itr["record"]["correlation_id"]["external"] > 0
assert (
itr["record"]["thread_id"] == itr["record"]["correlation_id"]["external"]
)
extern_corr_ids.append(itr["record"]["correlation_id"]["external"])
assert itr["correlation_id"]["external"] > 0
assert itr["thread_id"] == itr["correlation_id"]["external"]
extern_corr_ids.append(itr["correlation_id"]["external"])
extern_corr_ids = list(set(sorted(extern_corr_ids)))
for titr in ["hsa_api_traces", "marker_api_traces", "hip_api_traces"]:
@@ -195,7 +193,7 @@ def test_kernel_ids(input_data):
symbol_info = {}
for itr in sdk_data["callback_records"]["kernel_symbols"]:
phase = itr["record"]["phase"]
phase = itr["phase"]
payload = itr["payload"]
kern_id = payload["kernel_id"]
@@ -268,7 +266,7 @@ def get_allocated_pages(callback_records):
host_register_record = []
for r in hip_api_traces:
if (
r["record"]["operation"] == op_key
r["operation"] == op_key
and "sizeBytes" in r["args"]
and "hostPtr" in r["args"]
):
+9 -12
View File
@@ -61,8 +61,8 @@ def test_timestamps(input_data):
cb_end = {}
for titr in ["hsa_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
cid = itr["record"]["correlation_id"]["internal"]
phase = itr["record"]["phase"]
cid = itr["correlation_id"]["internal"]
phase = itr["phase"]
if phase == 1:
cb_start[cid] = itr["timestamp"]
elif phase == 2:
@@ -106,7 +106,7 @@ def test_internal_correlation_ids(input_data):
api_corr_ids = []
for titr in ["hsa_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
api_corr_ids.append(itr["record"]["correlation_id"]["internal"])
api_corr_ids.append(itr["correlation_id"]["internal"])
for itr in sdk_data["buffer_records"][titr]:
api_corr_ids.append(itr["correlation_id"]["internal"])
@@ -132,11 +132,9 @@ def test_external_correlation_ids(input_data):
extern_corr_ids = []
for titr in ["hsa_api_traces", "hip_api_traces"]:
for itr in sdk_data["callback_records"][titr]:
assert itr["record"]["correlation_id"]["external"] > 0
assert (
itr["record"]["thread_id"] == itr["record"]["correlation_id"]["external"]
)
extern_corr_ids.append(itr["record"]["correlation_id"]["external"])
assert itr["correlation_id"]["external"] > 0
assert itr["thread_id"] == itr["correlation_id"]["external"]
extern_corr_ids.append(itr["correlation_id"]["external"])
extern_corr_ids = list(set(sorted(extern_corr_ids)))
for titr in ["hsa_api_traces", "hip_api_traces"]:
@@ -224,8 +222,8 @@ def test_scratch_memory_tracking(input_data):
# fetch node["payload"]
pl = lambda x: x["payload"]
# fetch node["record"]
rc = lambda x: x["record"]
# fetch node
rc = lambda x: x
for node in scratch_callback_data:
cb_threads[rc(node)["thread_id"]].append(node)
@@ -256,8 +254,7 @@ def test_scratch_memory_tracking(input_data):
# alloc has more data vs free and async reclaim
scratch_alloc_node = (
this_node["record"]["operation"]
== scratch_cb_op_map["SCRATCH_MEMORY_ALLOC"]
this_node["operation"] == scratch_cb_op_map["SCRATCH_MEMORY_ALLOC"]
)
if scratch_alloc_node:
assert (
+7 -7
View File
@@ -431,7 +431,7 @@ struct code_object_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
}
};
@@ -446,7 +446,7 @@ struct kernel_symbol_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
}
};
@@ -462,7 +462,7 @@ struct hsa_api_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
serialize_args(ar, args);
}
@@ -479,7 +479,7 @@ struct hip_api_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
serialize_args(ar, args);
}
@@ -496,7 +496,7 @@ struct marker_api_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
serialize_args(ar, args);
}
@@ -512,7 +512,7 @@ struct kernel_dispatch_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
}
};
@@ -527,7 +527,7 @@ struct scratch_memory_callback_record_t
void save(ArchiveT& ar) const
{
ar(cereal::make_nvp("timestamp", timestamp));
ar(cereal::make_nvp("record", record));
cereal::save(ar, record);
ar(cereal::make_nvp("payload", payload));
if constexpr(std::is_same<ArchiveT, cereal::BinaryOutputArchive>::value ||