說(shuō)明:?記錄ApplicationStartup期間發(fā)生的特定階段或動(dòng)作的指標(biāo)。?實(shí)現(xiàn)可以跟蹤步驟的“執(zhí)行時(shí)間”或其他指標(biāo)。
StartupStep的生命周期如下:
1. 該步驟通過(guò)調(diào)用應(yīng)用程序啟動(dòng)來(lái)創(chuàng)建和啟動(dòng),并分配了唯一的id
2.?然后,我們可以在處理過(guò)程中將信息附加到 StartupStep.Tags
3.?然后我們需要標(biāo)記步驟的end()方法
該接口的方法有:
//?返回啟動(dòng)步驟的名稱。
//?步驟名稱描述當(dāng)前操作或階段。此技術(shù)名稱應(yīng)為“.”名稱空間,并可重復(fù)使用以描述應(yīng)用程序啟動(dòng)期間類(lèi)似步驟的其他實(shí)例。
String? getName();
//?在應(yīng)用程序啟動(dòng)中返回此步驟的唯一id。
long getId();
//?返回父步驟的id(如果可用)。
// 父步驟是最近創(chuàng)建當(dāng)前步驟時(shí)啟動(dòng)的步驟。
@Nullable
Long getParentId();
//在步驟中添加 StartupStep.Tag
StartupSteptag(String key, String value);
// 在步驟中添加?StartupStep.Tag
StartupStep tag(String key, Supplier<String> value);
//?記錄步驟的狀態(tài)以及可能的其他指標(biāo),如執(zhí)行時(shí)間。
結(jié)束后,不允許更改步驟狀態(tài)。
void end();
//?StartupStep.Tag的不可變集合。
interface Tagsextends Iterable {
}
//用于存儲(chǔ)步驟元數(shù)據(jù)的簡(jiǎn)單鍵/值關(guān)聯(lián)。
interface Tag {
//? 返回標(biāo)記名
? StringgetKey();
// 返回標(biāo)記值
? StringgetValue();
}