summaryrefslogtreecommitdiff
path: root/chromium/v8/src/libplatform/tracing/recorder-mac.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/v8/src/libplatform/tracing/recorder-mac.cc')
-rw-r--r--chromium/v8/src/libplatform/tracing/recorder-mac.cc43
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_