diff --git a/plugin/trace_viewer/tf_trace_viewer/tf-trace-viewer.html b/plugin/trace_viewer/tf_trace_viewer/tf-trace-viewer.html index 4f1692584..f9b363ece 100644 --- a/plugin/trace_viewer/tf_trace_viewer/tf-trace-viewer.html +++ b/plugin/trace_viewer/tf_trace_viewer/tf-trace-viewer.html @@ -2026,8 +2026,8 @@ } }); otherEvents = this._filterKnownTraceEvents(otherEvents); - // We intentionally bypass filtering for counter events to prevent a potential crash - // JSON limit : https://issues.chromium.org/issues/42201829. + // We intentionally bypass filtering for counter events to prevent a potential + // stalling of the UI ,see https://issues.chromium.org/issues/42201829. // A large counter event can generate a hash key that exceeds the maximum safe // value for a number, which throws a RangeError. const ungroupedCounterEvents = counterEvents.flatMap(event => { diff --git a/xprof/convert/trace_viewer/trace_events_to_json.h b/xprof/convert/trace_viewer/trace_events_to_json.h index 37a83b3e9..e6d1e666c 100644 --- a/xprof/convert/trace_viewer/trace_events_to_json.h +++ b/xprof/convert/trace_viewer/trace_events_to_json.h @@ -77,7 +77,6 @@ struct JsonTraceOptions { bool generate_stack_frames = true; bool use_new_backend = false; std::string code_link; - bool use_grouped_json_counter_events = true; }; // Counts generated JSON events by type. @@ -157,11 +156,10 @@ class JsonEventWriter { JsonEventWriter(const TraceEventsColorerInterface* colorer, const Trace& trace, const std::map& references, - bool use_grouped_json_counter_events, IOBuffer* output) + IOBuffer* output) : colorer_(colorer), trace_(trace), references_(references), - use_grouped_json_counter_events_(use_grouped_json_counter_events), output_(output) {} void WriteEvent(const TraceEvent& event) const { @@ -465,7 +463,6 @@ class JsonEventWriter { const std::map& references_; IOBuffer* output_; mutable JsonEventCounter counter_; - bool use_grouped_json_counter_events_ = false; std::pair last_counter_event_key_ = {0, ""}; }; @@ -705,21 +702,18 @@ void TraceEventsToJson(const JsonTraceOptions& options, colorer->SetUp(trace); // Write events. - JsonEventWriter writer( - colorer, trace, references, options.use_grouped_json_counter_events, - output); + JsonEventWriter writer(colorer, trace, references, + output); bool prev_was_counter = false; events.ForAllEvents([&](const TraceEvent& event) { - bool is_counter_event = options.use_grouped_json_counter_events && - !event.has_resource_id() && !event.has_flow_id(); + bool is_counter_event = !event.has_resource_id() && !event.has_flow_id(); if ((prev_was_counter && !is_counter_event) || (!writer.isMatchingLastCounterEvent(event) && is_counter_event && prev_was_counter)) { output->Append("]}"); } separator.Add(); - if (options.use_grouped_json_counter_events && !event.has_resource_id() && - !event.has_flow_id()) { + if (is_counter_event) { writer.AddCounterEvent(event); } else { writer.WriteEvent(event);