This is an automated email from the ASF dual-hosted git repository. joemcdonnell pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/impala.git
commit bc0de109668934e2feb4f3f8fa83c335eabe80ba Author: Surya Hebbar <[email protected]> AuthorDate: Tue May 13 17:30:34 2025 +0530 IMPALA-14069: Factor possibility of zero timestamps in aggregated event sequences Currently, the missing event timestamps are substituted by zeros and then reported(i.e. unreported_event_instance_idxs) within event sequences of the JSON profile. See IMPALA-13555 for more details. Even with micro/nanosecond precision, some event timestamps are recorded as zeros (i.e. Prepare Finished - 0ns). The current implementation of aggregated event sequences was incorrectly considering these zeros as substituted missing timestamps. Although, these can be distinguished from missing timestamps through the exposed 'unreported_event_instance_idxs', it is more helpful to represent missing values as -ve values or constants(i.e. -1). This representation is favorable for summary and visualization, and is necessary for skipping missing values and maintaing alignment between instance timestamps. The patch also fixes null values in "info_strings" fields within the JSON profile. Fixed runtime-profile-test to consider -ve values(i.e. -1) as missing event timestamps, instead of 0. Updated the generated profiles in testdata/impala-profiles. Change-Id: I9f1efd2aad5f62084075cd8f9169ef72c66942b6 Reviewed-on: http://gerrit.cloudera.org:8080/22893 Reviewed-by: Riza Suminto <[email protected]> Tested-by: Riza Suminto <[email protected]> --- be/src/util/runtime-profile-test.cc | 4 +- be/src/util/runtime-profile.cc | 35 +++-- ...a_profile_log_tpcds_compute_stats.expected.json | 4 +- ...le_log_tpcds_compute_stats.expected.pretty.json | 151 ++++++++++----------- ...cds_compute_stats_extended.expected.pretty.json | 151 ++++++++++----------- 5 files changed, 166 insertions(+), 179 deletions(-) diff --git a/be/src/util/runtime-profile-test.cc b/be/src/util/runtime-profile-test.cc index 46b91fe49..b4be651cc 100644 --- a/be/src/util/runtime-profile-test.cc +++ b/be/src/util/runtime-profile-test.cc @@ -2155,8 +2155,8 @@ class AggregatedEventSequenceToJsonTest : public ::testing::Test { // Each instance must have event timestamps in increasing order for (size_t j = 0; j < ts_list_cur_json.Size(); ++j) { ts_cur = ts_list_cur_json[j].GetInt64(); - // Skip zeros inserted to handle missing event timestamps - if (ts_cur == 0) { + // Skip -1 s inserted to handle missing event timestamps + if (ts_cur == -1) { EXPECT_EQ(missing_event_instances.count(j), 1); } else { EXPECT_GT(ts_cur, ts_list_prev_json[j].GetInt64()); diff --git a/be/src/util/runtime-profile.cc b/be/src/util/runtime-profile.cc index fa45b6117..7b9e200af 100644 --- a/be/src/util/runtime-profile.cc +++ b/be/src/util/runtime-profile.cc @@ -3000,20 +3000,9 @@ void AggregatedRuntimeProfile::ToJsonSubclass( // 3. Info strings { lock_guard<SpinLock> l(agg_info_strings_lock_); - Value info_strings_json; - - if (parent->HasMember("info_strings")) { - info_strings_json = (*parent)["info_strings"]; - } else { - info_strings_json = Value(kArrayType); - } // Collect only the required info strings - CollectInfoStringIntoJson("Table Name", &info_strings_json, d); - - if (info_strings_json.Size() > 0) { - parent->AddMember("info_strings", info_strings_json, allocator); - } + CollectInfoStringIntoJson("Table Name", parent, d); } } @@ -3046,15 +3035,16 @@ void AggregatedRuntimeProfile::AggEventSequence::ToJson(Value& event_sequence_js } // In case of missing event timestamps, order them according to 'labels_ordered', - // maintain alignment by substituting zeros, for skipping them later + // maintain alignment by substituting -1, for skipping them later size_t num_instances = timestamps.size(); std::unordered_set<size_t> missing_event_instances; + const int64_t MISSING_TIMESTAMP = -1; if (order_found) { // Order and align timestamps using stored index references for (size_t instance_idx = 0; instance_idx < num_instances; ++instance_idx) { if (timestamps[instance_idx].size() < events_count) { vector<int64_t> inst_timestamps = std::move(timestamps[instance_idx]); - timestamps[instance_idx] = vector<int64_t>(events_count); + timestamps[instance_idx] = vector<int64_t>(events_count, MISSING_TIMESTAMP); const vector<int32_t>& idxs = label_idxs[instance_idx]; int32_t inst_event_count = idxs.size(); for (int32_t i = 0; i < inst_event_count; ++i) { @@ -3065,11 +3055,11 @@ void AggregatedRuntimeProfile::AggEventSequence::ToJson(Value& event_sequence_js } } } else { - // When all instances contain missing events, supplement with zeros to maintain + // When all instances contain missing events, supplement with -1 to maintain // a consistent number of timestamps for (size_t instance_idx = 0; instance_idx < num_instances; ++instance_idx) { if (timestamps[instance_idx].size() < events_count) { - timestamps[instance_idx].resize(events_count, 0); + timestamps[instance_idx].resize(events_count, MISSING_TIMESTAMP); // Record instances with missing events missing_event_instances.insert(instance_idx); } @@ -3108,7 +3098,7 @@ void AggregatedRuntimeProfile::AggEventSequence::ToJson(Value& event_sequence_js max_ts = 0; for (const vector<int64_t>& inst_timestamps : timestamps) { ts = inst_timestamps[event_idx]; - if (ts == 0) continue; + if (ts == MISSING_TIMESTAMP) continue; if (ts < min_ts) min_ts = ts; if (ts > max_ts) max_ts = ts; } @@ -3124,7 +3114,7 @@ void AggregatedRuntimeProfile::AggEventSequence::ToJson(Value& event_sequence_js // Perform streaming computation of timestamps "in-place" to find aggregates for (const vector<int64_t>& inst_timestamps : timestamps) { ts = inst_timestamps[event_idx]; - if (ts == 0) continue; + if (ts == MISSING_TIMESTAMP) continue; division_idx = (ts - min_ts) * BUCKET_SIZE / ev_ts_span; if (division_idx >= BUCKET_SIZE) division_idx = BUCKET_SIZE - 1; if (ts < min_ts_list[division_idx]) min_ts_list[division_idx] = ts; @@ -3202,7 +3192,14 @@ void AggregatedRuntimeProfile::CollectInfoStringIntoJson(const string& info_stri info_string_json.AddMember("key", info_string_name, allocator); info_string_json.AddMember("values", info_values_json, allocator); - parent->PushBack(info_string_json, allocator); + + if (parent->HasMember("info_strings") && (*parent)["info_strings"].IsArray()) { + (*parent)["info_strings"].PushBack(info_string_json, allocator); + } else { + Value info_strings_json(kArrayType); + info_strings_json.PushBack(info_string_json, allocator); + parent->AddMember("info_strings", info_strings_json, allocator); + } } } diff --git a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.json b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.json index ae08e99db..9e403747e 100644 --- a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.json +++ b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.json @@ -1,4 +1,4 @@ {"contents":{"profile_name":"Query (id=ec40891fe759aca3:3081ad8200000000)","num_children":2,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] -{"contents":{"profile_name":"Query (id=454fb5fa46498311:3afee31900000000)","num_children":3,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] -{"contents":{"profile_name":"Query (id=da4f8f953162a9b0:9a4d93eb00000000)","num_children":3,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] +{"contents":{"profile_name":"Query (id=454fb5fa46498311:3afee31900000000)","num_children":3,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] +{"contents":{"profile_name":"Query (id=da4f8f953162a9b0:9a4d93eb00000000)","num_children":3,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] {"contents":{"profile_name":"Query (id=484be0f1c7b1005f:242a988600000000)","num_children":3,"info_strings":[{"key":"DEBUG MODE WARNING","value":"Query profile created while running a DEBUG build of Impala. Use RELEASE builds to measure query performance."}],"counters":[{"value":0,"unit":"TIME_NS","counter_name":"InactiveTotalTime"},{"value":0,"unit":"TIME_NS","counter_name":"TotalTime"}],"child_profiles":[{"profile_name":"Summary","num_children":1,"info_strings":[{"key":"Session ID","val [...] diff --git a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.pretty.json b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.pretty.json index a1f711ae7..e079fd87b 100644 --- a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.pretty.json +++ b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats.expected.pretty.json @@ -1740,7 +1740,19 @@ }, { "profile_name": "Averaged Fragment F02", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:1s203ms max:1s203ms mean: 1s203ms stddev:0.000ns" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "1" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", @@ -1759,19 +1771,6 @@ "ts_list": [1151987213] }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:1s203ms max:1s203ms mean: 1s203ms stddev:0.000ns" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "1" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 0.0, @@ -2560,15 +2559,27 @@ }, { "profile_name": "Averaged Fragment F01", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { - "min": [3999955, 0, 0, 0, 11999866], - "max": [3999956, 0, 0, 0, 11999866], - "avg": [3999955.8, 0, 0, 0, 11999866.0], - "count": [5, 0, 0, 0, 3] + "min": [0, 3999955, 0, 0, 11999866], + "max": [0, 3999956, 0, 0, 11999866], + "avg": [0.0, 3999955.8, 0, 0, 11999866.0], + "count": [4, 5, 0, 0, 3] } }, { "label": "Open Finished", @@ -2604,19 +2615,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 1.0, @@ -11652,15 +11650,27 @@ }, { "profile_name": "Averaged Fragment F00", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" + }, { + "key": "completion times", + "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" + }, { + "key": "execution rates", + "value": "min:13.22 MB/sec max:17.54 MB/sec mean:13.70 MB/sec stddev:1.16 MB/sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { "min": [0, 0, 0, 0, 0], "max": [0, 0, 0, 0, 0], - "avg": [0, 0, 0, 0, 0], - "count": [0, 0, 0, 0, 0] + "avg": [0.0, 0, 0, 0, 0], + "count": [12, 0, 0, 0, 0] } }, { "label": "Open Finished", @@ -11696,19 +11706,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" - }, { - "key": "completion times", - "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" - }, { - "key": "execution rates", - "value": "min:13.22 MB/sec max:17.54 MB/sec mean:13.70 MB/sec stddev:1.16 MB/sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 1.0, @@ -23547,7 +23544,19 @@ }, { "profile_name": "Averaged Fragment F01", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:3s863ms max:3s863ms mean: 3s863ms stddev:0.000ns" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "1" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", @@ -23566,19 +23575,6 @@ "ts_list": [3819957600] }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:3s863ms max:3s863ms mean: 3s863ms stddev:0.000ns" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "1" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 0.0, @@ -24518,15 +24514,27 @@ }, { "profile_name": "Averaged Fragment F00", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" + }, { + "key": "completion times", + "value": "min:3s731ms max:3s863ms mean: 3s816ms stddev:58.197ms" + }, { + "key": "execution rates", + "value": "min:4.12 MB/sec max:5.47 MB/sec mean:4.30 MB/sec stddev:365.33 KB/sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { "min": [0, 0, 0, 0, 0], "max": [0, 0, 0, 0, 0], - "avg": [0, 0, 0, 0, 0], - "count": [0, 0, 0, 0, 0] + "avg": [0.0, 0, 0, 0, 0], + "count": [12, 0, 0, 0, 0] } }, { "label": "Open Finished", @@ -24562,19 +24570,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" - }, { - "key": "completion times", - "value": "min:3s731ms max:3s863ms mean: 3s816ms stddev:58.197ms" - }, { - "key": "execution rates", - "value": "min:4.12 MB/sec max:5.47 MB/sec mean:4.30 MB/sec stddev:365.33 KB/sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 1.0, diff --git a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats_extended.expected.pretty.json b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats_extended.expected.pretty.json index cbb49f39b..a293ceaae 100644 --- a/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats_extended.expected.pretty.json +++ b/testdata/impala-profiles/impala_profile_log_tpcds_compute_stats_extended.expected.pretty.json @@ -1740,7 +1740,19 @@ }, { "profile_name": "Averaged Fragment F02", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:1s203ms max:1s203ms mean: 1s203ms stddev:0.000ns" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "1" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", @@ -1759,19 +1771,6 @@ "ts_list": [1151987213] }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:1s203ms max:1s203ms mean: 1s203ms stddev:0.000ns" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "1" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 0.0, @@ -2560,15 +2559,27 @@ }, { "profile_name": "Averaged Fragment F01", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { - "min": [3999955, 0, 0, 0, 11999866], - "max": [3999956, 0, 0, 0, 11999866], - "avg": [3999955.8, 0, 0, 0, 11999866.0], - "count": [5, 0, 0, 0, 3] + "min": [0, 3999955, 0, 0, 11999866], + "max": [0, 3999956, 0, 0, 11999866], + "avg": [0.0, 3999955.8, 0, 0, 11999866.0], + "count": [4, 5, 0, 0, 3] } }, { "label": "Open Finished", @@ -2604,19 +2615,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "count": 12, @@ -12104,15 +12102,27 @@ }, { "profile_name": "Averaged Fragment F00", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" + }, { + "key": "completion times", + "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" + }, { + "key": "execution rates", + "value": "min:13.22 MB/sec max:17.54 MB/sec mean:13.70 MB/sec stddev:1.16 MB/sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { "min": [0, 0, 0, 0, 0], "max": [0, 0, 0, 0, 0], - "avg": [0, 0, 0, 0, 0], - "count": [0, 0, 0, 0, 0] + "avg": [0.0, 0, 0, 0, 0], + "count": [12, 0, 0, 0, 0] } }, { "label": "Open Finished", @@ -12148,19 +12158,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" - }, { - "key": "completion times", - "value": "min:1s191ms max:1s203ms mean: 1s197ms stddev:4.149ms" - }, { - "key": "execution rates", - "value": "min:13.22 MB/sec max:17.54 MB/sec mean:13.70 MB/sec stddev:1.16 MB/sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "count": 12, @@ -24535,7 +24532,19 @@ }, { "profile_name": "Averaged Fragment F01", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 0, max: 0, avg: 0, stddev: 0" + }, { + "key": "completion times", + "value": "min:3s863ms max:3s863ms mean: 3s863ms stddev:0.000ns" + }, { + "key": "execution rates", + "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" + }, { + "key": "num instances", + "value": "1" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", @@ -24554,19 +24563,6 @@ "ts_list": [3819957600] }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 0, max: 0, avg: 0, stddev: 0" - }, { - "key": "completion times", - "value": "min:3s863ms max:3s863ms mean: 3s863ms stddev:0.000ns" - }, { - "key": "execution rates", - "value": "min:0.00 /sec max:0.00 /sec mean:0.00 /sec stddev:0.00 /sec" - }, { - "key": "num instances", - "value": "1" - }], "counters": [{ "unit": "DOUBLE_VALUE", "value": 0.0, @@ -25506,15 +25502,27 @@ }, { "profile_name": "Averaged Fragment F00", "num_children": 3, - "info_strings": null, + "info_strings": [{ + "key": "split sizes", + "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" + }, { + "key": "completion times", + "value": "min:3s731ms max:3s863ms mean: 3s816ms stddev:58.197ms" + }, { + "key": "execution rates", + "value": "min:4.12 MB/sec max:5.47 MB/sec mean:4.30 MB/sec stddev:365.33 KB/sec" + }, { + "key": "num instances", + "value": "12" + }], "event_sequences": [{ "events": [{ "label": "Prepare Finished", "ts_stat": { "min": [0, 0, 0, 0, 0], "max": [0, 0, 0, 0, 0], - "avg": [0, 0, 0, 0, 0], - "count": [0, 0, 0, 0, 0] + "avg": [0.0, 0, 0, 0, 0], + "count": [12, 0, 0, 0, 0] } }, { "label": "Open Finished", @@ -25550,19 +25558,6 @@ } }] }], - "info_strings": [{ - "key": "split sizes", - "value": " min: 15.76 MB, max: 21.12 MB, avg: 16.41 MB, stddev: 1.42 MB" - }, { - "key": "completion times", - "value": "min:3s731ms max:3s863ms mean: 3s816ms stddev:58.197ms" - }, { - "key": "execution rates", - "value": "min:4.12 MB/sec max:5.47 MB/sec mean:4.30 MB/sec stddev:365.33 KB/sec" - }, { - "key": "num instances", - "value": "12" - }], "counters": [{ "unit": "DOUBLE_VALUE", "count": 12,
