Skip to content
LeviMC
English
AutoLightDark
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 ::std::string_view getName() const;
42
43 virtual bool isConditionalAndExternalProfiler() const;
44
45 virtual bool isActivelyConsumingData() const;
46
47 virtual uint getMaxTokens() const;
48
49 virtual void onThreadCreate(
50 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
51 ::Core::Profile::ThreadFrameType frameType
52 );
53
54 virtual void onThreadDestroy();
55
56 virtual void onMainThreadCreate();
57
58 virtual void onMainThreadDestroy();
59
60 virtual void onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
61
62 virtual void onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
63
64 virtual void
65 enterCPUProfile(::Bedrock::Profile::ScopeStackStorage& scope, ::Core::Profile::ScopeToken const& token);
66
67 virtual void enterCPUProfileDynamic(
69 ::Core::Profile::ScopeToken const& token,
71 );
72
73 virtual void
74 leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage& scope, ::Core::Profile::ScopeToken const& token);
75
76 virtual uchar createGPUContext(char const*, int64, float, bool, bool);
77
78 virtual uint
80
81 virtual void leaveGPUProfile(::Bedrock::Profile::ScopeStackStorage&, uint);
82
83 virtual void emitGPUTiming(uint, int64, int64);
84
85 virtual void syncGPUTiming(uchar, int64, int64, int64);
86
87 virtual void counterAdd(::Core::Profile::CounterToken const&, int64);
88
89 virtual void counterSet(::Core::Profile::CounterToken const&, int64);
90
91 virtual void emitLogMessage(::Core::Profile::LogMessageToken const&);
92
93 virtual void
95
96 virtual void beginCapture(char const*);
97
98 virtual void endCapture(bool);
99
100 virtual void logCaptureResults();
101
102 virtual bool isCaptureEnding();
103
104 virtual void generateCPUProfileTokenStatic(
106 char const* group,
108 uint color,
109 ::brstd::source_location const& location
110 );
111
112 virtual void generateCPUProfileTokenLegacy(
114 char const*,
115 char const*,
116 uint,
118 );
119
120 virtual void
121 generateCPUProfileTokenDynamic(::Core::Profile::ScopeToken&, char const*, uint, ::brstd::source_location const&);
122
123 virtual void generateGPUProfileToken(
125 char const*,
126 char const*,
127 uint,
129 );
130
131 virtual void generateGPUProfileTokenDynamic(
133 char const*,
134 char const*,
135 uint,
137 );
138
139 virtual void generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
140
141 virtual void generateCounterTokenWithConfig(
143 char const*,
144 ::Core::Profile::CounterDisplayFormat,
145 int64,
146 ::Core::Profile::LegacyCounterFlags
147 );
148
149 virtual void generateLogMessageTokenStatic(
151 char const*,
153 uint,
155 );
156
157 virtual void generateLogMessageTokenDynamic(
159 char const*,
160 uint,
162 );
163
164 virtual int64 getProfilerTimestamp();
165
166 virtual void dumpFile(char const*, ::Core::Profile::FileExtension);
167 // NOLINTEND
168
169public:
170 // virtual function thunks
171 // NOLINTBEGIN
172 MCNAPI void $initializeProfile();
173
174 MCNAPI void $shutdownProfile();
175
176 MCNAPI void $setProfileStamp(::std::string_view);
177
178 MCNAPI void $onFrameTransition(uchar previousFrameType);
179
180 MCNAPI ::std::string_view $getName() const;
181
183
184 MCNAPI bool $isActivelyConsumingData() const;
185
186 MCNAPI uint $getMaxTokens() const;
187
188 MCNAPI void $onThreadCreate(
189 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
190 ::Core::Profile::ThreadFrameType frameType
191 );
192
193 MCNAPI void $onThreadDestroy();
194
195 MCNAPI void $onMainThreadCreate();
196
197 MCNAPI void $onMainThreadDestroy();
198
199 MCNAPI void $onHeapAllocation(void const*, uint64, ::Memory::MemoryCategory, char const*);
200
201 MCNAPI void $onHeapFree(void const*, uint64, ::Memory::MemoryCategory, char const*);
202
203 MCNAPI void
205
208 ::Core::Profile::ScopeToken const& token,
210 );
211
212 MCNAPI void
214
215 MCNAPI uchar $createGPUContext(char const*, int64, float, bool, bool);
216
217 MCNAPI uint
219
221
222 MCNAPI void $emitGPUTiming(uint, int64, int64);
223
224 MCNAPI void $syncGPUTiming(uchar, int64, int64, int64);
225
226 MCNAPI void $counterAdd(::Core::Profile::CounterToken const&, int64);
227
228 MCNAPI void $counterSet(::Core::Profile::CounterToken const&, int64);
229
231
232 MCNAPI void
234
235 MCNAPI void $beginCapture(char const*);
236
237 MCNAPI void $endCapture(bool);
238
239 MCNAPI void $logCaptureResults();
240
241 MCNAPI bool $isCaptureEnding();
242
245 char const* group,
247 uint color,
248 ::brstd::source_location const& location
249 );
250
253 char const*,
254 char const*,
255 uint,
257 );
258
259 MCNAPI void
261
264 char const*,
265 char const*,
266 uint,
268 );
269
272 char const*,
273 char const*,
274 uint,
276 );
277
278 MCNAPI void $generateCounterToken(::Core::Profile::CounterToken& target, char const* label);
279
282 char const*,
283 ::Core::Profile::CounterDisplayFormat,
284 int64,
285 ::Core::Profile::LegacyCounterFlags
286 );
287
290 char const*,
292 uint,
294 );
295
298 char const*,
299 uint,
301 );
302
303 MCNAPI int64 $getProfilerTimestamp();
304
305 MCNAPI void $dumpFile(char const*, ::Core::Profile::FileExtension);
306
307
308 // NOLINTEND
309};
310
311} // 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::std::string_view $getName() const
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