LeviLamina
Loading...
Searching...
No Matches
Whisker_ProfileClient.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/profiler/ProfileClient.h"
7#include "mc/deps/profiler/ThreadFrameType.h"
8#include "mc/platform/brstd/basic_cstring_view.h"
9
10// auto generated forward declare list
11// clang-format off
12namespace Bedrock::Profile { class ScopeStackStorage; }
13namespace Bedrock::Profile::Whisker { struct ScopeData; }
14namespace Bedrock::Profiler::details { struct StaticProfLabel; }
15namespace Bedrock::RefCount::details { struct KeepAlive; }
16namespace Core::Profile { class ScopeToken; }
17namespace brstd { struct source_location; }
18// clang-format on
19
20namespace Core::Profile {
21
23public:
24 // virtual functions
25 // NOLINTBEGIN
26 virtual ~Whisker_ProfileClient() /*override*/ = default;
27
28 virtual void onFrameTransition(uchar previousFrameType) /*override*/;
29
30 virtual void onThreadCreate(
31 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
32 ::Core::Profile::ThreadFrameType frameType
33 ) /*override*/;
34
35 virtual void onThreadDestroy() /*override*/;
36
37 virtual void onMainThreadCreate() /*override*/;
38
39 virtual void onMainThreadDestroy() /*override*/;
40
41 virtual void enterCPUProfile(
44 ) /*override*/;
45
46 virtual void leaveCPUProfile(
49 ) /*override*/;
50
51 virtual void generateCPUProfileTokenStatic(
53 char const* group,
55 uint color,
56 ::brstd::source_location const& location
57 ) /*override*/;
58 // NOLINTEND
59
60public:
61 // member functions
62 // NOLINTBEGIN
63#ifdef LL_PLAT_C
64 MCNAPI void fetchData(::gsl::span<::Bedrock::Profile::Whisker::ScopeData> output, ::std::thread::id thread) const;
65
66 MCNAPI void purgeAllRecords();
67
68 MCNAPI void
69 queryThreadIDsByType(::std::vector<::std::thread::id>& output, ::Core::Profile::ThreadFrameType threadType) const;
70
71 MCNAPI void resolveUniqueKeysByName(
72 ::gsl::span<void const*> output,
73 ::gsl::span<::std::string_view const> names,
74 ::std::thread::id thread
75 ) const;
76#endif
77 // NOLINTEND
78
79public:
80 // virtual function thunks
81 // NOLINTBEGIN
82 MCNAPI void $onFrameTransition(uchar previousFrameType);
83
84 MCNAPI void $onThreadCreate(
85 ::brstd::basic_cstring_view<char, ::std::char_traits<char>> name,
86 ::Core::Profile::ThreadFrameType frameType
87 );
88
89 MCNAPI void $onThreadDestroy();
90
91 MCNAPI void $onMainThreadCreate();
92
93 MCNAPI void $onMainThreadDestroy();
94
95 MCNAPI void
97
98 MCNAPI void
100
103 char const* group,
105 uint color,
106 ::brstd::source_location const& location
107 );
108
109
110 // NOLINTEND
111
112public:
113 // vftables
114 // NOLINTBEGIN
115 MCNAPI static void** $vftable();
116 // NOLINTEND
117};
118
119} // namespace Core::Profile
Definition ScopeStackStorage.h:7
Definition ProfileClient.h:27
Definition ScopeToken.h:7
Definition Whisker_ProfileClient.h:22
static MCAPI void ** $vftable()
MCAPI void $onThreadCreate(::brstd::basic_cstring_view< char, ::std::char_traits< char > > name, ::Core::Profile::ThreadFrameType frameType)
MCAPI void $enterCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::ScopeToken const &token)
MCAPI void $leaveCPUProfile(::Bedrock::Profile::ScopeStackStorage &scope, ::Core::Profile::ScopeToken const &token)
MCAPI void $generateCPUProfileTokenStatic(::Core::Profile::ScopeToken &target, char const *group, ::Bedrock::Profiler::details::StaticProfLabel label, uint color, ::brstd::source_location const &location)
MCAPI void $onFrameTransition(uchar previousFrameType)
Definition basic_cstring_view.h:8
Definition ScopeData.h:7
Definition StaticProfLabel.h:7
Definition source_location.h:7