sil*_*box 6 aop aspectj kotlin micrometer kotlin-coroutines
围绕 Kotlin 挂起函数创建方面的正确方法是什么?
根据我的观察,Micrometer 的 @Timed 方面确实适用于它们,但显示的结果不正确 - 看起来它测量的是方法调用和暂停之间的时间,而不是方法中花费的全部时间(应该包括暂停后的时间)
我想实现的示例:
@CoroutineTimer
suspend fun dbCall() {
repository.someQuery().awaitFirst() // suspension point
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我想知道花在dbCall函数上的全部时间,用自定义@CoroutineTimer注释标记。有没有办法这样做?
您可以这样测量执行时间:
suspend fun dbCall() {
val (result, duration) = measureTimedValue {
repository.someQuery().awaitFirst() // suspension point
}
println(duration)
return result
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
401 次 |
| 最近记录: |