github-actions[bot] commented on code in PR #42945: URL: https://github.com/apache/doris/pull/42945#discussion_r1822885377
########## be/src/util/jvm_metrics.cpp: ########## @@ -182,193 +189,257 @@ } } -void JvmStats::init(JNIEnv* ENV) { - env = ENV; - _managementFactoryClass = env->FindClass("java/lang/management/ManagementFactory"); - if (_managementFactoryClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/ManagementFactory Not Find.JVM monitoring fails."; - return; - } +Status JvmStats::init(JNIEnv* env) { Review Comment: warning: function 'init' exceeds recommended size/complexity thresholds [readability-function-size] ```cpp Status JvmStats::init(JNIEnv* env) { ^ ``` <details> <summary>Additional context</summary> **be/src/util/jvm_metrics.cpp:191:** 166 lines including whitespace and comments (threshold 80) ```cpp Status JvmStats::init(JNIEnv* env) { ^ ``` </details> ########## be/src/util/jvm_metrics.cpp: ########## @@ -182,193 +189,257 @@ void JvmMetrics::update() { } } -void JvmStats::init(JNIEnv* ENV) { - env = ENV; - _managementFactoryClass = env->FindClass("java/lang/management/ManagementFactory"); - if (_managementFactoryClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/ManagementFactory Not Find.JVM monitoring fails."; - return; - } +Status JvmStats::init(JNIEnv* env) { Review Comment: warning: function 'init' has cognitive complexity of 144 (threshold 50) [readability-function-cognitive-complexity] ```cpp Status JvmStats::init(JNIEnv* env) { ^ ``` <details> <summary>Additional context</summary> **be/src/util/jvm_metrics.cpp:192:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ManagementFactory", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:192:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ManagementFactory", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:195:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryMXBeanMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:195:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryMXBeanMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:199:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryUsage", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:199:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryUsage", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:202:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageUsedMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:202:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageUsedMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:205:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageCommittedMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:205:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageCommittedMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:208:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageMaxMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:208:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageMaxMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:211:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryMXBean", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:211:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryMXBean", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:214:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getHeapMemoryUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:214:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getHeapMemoryUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:217:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getNonHeapMemoryUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:217:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getNonHeapMemoryUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:221:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:221:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:226:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/util/List", &_listClass)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:226:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/util/List", &_listClass)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:228:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListSizeMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:228:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListSizeMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:231:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListUseIndexMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:231:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListUseIndexMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:234:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryPoolMXBean", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:234:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryPoolMXBean", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:237:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPoolMXBeanUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:237:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPoolMXBeanUsageMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:241:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPollMXBeanPeakMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:241:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPollMXBeanPeakMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:244:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:244:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:248:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getThreadMXBeanMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:248:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, _getThreadMXBeanMethod, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:252:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:252:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:257:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/GarbageCollectorMXBean", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:257:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/GarbageCollectorMXBean", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:260:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:260:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:264:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:264:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:268:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:268:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:272:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadMXBean", ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:272:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadMXBean", ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:275:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:275:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:280:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:280:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:286:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:286:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:291:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:291:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:294:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:294:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:300:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/Thread$State", &_threadStateClass)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:300:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/Thread$State", &_threadStateClass)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:302:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:302:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:306:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:306:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:310:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:310:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:313:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:313:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:317:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:317:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:320:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:320:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:324:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, newThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:324:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, newThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:326:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, newThreadStateObj, &_newThreadStateObj)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:326:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, newThreadStateObj, &_newThreadStateObj)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:328:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, runnableThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:328:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, runnableThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:330:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:330:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:333:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, blockedThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:333:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, blockedThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:335:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, blockedThreadStateObj, &_blockedThreadStateObj)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:335:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, blockedThreadStateObj, &_blockedThreadStateObj)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:337:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, waitingThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:337:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, waitingThreadStateObj, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:339:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, waitingThreadStateObj, &_waitingThreadStateObj)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:339:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, waitingThreadStateObj, &_waitingThreadStateObj)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:341:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:341:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:344:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, timedWaitingThreadStateObj, ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:344:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, timedWaitingThreadStateObj, ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:347:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:347:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:350:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:350:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR( ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` </details> ########## be/src/util/jvm_metrics.cpp: ########## @@ -182,193 +189,257 @@ } } -void JvmStats::init(JNIEnv* ENV) { - env = ENV; - _managementFactoryClass = env->FindClass("java/lang/management/ManagementFactory"); - if (_managementFactoryClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/ManagementFactory Not Find.JVM monitoring fails."; - return; - } +Status JvmStats::init(JNIEnv* env) { + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ManagementFactory", + &_managementFactoryClass)); - _getMemoryMXBeanMethod = env->GetStaticMethodID(_managementFactoryClass, "getMemoryMXBean", - "()Ljava/lang/management/MemoryMXBean;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryMXBeanMethod, env, + GetStaticMethodID(_managementFactoryClass, "getMemoryMXBean", + "()Ljava/lang/management/MemoryMXBean;")); - _memoryUsageClass = env->FindClass("java/lang/management/MemoryUsage"); - if (_memoryUsageClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/MemoryUsage Not Find.JVM monitoring fails."; - return; - } - _getMemoryUsageUsedMethod = env->GetMethodID(_memoryUsageClass, "getUsed", "()J"); - _getMemoryUsageCommittedMethod = env->GetMethodID(_memoryUsageClass, "getCommitted", "()J"); - _getMemoryUsageMaxMethod = env->GetMethodID(_memoryUsageClass, "getMax", "()J"); + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryUsage", + &_memoryUsageClass)); - _memoryMXBeanClass = env->FindClass("java/lang/management/MemoryMXBean"); - if (_memoryMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/MemoryMXBean Not Find.JVM monitoring fails."; - return; - } - _getHeapMemoryUsageMethod = env->GetMethodID(_memoryMXBeanClass, "getHeapMemoryUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getNonHeapMemoryUsageMethod = env->GetMethodID(_memoryMXBeanClass, "getNonHeapMemoryUsage", - "()Ljava/lang/management/MemoryUsage;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageUsedMethod, env, + GetMethodID(_memoryUsageClass, "getUsed", "()J")); - _getMemoryPoolMXBeansMethod = env->GetStaticMethodID( - _managementFactoryClass, "getMemoryPoolMXBeans", "()Ljava/util/List;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageCommittedMethod, env, + GetMethodID(_memoryUsageClass, "getCommitted", "()J")); - _listClass = env->FindClass("java/util/List"); - if (_listClass == nullptr) { - LOG(WARNING) << "Class java/util/List Not Find.JVM monitoring fails."; - return; - } - _getListSizeMethod = env->GetMethodID(_listClass, "size", "()I"); - _getListUseIndexMethod = env->GetMethodID(_listClass, "get", "(I)Ljava/lang/Object;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageMaxMethod, env, + GetMethodID(_memoryUsageClass, "getMax", "()J")); - _memoryPoolMXBeanClass = env->FindClass("java/lang/management/MemoryPoolMXBean"); - if (_memoryPoolMXBeanClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/MemoryPoolMXBean Not Find.JVM monitoring fails."; - return; - } - _getMemoryPoolMXBeanUsageMethod = env->GetMethodID(_memoryPoolMXBeanClass, "getUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getMemoryPollMXBeanPeakMethod = env->GetMethodID(_memoryPoolMXBeanClass, "getPeakUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getMemoryPollMXBeanNameMethod = - env->GetMethodID(_memoryPoolMXBeanClass, "getName", "()Ljava/lang/String;"); - - _getThreadMXBeanMethod = env->GetStaticMethodID(_managementFactoryClass, "getThreadMXBean", - "()Ljava/lang/management/ThreadMXBean;"); - - _getGarbageCollectorMXBeansMethod = env->GetStaticMethodID( - _managementFactoryClass, "getGarbageCollectorMXBeans", "()Ljava/util/List;"); - - _garbageCollectorMXBeanClass = env->FindClass("java/lang/management/GarbageCollectorMXBean"); - if (_garbageCollectorMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/GarbageCollectorMXBean Not Find.JVM monitoring " - "fails."; - return; - } - _getGCNameMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getName", "()Ljava/lang/String;"); - _getGCCollectionCountMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getCollectionCount", "()J"); - _getGCCollectionTimeMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getCollectionTime", "()J"); - - _threadMXBeanClass = env->FindClass("java/lang/management/ThreadMXBean"); - if (_threadMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/ThreadMXBean Not Find.JVM monitoring fails."; - return; - } - _getAllThreadIdsMethod = env->GetMethodID(_threadMXBeanClass, "getAllThreadIds", "()[J"); - _getThreadInfoMethod = env->GetMethodID(_threadMXBeanClass, "getThreadInfo", - "([JI)[Ljava/lang/management/ThreadInfo;"); - _getPeakThreadCountMethod = env->GetMethodID(_threadMXBeanClass, "getPeakThreadCount", "()I"); - - _threadInfoClass = env->FindClass("java/lang/management/ThreadInfo"); - if (_threadInfoClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/ThreadInfo Not Find.JVM monitoring fails."; - return; - } + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryMXBean", + &_memoryMXBeanClass)); - _getThreadStateMethod = - env->GetMethodID(_threadInfoClass, "getThreadState", "()Ljava/lang/Thread$State;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getHeapMemoryUsageMethod, env, + GetMethodID(_memoryMXBeanClass, "getHeapMemoryUsage", + "()Ljava/lang/management/MemoryUsage;")); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getNonHeapMemoryUsageMethod, env, + GetMethodID(_memoryMXBeanClass, "getNonHeapMemoryUsage", + "()Ljava/lang/management/MemoryUsage;")); - _threadStateClass = env->FindClass("java/lang/Thread$State"); - if (_threadStateClass == nullptr) { - LOG(WARNING) << "Class java/lang/Thread$State Not Find.JVM monitoring fails."; - return; - } + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getMemoryPoolMXBeansMethod, env, + GetStaticMethodID(_managementFactoryClass, "getMemoryPoolMXBeans", + "()Ljava/util/List;")); - jfieldID newThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "NEW", "Ljava/lang/Thread$State;"); - jfieldID runnableThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "RUNNABLE", "Ljava/lang/Thread$State;"); - jfieldID blockedThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "BLOCKED", "Ljava/lang/Thread$State;"); - jfieldID waitingThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "WAITING", "Ljava/lang/Thread$State;"); - jfieldID timedWaitingThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "TIMED_WAITING", "Ljava/lang/Thread$State;"); - jfieldID terminatedThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "TERMINATED", "Ljava/lang/Thread$State;"); - - _newThreadStateObj = env->GetStaticObjectField(_threadStateClass, newThreadFieldID); - _runnableThreadStateObj = env->GetStaticObjectField(_threadStateClass, runnableThreadFieldID); - _blockedThreadStateObj = env->GetStaticObjectField(_threadStateClass, blockedThreadFieldID); - _waitingThreadStateObj = env->GetStaticObjectField(_threadStateClass, waitingThreadFieldID); - _timedWaitingThreadStateObj = - env->GetStaticObjectField(_threadStateClass, timedWaitingThreadFieldID); - _terminatedThreadStateObj = - env->GetStaticObjectField(_threadStateClass, terminatedThreadFieldID); + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/util/List", &_listClass)); - LOG(INFO) << "Start JVM monitoring."; + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListSizeMethod, env, + GetMethodID(_listClass, "size", "()I")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListUseIndexMethod, env, + GetMethodID(_listClass, "get", "(I)Ljava/lang/Object;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryPoolMXBean", + &_memoryPoolMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPoolMXBeanUsageMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getUsage", + "()Ljava/lang/management/MemoryUsage;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPollMXBeanPeakMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getPeakUsage", + "()Ljava/lang/management/MemoryUsage;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getMemoryPollMXBeanNameMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getName", "()Ljava/lang/String;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getThreadMXBeanMethod, env, + GetStaticMethodID(_managementFactoryClass, "getThreadMXBean", + "()Ljava/lang/management/ThreadMXBean;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGarbageCollectorMXBeansMethod, env, + GetStaticMethodID(_managementFactoryClass, "getGarbageCollectorMXBeans", + "()Ljava/util/List;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/GarbageCollectorMXBean", + &_garbageCollectorMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCNameMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getName", "()Ljava/lang/String;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCCollectionCountMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getCollectionCount", "()J")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCCollectionTimeMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getCollectionTime", "()J")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadMXBean", + &_threadMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getAllThreadIdsMethod, env, + GetMethodID(_threadMXBeanClass, "getAllThreadIds", "()[J")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getThreadInfoMethod, env, + GetMethodID(_threadMXBeanClass, "getThreadInfo", + "([JI)[Ljava/lang/management/ThreadInfo;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getPeakThreadCountMethod, env, + GetMethodID(_threadMXBeanClass, "getPeakThreadCount", "()I")); + + RETURN_IF_ERROR( + JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadInfo", &_threadInfoClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , + + _getThreadStateMethod, env, + GetMethodID(_threadInfoClass, "getThreadState", "()Ljava/lang/Thread$State;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/Thread$State", &_threadStateClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, newThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "NEW", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, runnableThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "RUNNABLE", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, blockedThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "BLOCKED", "Ljava/lang/Thread$State;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, waitingThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "WAITING", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, timedWaitingThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "TIMED_WAITING", "Ljava/lang/Thread$State;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, terminatedThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "TERMINATED", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, newThreadStateObj, env, + GetStaticObjectField(_threadStateClass, newThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, newThreadStateObj, &_newThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, runnableThreadStateObj, env, + GetStaticObjectField(_threadStateClass, runnableThreadFieldID)); + RETURN_IF_ERROR( + JniUtil::LocalToGlobalRef(env, runnableThreadStateObj, &_runnableThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, blockedThreadStateObj, env, + GetStaticObjectField(_threadStateClass, blockedThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, blockedThreadStateObj, &_blockedThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, waitingThreadStateObj, env, + GetStaticObjectField(_threadStateClass, waitingThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, waitingThreadStateObj, &_waitingThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jobject, timedWaitingThreadStateObj, env, + GetStaticObjectField(_threadStateClass, timedWaitingThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, timedWaitingThreadStateObj, + &_timedWaitingThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jobject, terminatedThreadStateObj, env, + GetStaticObjectField(_threadStateClass, terminatedThreadFieldID)); + RETURN_IF_ERROR( + JniUtil::LocalToGlobalRef(env, terminatedThreadStateObj, &_terminatedThreadStateObj)); _init_complete = true; - return; + + LOG(INFO) << "Start JVM monitoring."; + return Status::OK(); } -void JvmStats::refresh(JvmMetrics* jvm_metrics) { +Status JvmStats::refresh(JvmMetrics* jvm_metrics) const { Review Comment: warning: function 'refresh' exceeds recommended size/complexity thresholds [readability-function-size] ```cpp Status JvmStats::refresh(JvmMetrics* jvm_metrics) const { ^ ``` <details> <summary>Additional context</summary> **be/src/util/jvm_metrics.cpp:359:** 199 lines including whitespace and comments (threshold 80) ```cpp Status JvmStats::refresh(JvmMetrics* jvm_metrics) const { ^ ``` </details> ########## be/src/util/jvm_metrics.cpp: ########## @@ -182,193 +189,257 @@ } } -void JvmStats::init(JNIEnv* ENV) { - env = ENV; - _managementFactoryClass = env->FindClass("java/lang/management/ManagementFactory"); - if (_managementFactoryClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/ManagementFactory Not Find.JVM monitoring fails."; - return; - } +Status JvmStats::init(JNIEnv* env) { + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ManagementFactory", + &_managementFactoryClass)); - _getMemoryMXBeanMethod = env->GetStaticMethodID(_managementFactoryClass, "getMemoryMXBean", - "()Ljava/lang/management/MemoryMXBean;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryMXBeanMethod, env, + GetStaticMethodID(_managementFactoryClass, "getMemoryMXBean", + "()Ljava/lang/management/MemoryMXBean;")); - _memoryUsageClass = env->FindClass("java/lang/management/MemoryUsage"); - if (_memoryUsageClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/MemoryUsage Not Find.JVM monitoring fails."; - return; - } - _getMemoryUsageUsedMethod = env->GetMethodID(_memoryUsageClass, "getUsed", "()J"); - _getMemoryUsageCommittedMethod = env->GetMethodID(_memoryUsageClass, "getCommitted", "()J"); - _getMemoryUsageMaxMethod = env->GetMethodID(_memoryUsageClass, "getMax", "()J"); + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryUsage", + &_memoryUsageClass)); - _memoryMXBeanClass = env->FindClass("java/lang/management/MemoryMXBean"); - if (_memoryMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/MemoryMXBean Not Find.JVM monitoring fails."; - return; - } - _getHeapMemoryUsageMethod = env->GetMethodID(_memoryMXBeanClass, "getHeapMemoryUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getNonHeapMemoryUsageMethod = env->GetMethodID(_memoryMXBeanClass, "getNonHeapMemoryUsage", - "()Ljava/lang/management/MemoryUsage;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageUsedMethod, env, + GetMethodID(_memoryUsageClass, "getUsed", "()J")); - _getMemoryPoolMXBeansMethod = env->GetStaticMethodID( - _managementFactoryClass, "getMemoryPoolMXBeans", "()Ljava/util/List;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageCommittedMethod, env, + GetMethodID(_memoryUsageClass, "getCommitted", "()J")); - _listClass = env->FindClass("java/util/List"); - if (_listClass == nullptr) { - LOG(WARNING) << "Class java/util/List Not Find.JVM monitoring fails."; - return; - } - _getListSizeMethod = env->GetMethodID(_listClass, "size", "()I"); - _getListUseIndexMethod = env->GetMethodID(_listClass, "get", "(I)Ljava/lang/Object;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryUsageMaxMethod, env, + GetMethodID(_memoryUsageClass, "getMax", "()J")); - _memoryPoolMXBeanClass = env->FindClass("java/lang/management/MemoryPoolMXBean"); - if (_memoryPoolMXBeanClass == nullptr) { - LOG(WARNING) - << "Class java/lang/management/MemoryPoolMXBean Not Find.JVM monitoring fails."; - return; - } - _getMemoryPoolMXBeanUsageMethod = env->GetMethodID(_memoryPoolMXBeanClass, "getUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getMemoryPollMXBeanPeakMethod = env->GetMethodID(_memoryPoolMXBeanClass, "getPeakUsage", - "()Ljava/lang/management/MemoryUsage;"); - _getMemoryPollMXBeanNameMethod = - env->GetMethodID(_memoryPoolMXBeanClass, "getName", "()Ljava/lang/String;"); - - _getThreadMXBeanMethod = env->GetStaticMethodID(_managementFactoryClass, "getThreadMXBean", - "()Ljava/lang/management/ThreadMXBean;"); - - _getGarbageCollectorMXBeansMethod = env->GetStaticMethodID( - _managementFactoryClass, "getGarbageCollectorMXBeans", "()Ljava/util/List;"); - - _garbageCollectorMXBeanClass = env->FindClass("java/lang/management/GarbageCollectorMXBean"); - if (_garbageCollectorMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/GarbageCollectorMXBean Not Find.JVM monitoring " - "fails."; - return; - } - _getGCNameMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getName", "()Ljava/lang/String;"); - _getGCCollectionCountMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getCollectionCount", "()J"); - _getGCCollectionTimeMethod = - env->GetMethodID(_garbageCollectorMXBeanClass, "getCollectionTime", "()J"); - - _threadMXBeanClass = env->FindClass("java/lang/management/ThreadMXBean"); - if (_threadMXBeanClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/ThreadMXBean Not Find.JVM monitoring fails."; - return; - } - _getAllThreadIdsMethod = env->GetMethodID(_threadMXBeanClass, "getAllThreadIds", "()[J"); - _getThreadInfoMethod = env->GetMethodID(_threadMXBeanClass, "getThreadInfo", - "([JI)[Ljava/lang/management/ThreadInfo;"); - _getPeakThreadCountMethod = env->GetMethodID(_threadMXBeanClass, "getPeakThreadCount", "()I"); - - _threadInfoClass = env->FindClass("java/lang/management/ThreadInfo"); - if (_threadInfoClass == nullptr) { - LOG(WARNING) << "Class java/lang/management/ThreadInfo Not Find.JVM monitoring fails."; - return; - } + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryMXBean", + &_memoryMXBeanClass)); - _getThreadStateMethod = - env->GetMethodID(_threadInfoClass, "getThreadState", "()Ljava/lang/Thread$State;"); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getHeapMemoryUsageMethod, env, + GetMethodID(_memoryMXBeanClass, "getHeapMemoryUsage", + "()Ljava/lang/management/MemoryUsage;")); + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getNonHeapMemoryUsageMethod, env, + GetMethodID(_memoryMXBeanClass, "getNonHeapMemoryUsage", + "()Ljava/lang/management/MemoryUsage;")); - _threadStateClass = env->FindClass("java/lang/Thread$State"); - if (_threadStateClass == nullptr) { - LOG(WARNING) << "Class java/lang/Thread$State Not Find.JVM monitoring fails."; - return; - } + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getMemoryPoolMXBeansMethod, env, + GetStaticMethodID(_managementFactoryClass, "getMemoryPoolMXBeans", + "()Ljava/util/List;")); - jfieldID newThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "NEW", "Ljava/lang/Thread$State;"); - jfieldID runnableThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "RUNNABLE", "Ljava/lang/Thread$State;"); - jfieldID blockedThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "BLOCKED", "Ljava/lang/Thread$State;"); - jfieldID waitingThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "WAITING", "Ljava/lang/Thread$State;"); - jfieldID timedWaitingThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "TIMED_WAITING", "Ljava/lang/Thread$State;"); - jfieldID terminatedThreadFieldID = - env->GetStaticFieldID(_threadStateClass, "TERMINATED", "Ljava/lang/Thread$State;"); - - _newThreadStateObj = env->GetStaticObjectField(_threadStateClass, newThreadFieldID); - _runnableThreadStateObj = env->GetStaticObjectField(_threadStateClass, runnableThreadFieldID); - _blockedThreadStateObj = env->GetStaticObjectField(_threadStateClass, blockedThreadFieldID); - _waitingThreadStateObj = env->GetStaticObjectField(_threadStateClass, waitingThreadFieldID); - _timedWaitingThreadStateObj = - env->GetStaticObjectField(_threadStateClass, timedWaitingThreadFieldID); - _terminatedThreadStateObj = - env->GetStaticObjectField(_threadStateClass, terminatedThreadFieldID); + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/util/List", &_listClass)); - LOG(INFO) << "Start JVM monitoring."; + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListSizeMethod, env, + GetMethodID(_listClass, "size", "()I")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getListUseIndexMethod, env, + GetMethodID(_listClass, "get", "(I)Ljava/lang/Object;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/MemoryPoolMXBean", + &_memoryPoolMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPoolMXBeanUsageMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getUsage", + "()Ljava/lang/management/MemoryUsage;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getMemoryPollMXBeanPeakMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getPeakUsage", + "()Ljava/lang/management/MemoryUsage;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getMemoryPollMXBeanNameMethod, env, + GetMethodID(_memoryPoolMXBeanClass, "getName", "()Ljava/lang/String;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, _getThreadMXBeanMethod, env, + GetStaticMethodID(_managementFactoryClass, "getThreadMXBean", + "()Ljava/lang/management/ThreadMXBean;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGarbageCollectorMXBeansMethod, env, + GetStaticMethodID(_managementFactoryClass, "getGarbageCollectorMXBeans", + "()Ljava/util/List;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/GarbageCollectorMXBean", + &_garbageCollectorMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCNameMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getName", "()Ljava/lang/String;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCCollectionCountMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getCollectionCount", "()J")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , _getGCCollectionTimeMethod, env, + GetMethodID(_garbageCollectorMXBeanClass, "getCollectionTime", "()J")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadMXBean", + &_threadMXBeanClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getAllThreadIdsMethod, env, + GetMethodID(_threadMXBeanClass, "getAllThreadIds", "()[J")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getThreadInfoMethod, env, + GetMethodID(_threadMXBeanClass, "getThreadInfo", + "([JI)[Ljava/lang/management/ThreadInfo;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(, + + _getPeakThreadCountMethod, env, + GetMethodID(_threadMXBeanClass, "getPeakThreadCount", "()I")); + + RETURN_IF_ERROR( + JniUtil::GetGlobalClassRef(env, "java/lang/management/ThreadInfo", &_threadInfoClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + , + + _getThreadStateMethod, env, + GetMethodID(_threadInfoClass, "getThreadState", "()Ljava/lang/Thread$State;")); + + RETURN_IF_ERROR(JniUtil::GetGlobalClassRef(env, "java/lang/Thread$State", &_threadStateClass)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, newThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "NEW", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, runnableThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "RUNNABLE", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, blockedThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "BLOCKED", "Ljava/lang/Thread$State;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, waitingThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "WAITING", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, timedWaitingThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "TIMED_WAITING", "Ljava/lang/Thread$State;")); + JNI_CALL_METHOD_CHECK_EXCEPTION( + jfieldID, terminatedThreadFieldID, env, + GetStaticFieldID(_threadStateClass, "TERMINATED", "Ljava/lang/Thread$State;")); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, newThreadStateObj, env, + GetStaticObjectField(_threadStateClass, newThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, newThreadStateObj, &_newThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, runnableThreadStateObj, env, + GetStaticObjectField(_threadStateClass, runnableThreadFieldID)); + RETURN_IF_ERROR( + JniUtil::LocalToGlobalRef(env, runnableThreadStateObj, &_runnableThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, blockedThreadStateObj, env, + GetStaticObjectField(_threadStateClass, blockedThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, blockedThreadStateObj, &_blockedThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, waitingThreadStateObj, env, + GetStaticObjectField(_threadStateClass, waitingThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, waitingThreadStateObj, &_waitingThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jobject, timedWaitingThreadStateObj, env, + GetStaticObjectField(_threadStateClass, timedWaitingThreadFieldID)); + RETURN_IF_ERROR(JniUtil::LocalToGlobalRef(env, timedWaitingThreadStateObj, + &_timedWaitingThreadStateObj)); + + JNI_CALL_METHOD_CHECK_EXCEPTION( + jobject, terminatedThreadStateObj, env, + GetStaticObjectField(_threadStateClass, terminatedThreadFieldID)); + RETURN_IF_ERROR( + JniUtil::LocalToGlobalRef(env, terminatedThreadStateObj, &_terminatedThreadStateObj)); _init_complete = true; - return; + + LOG(INFO) << "Start JVM monitoring."; + return Status::OK(); } -void JvmStats::refresh(JvmMetrics* jvm_metrics) { +Status JvmStats::refresh(JvmMetrics* jvm_metrics) const { Review Comment: warning: function 'refresh' has cognitive complexity of 184 (threshold 50) [readability-function-cognitive-complexity] ```cpp Status JvmStats::refresh(JvmMetrics* jvm_metrics) const { ^ ``` <details> <summary>Additional context</summary> **be/src/util/jvm_metrics.cpp:360:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp if (!_init_complete) { ^ ``` **be/src/util/jvm_metrics.cpp:365:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp RETURN_IF_ERROR(JniUtil::GetJNIEnv(&env)); ^ ``` **be/src/common/status.h:619:** expanded from macro 'RETURN_IF_ERROR' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:365:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp RETURN_IF_ERROR(JniUtil::GetJNIEnv(&env)); ^ ``` **be/src/common/status.h:621:** expanded from macro 'RETURN_IF_ERROR' ```cpp if (UNLIKELY(!_status_.ok())) { \ ^ ``` **be/src/util/jvm_metrics.cpp:367:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:367:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:367:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:371:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:371:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:371:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:375:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, heapMemoryUsed, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:375:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, heapMemoryUsed, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:378:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:378:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:382:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, heapMemoryMax, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:382:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, heapMemoryMax, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:385:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_heap_size_bytes_used->set_value(heapMemoryUsed < 0 ? 0 : heapMemoryUsed); ^ ``` **be/src/util/jvm_metrics.cpp:387:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp heapMemoryCommitted < 0 ? 0 : heapMemoryCommitted); ^ ``` **be/src/util/jvm_metrics.cpp:388:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_heap_size_bytes_max->set_value(heapMemoryMax < 0 ? 0 : heapMemoryMax); ^ ``` **be/src/util/jvm_metrics.cpp:390:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:390:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:390:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:394:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:394:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:398:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:398:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION( ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:403:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp nonHeapMemoryCommitted < 0 ? 0 : nonHeapMemoryCommitted); ^ ``` **be/src/util/jvm_metrics.cpp:404:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_non_heap_size_bytes_used->set_value(nonHeapMemoryUsed < 0 ? 0 ^ ``` **be/src/util/jvm_metrics.cpp:407:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:407:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:407:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:411:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, size, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:411:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, size, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:414:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp for (int i = 0; i < size; ++i) { ^ ``` **be/src/util/jvm_metrics.cpp:415:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:415:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:415:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:419:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:419:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:419:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:423:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, used, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:423:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, used, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:426:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, max, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:426:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, max, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:429:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:429:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:429:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:433:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, peakUsed, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:433:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, peakUsed, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:436:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:436:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:436:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:442:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (nameStr != nullptr) { ^ ``` **be/src/util/jvm_metrics.cpp:444:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp if (it == _memoryPoolName.end()) { ^ ``` **be/src/util/jvm_metrics.cpp:447:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp if (it->second == memoryPoolNameEnum::YOUNG) { ^ ``` **be/src/util/jvm_metrics.cpp:448:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_young_size_bytes_used->set_value(used < 0 ? 0 : used); ^ ``` **be/src/util/jvm_metrics.cpp:449:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_young_size_bytes_peak_used->set_value(peakUsed < 0 ? 0 : peakUsed); ^ ``` **be/src/util/jvm_metrics.cpp:450:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_young_size_bytes_max->set_value(max < 0 ? 0 : max); ^ ``` **be/src/util/jvm_metrics.cpp:452:** +1, nesting level increased to 3 ```cpp } else if (it->second == memoryPoolNameEnum::OLD) { ^ ``` **be/src/util/jvm_metrics.cpp:453:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_old_size_bytes_used->set_value(used < 0 ? 0 : used); ^ ``` **be/src/util/jvm_metrics.cpp:454:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_old_size_bytes_peak_used->set_value(peakUsed < 0 ? 0 : peakUsed); ^ ``` **be/src/util/jvm_metrics.cpp:455:** +4, including nesting penalty of 3, nesting level increased to 4 ```cpp jvm_metrics->jvm_old_size_bytes_max->set_value(max < 0 ? 0 : max); ^ ``` **be/src/util/jvm_metrics.cpp:462:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:462:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:462:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:466:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:466:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:466:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:471:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, threadCount, env, GetArrayLength(threadIds)); ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:471:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, threadCount, env, GetArrayLength(threadIds)); ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:473:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:473:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:473:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:480:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, peakThreadCount, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:480:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, peakThreadCount, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:483:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_peak_count->set_value(peakThreadCount < 0 ? 0 : peakThreadCount); ^ ``` **be/src/util/jvm_metrics.cpp:484:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_count->set_value(threadCount < 0 ? 0 : threadCount); ^ ``` **be/src/util/jvm_metrics.cpp:486:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp for (int i = 0; i < threadCount; i++) { ^ ``` **be/src/util/jvm_metrics.cpp:487:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, threadInfo, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:487:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jobject, threadInfo, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:490:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (threadInfo == nullptr) { ^ ``` **be/src/util/jvm_metrics.cpp:494:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:494:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:494:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:498:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (env->IsSameObject(threadState, _newThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:500:** +1, nesting level increased to 2 ```cpp } else if (env->IsSameObject(threadState, _runnableThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:502:** +1, nesting level increased to 2 ```cpp } else if (env->IsSameObject(threadState, _blockedThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:504:** +1, nesting level increased to 2 ```cpp } else if (env->IsSameObject(threadState, _waitingThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:506:** +1, nesting level increased to 2 ```cpp } else if (env->IsSameObject(threadState, _timedWaitingThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:508:** +1, nesting level increased to 2 ```cpp } else if (env->IsSameObject(threadState, _terminatedThreadStateObj)) { ^ ``` **be/src/util/jvm_metrics.cpp:513:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_new_count->set_value(threadsNew < 0 ? 0 : threadsNew); ^ ``` **be/src/util/jvm_metrics.cpp:514:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_runnable_count->set_value(threadsRunnable < 0 ? 0 : threadsRunnable); ^ ``` **be/src/util/jvm_metrics.cpp:515:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_blocked_count->set_value(threadsBlocked < 0 ? 0 : threadsBlocked); ^ ``` **be/src/util/jvm_metrics.cpp:516:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_waiting_count->set_value(threadsWaiting < 0 ? 0 : threadsWaiting); ^ ``` **be/src/util/jvm_metrics.cpp:518:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp threadsTimedWaiting < 0 ? 0 : threadsTimedWaiting); ^ ``` **be/src/util/jvm_metrics.cpp:519:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp jvm_metrics->jvm_thread_terminated_count->set_value(threadsTerminated < 0 ? 0 ^ ``` **be/src/util/jvm_metrics.cpp:522:** nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:522:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:522:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:526:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, numCollectors, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:526:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jint, numCollectors, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:529:** +1, including nesting penalty of 0, nesting level increased to 1 ```cpp for (int i = 0; i < numCollectors; i++) { ^ ``` **be/src/util/jvm_metrics.cpp:530:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:530:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:530:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF( ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:533:** nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF(jobject, gcName, env, ^ ``` **be/src/util/jni-util.h:48:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp DEFER(env->DeleteLocalRef(result)); \ ^ ``` **be/src/util/defer_op.h:45:** expanded from macro 'DEFER' ```cpp #define DEFER(...) DEFER_FWD(__LINE__, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:44:** expanded from macro 'DEFER_FWD' ```cpp #define DEFER_FWD(n, ...) DEFER_CONCAT(n, __VA_ARGS__) ^ ``` **be/src/util/defer_op.h:43:** expanded from macro 'DEFER_CONCAT' ```cpp #define DEFER_CONCAT(n, ...) const auto defer##n = doris::Defer([&]() { __VA_ARGS__; }) ^ ``` **be/src/util/jvm_metrics.cpp:533:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF(jobject, gcName, env, ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:533:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF(jobject, gcName, env, ^ ``` **be/src/util/jni-util.h:49:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION_DELETE_REF' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:536:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, gcCollectionCount, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:536:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, gcCollectionCount, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:539:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, gcCollectionTime, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:41:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp do { \ ^ ``` **be/src/util/jvm_metrics.cpp:539:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp JNI_CALL_METHOD_CHECK_EXCEPTION(jlong, gcCollectionTime, env, ^ ``` **be/src/util/jni-util.h:53:** expanded from macro 'JNI_CALL_METHOD_CHECK_EXCEPTION' ```cpp RETURN_ERROR_IF_EXC(env) ^ ``` **be/src/util/jni-util.h:42:** expanded from macro 'RETURN_ERROR_IF_EXC' ```cpp if (env->ExceptionCheck()) [[unlikely]] \ ^ ``` **be/src/util/jvm_metrics.cpp:543:** +2, including nesting penalty of 1, nesting level increased to 2 ```cpp if (gcNameStr != nullptr) { ^ ``` **be/src/util/jvm_metrics.cpp:544:** +3, including nesting penalty of 2, nesting level increased to 3 ```cpp if (strcmp(gcNameStr, "G1 Young Generation") == 0) { ^ ``` **be/src/util/jvm_metrics.cpp:548:** +1, nesting level increased to 3 ```cpp } else { ^ ``` </details> -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org