13 enum class Flags :
int {
14 AwaitingFirstCommandSent = 0,
15 AwaitingFirstCommandReceived = 1,
16 AwaitingFirstCommandRun = 2,
20 FirstSessionLaunch = 6,
25 enum class Stage :
int {
26 CacheCodescreenStart = 0,
27 CacheCodescreenFinish = 1,
29 WebviewLoadFinish = 3,
32 ProjectLoadFinish = 6,
33 TutorialLoadStart = 7,
34 TutorialLoadFinish = 8,
35 EditorContentLoaded = 9,
37 BlocksContentLoaded = 11,
42 FirstCommandSent = 16,
43 FirstCommandReceived = 17,
51 MCNAPI
static void clearFirstSessionLaunch();
53 MCNAPI
static void clearFirstWorldLaunch();
60 ::CodeBuilderPerformance::Stage stage,
61 ::std::string_view codeProjectId,
64 ::std::chrono::milliseconds duration
69 ::CodeBuilderPerformance::Stage stage,
70 ::std::string_view codeProjectId,
71 ::std::chrono::milliseconds duration
82 MCNAPI static ::std::chrono::milliseconds
getElapsedTime(::CodeBuilderPerformance::Stage stage);
91 MCNAPI
static void resetFirstWorldLaunch();
93 MCNAPI
static void setCodeBuilderSessionId();
95 MCNAPI
static void setCodeScreenCached();
97 MCNAPI
static void setEditorName(::std::string
const& editorName);
100 MCNAPI
static void setTimeStart(::CodeBuilderPerformance::Stage stage);
104 MCNAPI static ::std::string
toString(::CodeBuilderPerformance::Stage stage);
116 MCNAPI static ::std::optional<::std::chrono::steady_clock::time_point>&
mCodeRunStart();
122 MCNAPI static ::std::bitset<8>&
mFlags();
124 MCNAPI static ::std::optional<::std::chrono::steady_clock::time_point>&
mLastTimestamp();