blob: eb7cccf2b521d7085f07623b44b956253a7e1a7b [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "mojo/environment/default_task_tracker.h"
#include "base/logging.h"
#include "mojo/common/task_tracker.h"
#include "mojo/public/cpp/environment/task_tracker.h"
namespace mojo {
namespace internal {
namespace {
bool g_enabled = false;
TaskTrackingId StartTracking(const char* function_name,
const char* file_name,
int line_number,
const void* program_counter) {
if (!g_enabled)
return TaskTrackingId(0);
return common::TaskTracker::StartTracking(function_name, file_name,
line_number, program_counter);
}
void EndTracking(const TaskTrackingId id) {
if (!g_enabled) {
DCHECK_EQ(0, id);
return;
}
common::TaskTracker::EndTracking(id);
}
void SetEnabled(bool enabled) {
g_enabled = enabled;
}
} // namespace
const TaskTracker kDefaultTaskTracker = {&StartTracking,
&EndTracking,
&SetEnabled};
} // namespace internal
} // namespace mojo