diff options
Diffstat (limited to '')
-rw-r--r-- | daemon/buildinfo.c | 134 |
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); |