Installs basic interface for monitoring and
add the option --monitoring / -M to activate
the alias /monitoring. This makes the page
/monitoring/monitor.html available.
Change-Id: Iebe0959f0a5e7c396fe7ce6862d0f9c883733824
Signed-off-by: José Bollo <jose.bollo@iot.bzh>
SET(binding_install_dir ${CMAKE_INSTALL_FULL_LIBDIR}/afb)
SET(binding_install_dir ${CMAKE_INSTALL_FULL_LIBDIR}/afb)
+###########################################################################
+# activates the monitoring by default
+set(INCLUDE_MONITORING ON CACHE BOOL "Activates installation of monitoring")
+if(INCLUDE_MONITORING)
+ add_definitions(-DWITH_MONITORING_OTPION)
+ INSTALL(DIRECTORY
+ ${CMAKE_CURRENT_SOURCE_DIR}/test/monitoring
+ DESTINATION
+ ${binding_install_dir}
+ )
+endif()
+
+###########################################################################
+
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(bindings)
ADD_SUBDIRECTORY(src)
ADD_SUBDIRECTORY(include)
ADD_SUBDIRECTORY(bindings)
#define SET_TRACEEVT 'E'
#define SET_EXEC 'e'
#define DISPLAY_HELP 'h'
#define SET_TRACEEVT 'E'
#define SET_EXEC 'e'
#define DISPLAY_HELP 'h'
+#if defined(WITH_MONITORING_OTPION)
+#define SET_MONITORING 'M'
+#endif
#define SET_TCP_PORT 'p'
#define SET_QUIET 'q'
#define SET_RNDTOKEN 'r'
#define SET_TCP_PORT 'p'
#define SET_QUIET 'q'
#define SET_RNDTOKEN 'r'
const char shortopts[] =
"c:D:E:ehp:qrT:t:u:Vvw:"
const char shortopts[] =
"c:D:E:ehp:qrT:t:u:Vvw:"
+#if defined(WITH_MONITORING_OTPION)
+ "M"
+#endif
;
// Command line structure hold cli --command + help text
;
// Command line structure hold cli --command + help text
{SET_NO_HTTPD, 0, "no-httpd", "Forbids HTTP service"},
{SET_EXEC, 0, "exec", "Execute the remaining arguments"},
{SET_NO_HTTPD, 0, "no-httpd", "Forbids HTTP service"},
{SET_EXEC, 0, "exec", "Execute the remaining arguments"},
+#if defined(WITH_MONITORING_OTPION)
+ {SET_MONITORING, 0, "monitoring", "enable HTTP monitoring at <ROOT>/monitoring/monitor.html"},
+#endif
{0, 0, NULL, NULL}
/* *INDENT-ON* */
};
{0, 0, NULL, NULL}
/* *INDENT-ON* */
};
case SET_RNDTOKEN:
config->token = random_token();
case SET_RNDTOKEN:
config->token = random_token();
+
+#if defined(WITH_MONITORING_OTPION)
+ case SET_MONITORING:
+ config->monitoring = 1;
case DISPLAY_VERSION:
noarg(optc);
case DISPLAY_VERSION:
noarg(optc);
if (config->ldpaths == NULL && config->weak_ldpaths == NULL && !config->no_ldpaths)
list_add(&config->ldpaths, BINDING_INSTALL_DIR);
if (config->ldpaths == NULL && config->weak_ldpaths == NULL && !config->no_ldpaths)
list_add(&config->ldpaths, BINDING_INSTALL_DIR);
+#if defined(WITH_MONITORING_OTPION)
+ if (config->monitoring)
+ list_add(&config->aliases, strdup("/monitoring:"BINDING_INSTALL_DIR"/monitoring"));
+#endif
+
// if no config dir create a default path from uploaddir
if (config->console == NULL) {
config->console = malloc(512);
// if no config dir create a default path from uploaddir
if (config->console == NULL) {
config->console = malloc(512);