summaryrefslogtreecommitdiffstats
path: root/daemon/buildinfo.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--daemon/buildinfo.c134
1 files changed, 90 insertions, 44 deletions
diff --git a/daemon/buildinfo.c b/daemon/buildinfo.c
index ebeaa996..a15250f4 100644
--- a/daemon/buildinfo.c
+++ b/daemon/buildinfo.c
@@ -9,13 +9,7 @@
#ifdef ENABLE_ACLK
#define FEAT_CLOUD 1
#define FEAT_CLOUD_MSG ""
-#ifdef ACLK_NG
-#define ACLK_IMPL "Next Generation"
-#else
-#define ACLK_IMPL "Legacy"
-#endif
#else
-#define ACLK_IMPL ""
#ifdef DISABLE_CLOUD
#define FEAT_CLOUD 0
#define FEAT_CLOUD_MSG "(by user request)"
@@ -25,6 +19,24 @@
#endif
#endif
+#ifdef ACLK_NG
+#define FEAT_ACLK_NG 1
+#else
+#define FEAT_ACLK_NG 0
+#endif
+
+#if defined(ACLK_NG) && defined(ENABLE_NEW_CLOUD_PROTOCOL)
+#define NEW_CLOUD_PROTO 1
+#else
+#define NEW_CLOUD_PROTO 0
+#endif
+
+#ifdef ACLK_LEGACY
+#define FEAT_ACLK_LEGACY 1
+#else
+#define FEAT_ACLK_LEGACY 0
+#endif
+
#ifdef ENABLE_DBENGINE
#define FEAT_DBENGINE 1
#else
@@ -43,8 +55,31 @@
#define FEAT_NATIVE_HTTPS 0
#endif
+#ifdef ENABLE_ML
+#define FEAT_ML 1
+#else
+#define FEAT_ML 0
+#endif
+
// Optional libraries
+#ifdef HAVE_PROTOBUF
+#if defined(ACLK_NG) || defined(ENABLE_PROMETHEUS_REMOTE_WRITE)
+#define FEAT_PROTOBUF 1
+#ifdef BUNDLED_PROTOBUF
+#define FEAT_PROTOBUF_BUNDLED " (bundled)"
+#else
+#define FEAT_PROTOBUF_BUNDLED " (system)"
+#endif
+#else
+#define FEAT_PROTOBUF 0
+#define FEAT_PROTOBUF_BUNDLED ""
+#endif
+#else
+#define FEAT_PROTOBUF 0
+#define FEAT_PROTOBUF_BUNDLED ""
+#endif
+
#ifdef ENABLE_JSONC
#define FEAT_JSONC 1
#else
@@ -69,29 +104,29 @@
#define FEAT_LIBCAP 0
#endif
-#ifndef ACLK_NG
-#ifdef ACLK_NO_LIBMOSQ
-#define FEAT_MOSQUITTO 0
-#else
-#define FEAT_MOSQUITTO 1
-#endif
-
-#ifdef ACLK_NO_LWS
-#define FEAT_LWS 0
-#define FEAT_LWS_MSG ""
-#else
-#ifdef ENABLE_ACLK
-#include <libwebsockets.h>
-#endif
-#ifdef BUNDLED_LWS
-#define FEAT_LWS 1
-#define FEAT_LWS_MSG "static"
-#else
-#define FEAT_LWS 1
-#define FEAT_LWS_MSG "shared-lib"
-#endif
-#endif
-#endif /* ACLK_NG */
+#ifndef ACLK_LEGACY_DISABLED
+ #ifdef ACLK_NO_LIBMOSQ
+ #define FEAT_MOSQUITTO 0
+ #else
+ #define FEAT_MOSQUITTO 1
+ #endif
+
+ #ifdef ACLK_NO_LWS
+ #define FEAT_LWS 0
+ #define FEAT_LWS_MSG ""
+ #else
+ #ifdef ACLK_LEGACY
+ #include <libwebsockets.h>
+ #endif
+ #ifdef BUNDLED_LWS
+ #define FEAT_LWS 1
+ #define FEAT_LWS_MSG "static"
+ #else
+ #define FEAT_LWS 1
+ #define FEAT_LWS_MSG "shared-lib"
+ #endif
+ #endif
+#endif /* ACLK_LEGACY_DISABLED */
#ifdef NETDATA_WITH_ZLIB
#define FEAT_ZLIB 1
@@ -205,22 +240,24 @@ void print_build_info(void) {
printf("Configure options: %s\n", CONFIGURE_COMMAND);
printf("Features:\n");
- printf(" dbengine: %s\n", FEAT_YES_NO(FEAT_DBENGINE));
- printf(" Native HTTPS: %s\n", FEAT_YES_NO(FEAT_NATIVE_HTTPS));
- printf(" Netdata Cloud: %s %s\n", FEAT_YES_NO(FEAT_CLOUD), FEAT_CLOUD_MSG);
-#if FEAT_CLOUD == 1
- printf(" Cloud Implementation: %s\n", ACLK_IMPL);
-#endif
- printf(" TLS Host Verification: %s\n", FEAT_YES_NO(FEAT_TLS_HOST_VERIFY));
+ printf(" dbengine: %s\n", FEAT_YES_NO(FEAT_DBENGINE));
+ printf(" Native HTTPS: %s\n", FEAT_YES_NO(FEAT_NATIVE_HTTPS));
+ printf(" Netdata Cloud: %s %s\n", FEAT_YES_NO(FEAT_CLOUD), FEAT_CLOUD_MSG);
+ printf(" ACLK Next Generation: %s\n", FEAT_YES_NO(FEAT_ACLK_NG));
+ printf(" ACLK-NG New Cloud Protocol: %s\n", FEAT_YES_NO(NEW_CLOUD_PROTO));
+ printf(" ACLK Legacy: %s\n", FEAT_YES_NO(FEAT_ACLK_LEGACY));
+ printf(" TLS Host Verification: %s\n", FEAT_YES_NO(FEAT_TLS_HOST_VERIFY));
+ printf(" Machine Learning: %s\n", FEAT_YES_NO(FEAT_ML));
printf("Libraries:\n");
+ printf(" protobuf: %s%s\n", FEAT_YES_NO(FEAT_PROTOBUF), FEAT_PROTOBUF_BUNDLED);
printf(" jemalloc: %s\n", FEAT_YES_NO(FEAT_JEMALLOC));
printf(" JSON-C: %s\n", FEAT_YES_NO(FEAT_JSONC));
printf(" libcap: %s\n", FEAT_YES_NO(FEAT_LIBCAP));
printf(" libcrypto: %s\n", FEAT_YES_NO(FEAT_CRYPTO));
printf(" libm: %s\n", FEAT_YES_NO(FEAT_LIBM));
-#ifndef ACLK_NG
-#if defined(ENABLE_ACLK)
+#ifndef ACLK_LEGACY_DISABLED
+#if defined(ACLK_LEGACY)
printf(" LWS: %s %s v%d.%d.%d\n", FEAT_YES_NO(FEAT_LWS), FEAT_LWS_MSG, LWS_LIBRARY_VERSION_MAJOR, LWS_LIBRARY_VERSION_MINOR, LWS_LIBRARY_VERSION_PATCH);
#else
printf(" LWS: %s %s\n", FEAT_YES_NO(FEAT_LWS), FEAT_LWS_MSG);
@@ -266,13 +303,17 @@ void print_build_info_json(void) {
#else
printf(" \"cloud-disabled\": false,\n");
#endif
-#if FEAT_CLOUD == 1
- printf(" \"cloud-implementation\": \"%s\",\n", ACLK_IMPL);
-#endif
- printf(" \"tls-host-verify\": %s\n", FEAT_JSON_BOOL(FEAT_TLS_HOST_VERIFY));
+ printf(" \"aclk-ng\": %s,\n", FEAT_JSON_BOOL(FEAT_ACLK_NG));
+ printf(" \"aclk-ng-new-cloud-proto\": %s,\n", FEAT_JSON_BOOL(NEW_CLOUD_PROTO));
+ printf(" \"aclk-legacy\": %s,\n", FEAT_JSON_BOOL(FEAT_ACLK_LEGACY));
+
+ printf(" \"tls-host-verify\": %s,\n", FEAT_JSON_BOOL(FEAT_TLS_HOST_VERIFY));
+ printf(" \"machine-learning\": %s\n", FEAT_JSON_BOOL(FEAT_ML));
printf(" },\n");
printf(" \"libs\": {\n");
+ printf(" \"protobuf\": %s,\n", FEAT_JSON_BOOL(FEAT_PROTOBUF));
+ printf(" \"protobuf-source\": \"%s\",\n", FEAT_PROTOBUF_BUNDLED);
printf(" \"jemalloc\": %s,\n", FEAT_JSON_BOOL(FEAT_JEMALLOC));
printf(" \"jsonc\": %s,\n", FEAT_JSON_BOOL(FEAT_JSONC));
printf(" \"libcap\": %s,\n", FEAT_JSON_BOOL(FEAT_LIBCAP));
@@ -320,16 +361,21 @@ void analytics_build_info(BUFFER *b) {
if(FEAT_DBENGINE) buffer_strcat (b, "dbengine");
if(FEAT_NATIVE_HTTPS) buffer_strcat (b, "|Native HTTPS");
if(FEAT_CLOUD) buffer_strcat (b, "|Netdata Cloud");
+ if(FEAT_ACLK_NG) buffer_strcat (b, "|ACLK Next Generation");
+ if(NEW_CLOUD_PROTO) buffer_strcat (b, "|New Cloud Protocol Support");
+ if(FEAT_ACLK_LEGACY) buffer_strcat (b, "|ACLK Legacy");
if(FEAT_TLS_HOST_VERIFY) buffer_strcat (b, "|TLS Host Verification");
+ if(FEAT_ML) buffer_strcat (b, "|Machine Learning");
+ if(FEAT_PROTOBUF) buffer_strcat (b, "|protobuf");
if(FEAT_JEMALLOC) buffer_strcat (b, "|jemalloc");
if(FEAT_JSONC) buffer_strcat (b, "|JSON-C");
if(FEAT_LIBCAP) buffer_strcat (b, "|libcap");
if(FEAT_CRYPTO) buffer_strcat (b, "|libcrypto");
if(FEAT_LIBM) buffer_strcat (b, "|libm");
-#ifndef ACLK_NG
-#if defined(ENABLE_ACLK)
+#ifndef ACLK_LEGACY_DISABLED
+#if defined(ENABLE_ACLK) && defined(ACLK_LEGACY)
{
char buf[20];
snprintfz(buf, 19, "|LWS v%d.%d.%d", LWS_LIBRARY_VERSION_MAJOR, LWS_LIBRARY_VERSION_MINOR, LWS_LIBRARY_VERSION_PATCH);