v8
V8 is Google’s open source high-performance JavaScript and WebAssembly engine, written in C++.
Loading...
Searching...
No Matches
etw-provider-win.h
Go to the documentation of this file.
1// Copyright 2022 the V8 project authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef V8_LIBPLATFORM_ETW_ETW_PROVIDER_WIN_H_
6#define V8_LIBPLATFORM_ETW_ETW_PROVIDER_WIN_H_
7
8// This file defines all the ETW Provider functions.
9#include <windows.h>
10#ifndef VOID
11#define VOID void
12#endif
13#include <TraceLoggingProvider.h>
14#include <evntprov.h>
15#include <evntrace.h> // defines TRACE_LEVEL_* and EVENT_TRACE_TYPE_*
16
17#include <cstdint>
18#include <string>
19#include <unordered_set>
20#include <utility>
21
22#if defined(__clang__)
23#pragma clang diagnostic ignored "-Wc++98-compat-extra-semi"
24#endif
25
26#ifndef V8_ETW_GUID
27#define V8_ETW_GUID \
28 0x57277741, 0x3638, 0x4A4B, 0xBD, 0xBA, 0x0A, 0xC6, 0xE4, 0x5D, 0xA5, 0x6C
29#endif // V8_ETW_GUID
30
31#define V8_DECLARE_TRACELOGGING_PROVIDER(v8Provider) \
32 TRACELOGGING_DECLARE_PROVIDER(v8Provider);
33
34#define V8_DEFINE_TRACELOGGING_PROVIDER(v8Provider) \
35 TRACELOGGING_DEFINE_PROVIDER(v8Provider, "V8.js", (V8_ETW_GUID));
36
37#endif // V8_LIBPLATFORM_ETW_ETW_PROVIDER_WIN_H_