LeviLamina
Loading...
Searching...
No Matches
ProfileClient.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/memory/MemoryCategory.h"
7#include "mc/deps/profiler/CounterDisplayFormat.h"
8#include "mc/deps/profiler/FileExtension.h"
9#include "mc/deps/profiler/LegacyCounterFlags.h"
10#include "mc/deps/profiler/ThreadFrameType.h"
11#include "mc/platform/brstd/basic_cstring_view.h"
12
13// auto generated forward declare list
14// clang-format off
15namespace Bedrock::Profile { class ScopeStackStorage; }
16namespace Bedrock::Profiler::details { struct DynamicProfLabel; }
17namespace Bedrock::Profiler::details { struct StaticProfLabel; }
18namespace Core::Profile { class CounterToken; }
19namespace Core::Profile { class GPUProfileToken; }
20namespace Core::Profile { class LogMessageToken; }
21namespace Core::Profile { class ScopeToken; }
22namespace brstd { struct source_location; }
23// clang-format on
24
25namespace Core::Profile {
26
28public:
29 // virtual functions
30 // NOLINTBEGIN
31 virtual ~ProfileClient() = default;
32
33 virtual void initializeProfile();
34
35 virtual void shutdownProfile();
36
37 virtual void setProfileStamp(::std::string_view);
38
39 virtual void onFrameTransition(uchar previousFrameType);
40
41 virtual bool isConditionalAndExternalProfiler() const;
42
43 virtual bool isActivelyConsumingData() const;
44
45 virtual uint getMaxTokens() const;
46
47 virtual void onThreadCreate(
48 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
49 ::Core::Profile::ThreadFrameType frameType
50 );
51
52 virtual void onThreadDestroy();
53
54 virtual void onMainThreadCreate();
55
56 virtual void onMainThreadDestroy();
57
58 virtual void onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
59
60 virtual void onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
61
62 virtual void
63 enterCPUProfile(::Bedrock::Profile::ScopeStackStorage& scope, ::Core::Profile::ScopeToken const& token);
64
65 virtual void enterCPUProfileDynamic(
67 ::Core::Profile::ScopeToken const& token,
69 );
70
71 virtual void
72 leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage& scope, ::Core::Profile::ScopeToken const& token);
73
74 virtual uchar createGPUContext(char const*, int64, float, bool, bool);
75
76 virtual uint
78
79 virtual void leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage&, uint);
80
81 virtual void emitGPUTiming(uint, int64, int64);
82
83 virtual void syncGPUTiming(uchar, int64, int64, int64);
84
85 virtual void counterAdd(::Core::Profile::CounterToken const&, int64);
86
87 virtual void counterSet(::Core::Profile::CounterToken const&, int64);
88
89 virtual void emitLogMessage(::Core::Profile::LogMessageToken const&);
90
91 virtual void
93
94 virtual void beginCapture(char const*);
95
96 virtual void endCapture(bool);
97
98 virtual void logCaptureResults();
99
100 virtual bool isCaptureEnding();
101
102 virtual void generateCPUProfileTokenStatic(
104 char const* group,
106 uint color,
107 ::brstd::source_location const& location
108 );
109
110 virtual void generateCPUProfileTokenLegacy(
112 char const*,
113 char const*,
114 uint,
116 );
117
118 virtual void
119 generateCPUProfileTokenDynamic(::Core::Profile::ScopeToken&, char const*, uint, ::brstd::source_location const&);
120
121 virtual void generateGPUProfileToken(
123 char const*,
124 char const*,
125 uint,
127 );
128
129 virtual void generateGPUProfileTokenDynamic(
131 char const*,
132 char const*,
133 uint,
135 );
136
137 virtual void generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
138
139 virtual void generateCounterTokenWithConfig(
141 char const*,
142 ::Core::Profile::CounterDisplayFormat,
143 int64,
144 ::Core::Profile::LegacyCounterFlags
145 );
146
147 virtual void generateLogMessageTokenStatic(
149 char const*,
151 uint,
153 );
154
155 virtual void generateLogMessageTokenDynamic(
157 char const*,
158 uint,
160 );
161
162 virtual int64 getProfilerTimestamp();
163
164 virtual void dumpFile(char const*, ::Core::Profile::FileExtension);
165 // NOLINTEND
166
167public:
168 // virtual function thunks
169 // NOLINTBEGIN
170 MCNAPI void $initializeProfile();
171
172 MCNAPI void $shutdownProfile();
173
174 MCNAPI void $setProfileStamp(::std::string_view);
175
176 MCNAPI void $onFrameTransition(uchar previousFrameType);
177
179
180 MCNAPI bool $isActivelyConsumingData() const;
181
182 MCNAPI uint $getMaxTokens() const;
183
184 MCNAPI void $onThreadCreate(
185 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
186 ::Core::Profile::ThreadFrameType frameType
187 );
188
189 MCNAPI void $onThreadDestroy();
190
191 MCNAPI void $onMainThreadCreate();
192
193 MCNAPI void $onMainThreadDestroy();
194
195 MCNAPI void $onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
196
197 MCNAPI void $onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
198
199 MCNAPI void
201
204 ::Core::Profile::ScopeToken const& token,
206 );
207
208 MCNAPI void
210
211 MCNAPI uchar $createGPUContext(char const*, int64, float, bool, bool);
212
213 MCNAPI uint
215
217
218 MCNAPI void $emitGPUTiming(uint, int64, int64);
219
220 MCNAPI void $syncGPUTiming(uchar, int64, int64, int64);
221
222 MCNAPI void $counterAdd(::Core::Profile::CounterToken const&, int64);
223
224 MCNAPI void $counterSet(::Core::Profile::CounterToken const&, int64);
225
227
228 MCNAPI void
230
231 MCNAPI void $beginCapture(char const*);
232
233 MCNAPI void $endCapture(bool);
234
235 MCNAPI void $logCaptureResults();
236
237 MCNAPI bool $isCaptureEnding();
238
241 char const* group,
243 uint color,
244 ::brstd::source_location const& location
245 );
246
249 char const*,
250 char const*,
251 uint,
253 );
254
255 MCNAPI void
257
260 char const*,
261 char const*,
262 uint,
264 );
265
268 char const*,
269 char const*,
270 uint,
272 );
273
274 MCNAPI void $generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
275
278 char const*,
279 ::Core::Profile::CounterDisplayFormat,
280 int64,
281 ::Core::Profile::LegacyCounterFlags
282 );
283
286 char const*,
288 uint,
290 );
291
294 char const*,
295 uint,
297 );
298
299 MCNAPI int64 $getProfilerTimestamp();
300
301 MCNAPI void $dumpFile(char const*, ::Core::Profile::FileExtension);
302
303
304 // NOLINTEND
305};
306
307} // namespace Core::Profile
Definition ScopeStackStorage.h:7
Definition CounterToken.h:7
Definition GPUProfileToken.h:10
Definition LogMessageToken.h:7
Definition ProfileClient.h:27
MCAPI void $dumpFile(char const *, ::Core::Profile::FileExtension)
MCAPI uchar $createGPUContext(char const *, int64, float, bool, bool)
MCAPI void $counterSet(::Core::Profile::CounterToken const &, int64)
MCAPI void $setProfileStamp(::std::string_view)
MCAPI void $emitLogMessage(::Core::Profile::LogMessageToken const &)
MCAPI void $beginCapture(char const *)
MCAPI void $onHeapFree(void const *, uint64, ::Memory::MemoryCategory, char const *)
MCAPI void $generateCounterTokenWithConfig(::Core::Profile::CounterToken &, char const *, ::Core::Profile::CounterDisplayFormat, int64, ::Core::Profile::LegacyCounterFlags)
MCAPI void $emitGPUTiming(uint, int64, int64)
MCAPI void $onHeapAllocation(void const *, uint64, ::Memory::MemoryCategory, char const *)
MCAPI void $generateCPUProfileTokenStatic(::Core::Profile::ScopeToken &target, char const *group, ::Bedrock::Profiler::details::StaticProfLabel label, uint color, ::brstd::source_location const &location)
MCAPI void $syncGPUTiming(uchar, int64, int64, int64)
MCAPI void $generateLogMessageTokenDynamic(::Core::Profile::LogMessageToken &, char const *, uint, ::brstd::source_location const &)
MCAPI void $leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::ScopeToken const &token)
MCAPI bool $isConditionalAndExternalProfiler() const
MCAPI void $enterCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::ScopeToken const &token)
MCAPI void $generateLogMessageTokenStatic(::Core::Profile::LogMessageToken &, char const *, ::Bedrock::Profiler::details::StaticProfLabel, uint, ::brstd::source_location const &)
MCAPI uint $enterGPUProfile(::Bedrock::Profile::ScopeStackStorage &, ::Core::Profile::GPUProfileToken const &, uchar)
MCAPI void $generateCounterToken(::Core::Profile::CounterToken &target, char const *label)
MCAPI int64 $getProfilerTimestamp()
MCAPI void $onFrameTransition(uchar previousFrameType)
MCAPI void $onThreadCreate(::brstd::basic_cstring_view< char, ::std::char_traits< char > > name, ::Core::Profile::ThreadFrameType frameType)
MCAPI void $generateCPUProfileTokenDynamic(::Core::Profile::ScopeToken &, char const *, uint, ::brstd::source_location const &)
MCAPI uint $getMaxTokens() const
MCAPI void $generateGPUProfileToken(::Core::Profile::GPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI void $leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage &, uint)
MCAPI void $counterAdd(::Core::Profile::CounterToken const &, int64)
MCAPI void $enterCPUProfileDynamic(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::ScopeToken const &token, ::Bedrock::Profiler::details::DynamicProfLabel)
MCAPI bool $isActivelyConsumingData() const
MCAPI void $emitLogMessageDynamic(::Core::Profile::LogMessageToken const &, ::Bedrock::Profiler::details::DynamicProfLabel)
MCAPI void $endCapture(bool)
MCAPI void $generateCPUProfileTokenLegacy(::Core::Profile::ScopeToken &, char const *, char const *, uint, ::brstd::source_location const &)
MCAPI void $generateGPUProfileTokenDynamic(::Core::Profile::GPUProfileToken &, char const *, char const *, uint, ::brstd::source_location const &)
Definition ScopeToken.h:7
Definition basic_cstring_view.h:8
Definition DynamicProfLabel.h:7
Definition StaticProfLabel.h:7
Definition source_location.h:7