diff options
Diffstat (limited to 'chromium/v8/src/libplatform/tracing/recorder-mac.cc')
-rw-r--r-- | chromium/v8/src/libplatform/tracing/recorder-mac.cc | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/chromium/v8/src/libplatform/tracing/recorder-mac.cc b/chromium/v8/src/libplatform/tracing/recorder-mac.cc new file mode 100644 index 00000000000..6a6689f8cf1 --- /dev/null +++ b/chromium/v8/src/libplatform/tracing/recorder-mac.cc @@ -0,0 +1,43 @@ +// Copyright 2020 the V8 project authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. +#ifndef V8_LIBPLATFORM_TRACING_RECORDER_MAC_H_ +#define V8_LIBPLATFORM_TRACING_RECORDER_MAC_H_ + +#include "src/libplatform/tracing/recorder.h" + +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" + +namespace v8 { +namespace platform { +namespace tracing { + +Recorder::Recorder() { v8Provider = os_log_create("v8", ""); } +Recorder::~Recorder() {} + +bool Recorder::IsEnabled() { + return os_log_type_enabled(v8Provider, OS_LOG_TYPE_DEFAULT); +} +bool Recorder::IsEnabled(const uint8_t level) { + if (level == OS_LOG_TYPE_DEFAULT || level == OS_LOG_TYPE_INFO || + level == OS_LOG_TYPE_DEBUG || level == OS_LOG_TYPE_ERROR || + level == OS_LOG_TYPE_FAULT) { + return os_log_type_enabled(v8Provider, static_cast<os_log_type_t>(level)); + } + return false; +} + +void Recorder::AddEvent(TraceObject* trace_event) { + os_signpost_event_emit(v8Provider, OS_SIGNPOST_ID_EXCLUSIVE, "", + "%s, cpu_duration: %d", trace_event->name(), + static_cast<int>(trace_event->cpu_duration())); +} + +} // namespace tracing +} // namespace platform +} // namespace v8 + +#pragma clang diagnostic pop + +#endif // V8_LIBPLATFORM_TRACING_RECORDER_MAC_H_ |