This is an automated email from the ASF dual-hosted git repository.
gavinchou pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 038dd93f4d5 [chore](version) Show binary version in metrics: fe be ms
(#45490)
038dd93f4d5 is described below
commit 038dd93f4d5e667813240fc839a2cc4ea86157ce
Author: yagagagaga <[email protected]>
AuthorDate: Tue Dec 17 21:49:06 2024 +0800
[chore](version) Show binary version in metrics: fe be ms (#45490)
before
```
root@af0e5d234e63:~# curl 127.0.0.1:8030/metrics | grep doris_fe_version
root@af0e5d234e63:~# curl 127.0.0.1:8060/brpc_metrics | grep
doris_be_version
root@af0e5d234e63:~# curl 127.0.0.1:5000/brpc_metrics | grep
doris_cloud_version
```
after
```
[root@dbb7fecb3b61 output]# curl 127.0.0.1:8030/metrics | grep
doris_fe_version
# TYPE doris_fe_version gauge
doris_fe_version 30004
[root@dbb7fecb3b61 output]# curl 127.0.0.1:8060/brpc_metrics | grep
doris_be_version
# TYPE doris_be_version gauge
doris_be_version 30004
[root@dbb7fecb3b61 output]# curl 127.0.0.1:5000/brpc_metrics | grep
doris_cloud_version
# TYPE doris_cloud_version gauge
doris_cloud_version 30004
```
Co-authored-by: Gavin Chou <[email protected]>
---
be/src/common/version_internal.cpp | 5 ++++-
be/src/common/version_internal.h | 3 ++-
be/src/util/debug_util.cpp | 11 ++++++++++
cloud/src/main.cpp | 3 +++
.../java/org/apache/doris/metric/MetricRepo.java | 20 +++++++++++++++++
gensrc/script/gen_build_version.sh | 25 ++++++++++++++++------
6 files changed, 59 insertions(+), 8 deletions(-)
diff --git a/be/src/common/version_internal.cpp
b/be/src/common/version_internal.cpp
index 1190242b6aa..55402fab209 100644
--- a/be/src/common/version_internal.cpp
+++ b/be/src/common/version_internal.cpp
@@ -34,6 +34,9 @@ int doris_build_version_minor() {
int doris_build_version_patch() {
return DORIS_BUILD_VERSION_PATCH;
}
+int doris_build_version_hotfix() {
+ return DORIS_BUILD_VERSION_HOTFIX;
+}
const char* doris_build_version_rc_version() {
return DORIS_BUILD_VERSION_RC_VERSION;
}
@@ -56,4 +59,4 @@ const char* doris_build_info() {
} // namespace version
-} // namespace doris
\ No newline at end of file
+} // namespace doris
diff --git a/be/src/common/version_internal.h b/be/src/common/version_internal.h
index 8852d26dba9..f4deaa15aff 100644
--- a/be/src/common/version_internal.h
+++ b/be/src/common/version_internal.h
@@ -24,6 +24,7 @@ extern const char* doris_build_version_prefix();
extern int doris_build_version_major();
extern int doris_build_version_minor();
extern int doris_build_version_patch();
+extern int doris_build_version_hotfix();
extern const char* doris_build_version_rc_version();
extern const char* doris_build_version();
@@ -34,4 +35,4 @@ extern const char* doris_build_info();
} // namespace version
-} // namespace doris
\ No newline at end of file
+} // namespace doris
diff --git a/be/src/util/debug_util.cpp b/be/src/util/debug_util.cpp
index 1cf03d2c22d..0856b10c051 100644
--- a/be/src/util/debug_util.cpp
+++ b/be/src/util/debug_util.cpp
@@ -17,6 +17,7 @@
#include "util/debug_util.h"
+#include <bvar/bvar.h>
#include <gen_cpp/HeartbeatService_types.h>
#include <gen_cpp/PlanNodes_types.h>
#include <stdint.h>
@@ -104,6 +105,16 @@ std::string hexdump(const char* buf, int len) {
return ss.str();
}
+bvar::Status<uint64_t> be_version_metrics("doris_be_version", [] {
+ std::stringstream ss;
+ ss << version::doris_build_version_major() << 0 <<
version::doris_build_version_minor() << 0
+ << version::doris_build_version_patch();
+ if (version::doris_build_version_hotfix() > 0) {
+ ss << 0 << version::doris_build_version_hotfix();
+ }
+ return std::strtoul(ss.str().c_str(), nullptr, 10);
+}());
+
std::string PrintThriftNetworkAddress(const TNetworkAddress& add) {
std::stringstream ss;
add.printTo(ss);
diff --git a/cloud/src/main.cpp b/cloud/src/main.cpp
index 74e6a8daaf1..26033cdaad2 100644
--- a/cloud/src/main.cpp
+++ b/cloud/src/main.cpp
@@ -150,6 +150,9 @@ bvar::Status<uint64_t>
doris_cloud_version_metrics("doris_cloud_version", [] {
std::stringstream ss;
ss << DORIS_CLOUD_BUILD_VERSION_MAJOR << 0 <<
DORIS_CLOUD_BUILD_VERSION_MINOR << 0
<< DORIS_CLOUD_BUILD_VERSION_PATCH;
+ if (DORIS_CLOUD_BUILD_VERSION_HOTFIX > 0) {
+ ss << 0 << DORIS_CLOUD_BUILD_VERSION_HOTFIX;
+ }
return std::strtoul(ss.str().c_str(), nullptr, 10);
}());
diff --git a/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
b/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
index ca731eacf4b..cda73ecbe62 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/metric/MetricRepo.java
@@ -24,6 +24,7 @@ import org.apache.doris.cloud.system.CloudSystemInfoService;
import org.apache.doris.common.Config;
import org.apache.doris.common.Pair;
import org.apache.doris.common.ThreadPoolManager;
+import org.apache.doris.common.Version;
import org.apache.doris.common.util.NetUtils;
import org.apache.doris.load.EtlJobType;
import org.apache.doris.load.loadv2.JobState;
@@ -158,6 +159,25 @@ public final class MetricRepo {
return;
}
+ // version
+ GaugeMetric<Long> feVersion = new GaugeMetric<Long>("version",
MetricUnit.NOUNIT, "") {
+ @Override
+ public Long getValue() {
+ try {
+ return Long.parseLong("" +
Version.DORIS_BUILD_VERSION_MAJOR + "0"
+ +
Version.DORIS_BUILD_VERSION_MINOR + "0"
+ + Version.DORIS_BUILD_VERSION_PATCH
+ +
(Version.DORIS_BUILD_VERSION_HOTFIX > 0
+ ? ("0" +
Version.DORIS_BUILD_VERSION_HOTFIX)
+ : ""));
+ } catch (Throwable t) {
+ LOG.warn("failed to init version metrics", t);
+ return 0L;
+ }
+ }
+ };
+ DORIS_METRIC_REGISTER.addMetrics(feVersion);
+
// load jobs
for (EtlJobType jobType : EtlJobType.values()) {
if (jobType == EtlJobType.UNKNOWN) {
diff --git a/gensrc/script/gen_build_version.sh
b/gensrc/script/gen_build_version.sh
index ce850850e00..a85effebd5e 100755
--- a/gensrc/script/gen_build_version.sh
+++ b/gensrc/script/gen_build_version.sh
@@ -31,9 +31,14 @@ build_version_prefix="doris"
build_version_major=0
build_version_minor=0
build_version_patch=0
+build_version_hotfix=0
build_version_rc_version=""
-build_version="${build_version_prefix}-${build_version_major}.${build_version_minor}.${build_version_patch}-${build_version_rc_version}"
+build_version="${build_version_prefix}-${build_version_major}.${build_version_minor}.${build_version_patch}"
+if [[ ${build_version_hotfix} > 0 ]]; then
+ build_version+=".${build_version_hotfix}"
+fi
+build_version+="-${build_version_rc_version}"
# This version is used to check FeMetaVersion is not changed during release
build_fe_meta_version=0
@@ -125,6 +130,7 @@ public class Version {
public static final int DORIS_BUILD_VERSION_MAJOR = ${build_version_major};
public static final int DORIS_BUILD_VERSION_MINOR = ${build_version_minor};
public static final int DORIS_BUILD_VERSION_PATCH = ${build_version_patch};
+ public static final int DORIS_BUILD_VERSION_HOTFIX = ${build_version_hotfix};
public static final String DORIS_BUILD_VERSION_RC_VERSION =
"${build_version_rc_version}";
public static final String DORIS_BUILD_VERSION = "${build_version}";
@@ -186,6 +192,7 @@ namespace doris {
#define DORIS_BUILD_VERSION_MAJOR ${build_version_major};
#define DORIS_BUILD_VERSION_MINOR ${build_version_minor};
#define DORIS_BUILD_VERSION_PATCH ${build_version_patch};
+#define DORIS_BUILD_VERSION_HOTFIX ${build_version_hotfix};
#define DORIS_BUILD_VERSION_RC_VERSION "${build_version_rc_version}";
#define DORIS_BUILD_VERSION "${build_version}"
@@ -203,11 +210,12 @@ EOF
# doris cloud version info
################################################################################
-build_version_prefix="doris_cloud"
-build_version_major=0
-build_version_minor=0
-build_version_patch=0
-build_version_rc_version=""
+# build_version_prefix="doris_cloud"
+# build_version_major=0
+# build_version_minor=0
+# build_version_patch=0
+# build_version_hotfix=0
+# build_version_rc_version=""
if [[ -f /etc/os-release ]]; then
build_os_version=$(head -n2 </etc/os-release | tr '\n' ' ')
@@ -217,6 +225,10 @@ fi
build_version="${build_version_prefix}-${build_version_major}.${build_version_minor}.${build_version_patch}"
+if [[ ${build_version_hotfix} > 0 ]]; then
+ build_version+=".${build_version_hotfix}"
+fi
+
if [[ "${build_version_rc_version}" != "" ]]; then
build_version=${build_version}"-${build_version_rc_version}"
fi
@@ -247,6 +259,7 @@ namespace doris::cloud {
#define DORIS_CLOUD_BUILD_VERSION_MAJOR ${build_version_major}
#define DORIS_CLOUD_BUILD_VERSION_MINOR ${build_version_minor}
#define DORIS_CLOUD_BUILD_VERSION_PATCH ${build_version_patch}
+#define DORIS_CLOUD_BUILD_VERSION_HOTFIX ${build_version_hotfix}
#define DORIS_CLOUD_BUILD_VERSION_RC_VERSION R"(${build_version_rc_version})"
#define DORIS_CLOUD_BUILD_VERSION R"(${build_version})"
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]