|
|
Description[Reland][Tracing] Embed V8 runtime call stats into tracing.
Currently we have V8 RuntimeCallStats that is independently from tracing when
running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call
stats into tracing, by having a global table of runtime call counters each
isolate, resetting the table each time we enter a top level trace event, and
dumping the table for each top level trace event. This will make trace file more
compat, as well as enable runtime call stats in tracing system.
This patch adds ~5% overhead to V8 when the category is enabled, we measure the
overhead by running a script when category is enabled.
BUG=v8:5089
Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa
Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331
Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b
Committed: https://crrev.com/7a3631e7e12fe0e5038d80c58f3f491c61977b95
Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#38270}
Cr-Original-Original-Commit-Position: refs/heads/master@{#38314}
Cr-Original-Commit-Position: refs/heads/master@{#38403}
Cr-Commit-Position: refs/heads/master@{#38510}
Patch Set 1 #
Total comments: 14
Patch Set 2 : address cbruni's comments #
Total comments: 3
Patch Set 3 : move scope to non-inlined function #Patch Set 4 : update #
Total comments: 6
Patch Set 5 : address cbruni's comments #Patch Set 6 : Fix dangling pointer issue #Patch Set 7 : Fix TSAN and ASAN failure #Patch Set 8 : Fix TSAN and ASAN failure #Patch Set 9 : Fix memory leak #
Messages
Total messages: 85 (57 generated)
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lpy@chromium.org changed reviewers: + cbruni@chromium.org, fmeawad@chromium.org
PTAL.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
nice work! I added some comments mainly concerning performance. I spend quite some time figuring out how to wire the runtime-stats into the runtime functions and builtins to pose a minimal overhead. The moment you add a stack-allocated scope object in the function, clang doesn't manage to optimize it away even if the scope only conditionally does something. The only way to enforce this was to put the scopes into a separate non-inlinable function and hoisting the checks out the default function. To measure the overhead I just hammered one runtime-function using the natives syntax in js. Just modify an existing runtime function that is not used (for instance Runtime_GetHeapUsage) and immediately return a smi: for (var i = 0; i < 1000000; i++) { %GetHeapUsage(); } https://codereview.chromium.org/2187693002/diff/1/src/arguments.h File src/arguments.h (right): https://codereview.chromium.org/2187693002/diff/1/src/arguments.h#newcode103 src/arguments.h:103: isolate, &tracing::TraceEventStatsTable::Name); \ Could you put the the scope in the Stats_##Name macro? I'd like to keep as many timers out of the default runtime function as possible. https://codereview.chromium.org/2187693002/diff/1/src/builtins/builtins-utils.h File src/builtins/builtins-utils.h (right): https://codereview.chromium.org/2187693002/diff/1/src/builtins/builtins-utils... src/builtins/builtins-utils.h:100: Object* result = Builtin_Impl_##name(args, isolate); \ The same as for the runtime functions. I'd like to keep all timers and stack-allocated scopes away from the default functions. https://codereview.chromium.org/2187693002/diff/1/src/d8.gyp File src/d8.gyp (right): https://codereview.chromium.org/2187693002/diff/1/src/d8.gyp#newcode47 src/d8.gyp:47: '<(DEPTH)', We manually specify includes for each file, so I'm not sure we want this. https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc File src/tracing/trace-event.cc (right): https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc#... src/tracing/trace-event.cc:18: int kRuntimeCallsTracingEnabled = 0; Please make this a bool to make your intentions a bit clearer, seems like you use 0/1 state only anyway. https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc#... src/tracing/trace-event.cc:25: if (p_data_ && *data_.category_group_enabled) { can you put the test in the header and delegate the rest to a function in .cc ? https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.h File src/tracing/trace-event.h (right): https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.h#n... src/tracing/trace-event.h:327: extern int kRuntimeCallsTracingEnabled; change to bool. https://codereview.chromium.org/2187693002/diff/1/src/v8.gyp File src/v8.gyp (right): https://codereview.chromium.org/2187693002/diff/1/src/v8.gyp#newcode182 src/v8.gyp:182: '<(DEPTH)', please manually specify the new files you want to include.
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Thanks, I updated the CL. https://codereview.chromium.org/2187693002/diff/1/src/arguments.h File src/arguments.h (right): https://codereview.chromium.org/2187693002/diff/1/src/arguments.h#newcode103 src/arguments.h:103: isolate, &tracing::TraceEventStatsTable::Name); \ On 2016/07/27 08:29:07, Camillo Bruni wrote: > Could you put the the scope in the Stats_##Name macro? > I'd like to keep as many timers out of the default runtime function as possible. I understand the concern here. The reason we are putting it here is we don't want the scope to be behind the --runtime_call_stats flag. What about moving the scope to everywhere that uses RUNTIME_FUNCTION macro? I think eventually we will want to replace the RuntimeCallTimerScope, so at that point we can move the scope in Stats_##Name and remove the flag. WDYT? https://codereview.chromium.org/2187693002/diff/1/src/d8.gyp File src/d8.gyp (right): https://codereview.chromium.org/2187693002/diff/1/src/d8.gyp#newcode47 src/d8.gyp:47: '<(DEPTH)', On 2016/07/27 08:29:07, Camillo Bruni wrote: > We manually specify includes for each file, so I'm not sure we want this. This is for correctly including the trace_event_common.h when building with Chrome, I think we use the same way in src/v8.gyp. https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc File src/tracing/trace-event.cc (right): https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc#... src/tracing/trace-event.cc:18: int kRuntimeCallsTracingEnabled = 0; On 2016/07/27 08:29:07, Camillo Bruni wrote: > Please make this a bool to make your intentions a bit clearer, seems like you > use 0/1 state only anyway. Done. https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.cc#... src/tracing/trace-event.cc:25: if (p_data_ && *data_.category_group_enabled) { On 2016/07/27 08:29:07, Camillo Bruni wrote: > can you put the test in the header and delegate the rest to a function in .cc ? Done. https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.h File src/tracing/trace-event.h (right): https://codereview.chromium.org/2187693002/diff/1/src/tracing/trace-event.h#n... src/tracing/trace-event.h:327: extern int kRuntimeCallsTracingEnabled; On 2016/07/27 08:29:07, Camillo Bruni wrote: > change to bool. Done. https://codereview.chromium.org/2187693002/diff/1/src/v8.gyp File src/v8.gyp (right): https://codereview.chromium.org/2187693002/diff/1/src/v8.gyp#newcode182 src/v8.gyp:182: '<(DEPTH)', On 2016/07/27 08:29:07, Camillo Bruni wrote: > please manually specify the new files you want to include. This is for correctly including the trace_event_common.h when building with Chrome.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
cbruni@chromium.org changed reviewers: + machenbach@chromium.org
machenbach@ PTAL gyp changes
Gyp lg. No GN changes required?
On 2016/07/28 07:20:33, Michael Achenbach (slow) wrote: > Gyp lg. No GN changes required? It's already there. https://cs.chromium.org/chromium/src/v8/BUILD.gn?l=806
https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event.cc File src/tracing/trace-event.cc (right): https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event... src/tracing/trace-event.cc:128: buffer_ << "\"END\":[]}"; Given that we are trying to minimize the trace size, is there an easy way to get rid of the END here?
https://codereview.chromium.org/2187693002/diff/1/src/arguments.h File src/arguments.h (right): https://codereview.chromium.org/2187693002/diff/1/src/arguments.h#newcode103 src/arguments.h:103: isolate, &tracing::TraceEventStatsTable::Name); \ Oh yes of course you don't want to be behind a flag :), but could you just OR your checks whether the trace is enabled or not? You will have to do this anyway to reduce the overhead when removing the RuntimeCallTimerScope. Since the scopes aren't optimized away and given that some runtime functions are called really frequently I'd like to reduce the overhead to a minimum. Pushing the uses down to the RUNTIME_FUNCTION wouldn't help in this case either, it really has to be a guarded call to a separate non-inlined function. Maybe use the V8_UNLIKELY() around the check as well, I forgot about that. https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event.cc File src/tracing/trace-event.cc (right): https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event... src/tracing/trace-event.cc:140: if (V8_UNLIKELY(TRACE_EVENT_RUNTIME_CALL_STATS_TRACING_ENABLED())) { Please put the hole function or at least the check in the header file as well.
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Thanks, I updated the CL. PTAL. https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event.cc File src/tracing/trace-event.cc (right): https://codereview.chromium.org/2187693002/diff/20001/src/tracing/trace-event... src/tracing/trace-event.cc:140: if (V8_UNLIKELY(TRACE_EVENT_RUNTIME_CALL_STATS_TRACING_ENABLED())) { On 2016/07/29 08:56:15, Camillo Bruni wrote: > Please put the hole function or at least the check in the header file as well. Done.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
LGTM with nits https://codereview.chromium.org/2187693002/diff/60001/src/builtins/builtins-u... File src/builtins/builtins-utils.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/builtins/builtins-u... src/builtins/builtins-utils.h:97: FLAG_runtime_call_stats)) { \ nice! https://codereview.chromium.org/2187693002/diff/60001/src/counters.h File src/counters.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/counters.h#newcode485 src/counters.h:485: void Dump(std::stringstream& out); nit: Please mark as non-inlined (V8_NOINLINE void ...) TraceEventStatsTable::Dump otherwise might end up being a huge function (we had a report of 150KB ;) https://codereview.chromium.org/2187693002/diff/60001/src/tracing/trace-event.h File src/tracing/trace-event.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/tracing/trace-event... src/tracing/trace-event.h:633: if (p_data_ && *data_.category_group_enabled) { microtweaking nit: change to if(V8_UNLIKELY(p_data_ && *data_.category_group_enabled))
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
lpy@chromium.org changed reviewers: + adamk@chromium.org, bmeurer@chromium.org, rmcilroy@chromium.org
Thanks, I updated the CL. + bmeurer@ for full-codegen/ + adamk@ for parsing/ + rmcilroy@ for interpreter/ Please take a look. https://codereview.chromium.org/2187693002/diff/60001/src/builtins/builtins-u... File src/builtins/builtins-utils.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/builtins/builtins-u... src/builtins/builtins-utils.h:97: FLAG_runtime_call_stats)) { \ On 2016/08/01 07:43:55, Camillo Bruni wrote: > nice! \o/ https://codereview.chromium.org/2187693002/diff/60001/src/counters.h File src/counters.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/counters.h#newcode485 src/counters.h:485: void Dump(std::stringstream& out); On 2016/08/01 07:43:55, Camillo Bruni wrote: > nit: Please mark as non-inlined (V8_NOINLINE void ...) > TraceEventStatsTable::Dump otherwise might end up being a huge function (we had > a report of 150KB ;) Done. https://codereview.chromium.org/2187693002/diff/60001/src/tracing/trace-event.h File src/tracing/trace-event.h (right): https://codereview.chromium.org/2187693002/diff/60001/src/tracing/trace-event... src/tracing/trace-event.h:633: if (p_data_ && *data_.category_group_enabled) { On 2016/08/01 07:43:55, Camillo Bruni wrote: > microtweaking nit: change to if(V8_UNLIKELY(p_data_ && > *data_.category_group_enabled)) Done.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm for parsing/
LGTM for fullcodegen and ignition.
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by lpy@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from cbruni@chromium.org, bmeurer@chromium.org, adamk@chromium.org Link to the patchset: https://codereview.chromium.org/2187693002/#ps100001 (title: "Fix dangling pointer issue")
The CQ bit was unchecked by lpy@chromium.org
The CQ bit was checked by lpy@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Committed patchset #6 (id:100001)
Message was sent while issue was closed.
Description was changed from ========== [Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=5089 ========== to ========== [Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270}
Message was sent while issue was closed.
Description was changed from ========== [Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ========== to ========== [Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ==========
Message was sent while issue was closed.
A revert of this CL (patchset #6 id:100001) has been created in https://codereview.chromium.org/2203913004/ by yangguo@chromium.org. The reason for reverting is: Sanitizer failures: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10... https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7786/.
Message was sent while issue was closed.
Description was changed from ========== [Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ==========
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by lpy@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from cbruni@chromium.org, bmeurer@chromium.org, adamk@chromium.org Link to the patchset: https://codereview.chromium.org/2187693002/#ps140001 (title: "Fix TSAN and ASAN failure")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ==========
Message was sent while issue was closed.
Committed patchset #8 (id:140001)
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Cr-Commit-Position: refs/heads/master@{#38270} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ==========
Message was sent while issue was closed.
Patchset 8 (id:??) landed as https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Commit-Position: refs/heads/master@{#38314}
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:140001) has been created in https://codereview.chromium.org/2200373003/ by lpy@chromium.org. The reason for reverting is: Mac64 ASAN failure. https://build.chromium.org/p/client.v8/builders/V8%20Mac64%20ASAN/builds/7810....
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ==========
The CQ bit was checked by lpy@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ==========
Message was sent while issue was closed.
Committed patchset #8 (id:140001)
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Cr-Original-Commit-Position: refs/heads/master@{#38270} Cr-Commit-Position: refs/heads/master@{#38314} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ==========
Message was sent while issue was closed.
Patchset 8 (id:??) landed as https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Commit-Position: refs/heads/master@{#38403}
Message was sent while issue was closed.
A revert of this CL (patchset #8 id:140001) has been created in https://codereview.chromium.org/2221853002/ by machenbach@chromium.org. The reason for reverting is: Leaks block chromium roll: https://codereview.chromium.org/2219083003/ Example build: https://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium... You can add the trybot from tryserver.chromium.linux, linux_chromium_asan_rel_ng, on reland..
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ==========
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was checked by lpy@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by lpy@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from cbruni@chromium.org, bmeurer@chromium.org, adamk@chromium.org Link to the patchset: https://codereview.chromium.org/2187693002/#ps160001 (title: "Fix memory leak")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ==========
Message was sent while issue was closed.
Committed patchset #9 (id:160001)
Message was sent while issue was closed.
Description was changed from ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Cr-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Commit-Position: refs/heads/master@{#38314} Cr-Commit-Position: refs/heads/master@{#38403} ========== to ========== [Reland][Tracing] Embed V8 runtime call stats into tracing. Currently we have V8 RuntimeCallStats that is independently from tracing when running d8 with flag --runtime_call_stats. This patch embeds V8 runtime call stats into tracing, by having a global table of runtime call counters each isolate, resetting the table each time we enter a top level trace event, and dumping the table for each top level trace event. This will make trace file more compat, as well as enable runtime call stats in tracing system. This patch adds ~5% overhead to V8 when the category is enabled, we measure the overhead by running a script when category is enabled. BUG=v8:5089 Committed: https://crrev.com/d014866173eaa2b548c566217b2c94b1d49385fa Committed: https://crrev.com/1ca3b73bba4a7253ca8eeef39321d70e7d414331 Committed: https://crrev.com/3f936a5b17754783e92d2146eaf66c88a78ee45b Committed: https://crrev.com/7a3631e7e12fe0e5038d80c58f3f491c61977b95 Cr-Original-Original-Original-Commit-Position: refs/heads/master@{#38270} Cr-Original-Original-Commit-Position: refs/heads/master@{#38314} Cr-Original-Commit-Position: refs/heads/master@{#38403} Cr-Commit-Position: refs/heads/master@{#38510} ==========
Message was sent while issue was closed.
Patchset 9 (id:??) landed as https://crrev.com/7a3631e7e12fe0e5038d80c58f3f491c61977b95 Cr-Commit-Position: refs/heads/master@{#38510} |