2 回答

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超8個贊
計(jì)算事件持續(xù)時間后使用 Timer.record 。
default?void?record(Duration?duration)
當(dāng)您想要傳遞 Sample 以確定發(fā)布指標(biāo)的點(diǎn)時,您通常會使用 Timer.Sample,不一定在完全相同的位置。您還可以更精細(xì)地控制使用 Timer 對象發(fā)布的內(nèi)容。這是一個兩步過程。
在事件開始之前創(chuàng)建一個樣本以返回一個樣本對象
static?Sample?start(Clock?clock)?{..}
使用 Sample.stop 停止示例并在活動完成時推送指標(biāo)
public?long?stop(Timer?timer)?{..}
例如來自TimedAspect的那個-
? Timer.Sample sample = Timer.start(registry);
? ? try {
? ? ? ? return pjp.proceed();
? ? } finally {
? ? ? ? sample.stop(Timer.builder(timed.value())
? ? ? ? ? ? ? ? .description(timed.description().isEmpty() ? null : timed.description())
? ? ? ? ? ? ? ? .tags(timed.extraTags())
? ? ? ? ? ? ? ? .tags(tagsBasedOnJoinpoint.apply(pjp))
? ? ? ? ? ? ? ? .publishPercentileHistogram(timed.histogram())
? ? ? ? ? ? ? ? .publishPercentiles(timed.percentiles().length == 0 ? null : timed.percentiles())
? ? ? ? ? ? ? ? .register(registry));
? ? }

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個贊
主要區(qū)別是添加了手動停止錄制的選項(xiàng)
您還可以將開始狀態(tài)存儲在稍后可以停止的示例實(shí)例中。該示例根據(jù)注冊表的時鐘記錄開始時間。啟動樣本后,執(zhí)行要計(jì)時的代碼,并通過調(diào)用樣本的stop(Timer) 完成操作。
添加回答
舉報(bào)