#include <vppinfra/clib.h>
#include <vppinfra/vec.h>
#include <vppinfra/hash.h>
-#include <svmdb.h>
+#include <svm/svmdb.h>
#include <errno.h>
mmodule vpp_module;
apr_array_header_t *list_params = vpp_module.module_params_list;
mmparam *params;
char *chroot_path = 0;
+ svmdb_map_args_t _ma, *ma= &_ma;
int i;
if (str_params) {
- debug_msg("[mod_vpp]Received string params: %s", str_params);
+ clib_warning("[mod_vpp]Received string params: %s", str_params);
}
/* Multiple name/value pair parameters. */
if (list_params) {
- debug_msg("[mod_vpp]Received following params list: ");
+ clib_warning("[mod_vpp]Received following params list: ");
params = (mmparam*) list_params->elts;
for(i=0; i< list_params->nelts; i++) {
- debug_msg("\tParam: %s = %s", params[i].name, params[i].value);
+ clib_warning("\tParam: %s = %s", params[i].name, params[i].value);
}
}
- svmdb_client = svmdb_map_chroot (chroot_path);
+ memset (ma, 0, sizeof (*ma));
+ ma->root_path = (char *)chroot_path;
+
+ svmdb_client = svmdb_map (ma);
/* Initialize the metadata storage for each of the metrics and then
{
g_val_t val;
pid_t *vpp_pidp;
- f64 *vector_ratep, *vpp_rx_ratep;
+ f64 *vector_ratep, *vpp_rx_ratep, *sig_error_ratep;
switch (metric_index) {
case 0:
val.d = 0.0;
break;
+ case 3:
+ sig_error_ratep = svmdb_local_get_vec_variable
+ (svmdb_client, "vpp_sig_error_rate", sizeof (*vector_ratep));
+ if (sig_error_ratep) {
+ val.d = *sig_error_ratep;
+ vec_free (sig_error_ratep);
+ } else
+ val.d = 0.0;
+ break;
+
default:
val.d = 0.0;
}
{0, "Input_Rate", 100, GANGLIA_VALUE_DOUBLE, "5 sec RX rate",
"both", "%.1f",
UDP_HEADER_SIZE+8, "VPP Aggregate RX Rate"},
+ {0, "Sig_Error_Rate", 100, GANGLIA_VALUE_DOUBLE,
+ "5 sec significant error rate",
+ "both", "%.1f",
+ UDP_HEADER_SIZE+8, "VPP Significant Error Rate"},
{0, NULL}
};