Reland "[tracing] allow dynamic control of tracing"
This is a reland of bf5ea8138c
Original change's description:
> [tracing] allow dynamic control of tracing
>
> If the trace_buffer_ was null, we were returning a pointer to a static
> flag back that permanently disabled that particular trace point.
>
> This implied an assumption that tracing will be statically enabled at
> process startup, and once it is disabled, it will never be enabled
> again. On Node.js side we want to dynamically enable/disable tracing as per
> programmer intent.
>
> Change-Id: Ic7a7839b8450ab5c356d85e8e0826f42824907f4
> Reviewed-on: https://chromium-review.googlesource.com/1161518
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
> Cr-Commit-Position: refs/heads/master@{#54903}
Change-Id: Ie2a9ebbaf59d3be1918864cc3c192671fb5550c3
Reviewed-on: https://chromium-review.googlesource.com/1188529
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56007}
This commit is contained in:
parent
a9b9c338c6
commit
f176c2a7c1
@ -25,18 +25,17 @@ namespace tracing {
|
||||
// convert internally to determine the category name from the char enabled
|
||||
// pointer.
|
||||
const char* g_category_groups[MAX_CATEGORY_GROUPS] = {
|
||||
"toplevel", "tracing already shutdown",
|
||||
"toplevel",
|
||||
"tracing categories exhausted; must increase MAX_CATEGORY_GROUPS",
|
||||
"__metadata"};
|
||||
|
||||
// The enabled flag is char instead of bool so that the API can be used from C.
|
||||
unsigned char g_category_group_enabled[MAX_CATEGORY_GROUPS] = {0};
|
||||
// Indexes here have to match the g_category_groups array indexes above.
|
||||
const int g_category_already_shutdown = 1;
|
||||
const int g_category_categories_exhausted = 2;
|
||||
const int g_category_categories_exhausted = 1;
|
||||
// Metadata category not used in V8.
|
||||
// const int g_category_metadata = 3;
|
||||
const int g_num_builtin_categories = 4;
|
||||
// const int g_category_metadata = 2;
|
||||
const int g_num_builtin_categories = 3;
|
||||
|
||||
// Skip default categories.
|
||||
v8::base::AtomicWord g_category_index = g_num_builtin_categories;
|
||||
@ -121,10 +120,6 @@ void TracingController::UpdateTraceEventDuration(
|
||||
|
||||
const uint8_t* TracingController::GetCategoryGroupEnabled(
|
||||
const char* category_group) {
|
||||
if (!trace_buffer_) {
|
||||
DCHECK(!g_category_group_enabled[g_category_already_shutdown]);
|
||||
return &g_category_group_enabled[g_category_already_shutdown];
|
||||
}
|
||||
return GetCategoryGroupEnabledInternal(category_group);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user