diff options
Diffstat (limited to 'gmod')
-rw-r--r-- | gmod/Makefile.am | 27 | ||||
-rw-r--r-- | gmod/configure.ac | 8 | ||||
-rw-r--r-- | gmod/gmod/mod_vpp.c | 156 | ||||
-rw-r--r-- | gmod/gmod/vpp.conf | 31 |
4 files changed, 0 insertions, 222 deletions
diff --git a/gmod/Makefile.am b/gmod/Makefile.am deleted file mode 100644 index 643e170df98..00000000000 --- a/gmod/Makefile.am +++ /dev/null @@ -1,27 +0,0 @@ -# Copyright (c) 2015 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -AUTOMAKE_OPTIONS = foreign subdir-objects - -AM_CFLAGS = -Wall - -lib_LTLIBRARIES = libgmodvpp.la - -libgmodvpp_la_SOURCES = gmod/mod_vpp.c - -libgmodvpp_la_LDFLAGS = -module -avoid-version - -libgmodvpp_la_LIBADD = -lsvm -lsvmdb -lvppinfra -lapr-1 - -gconfdir = $(prefix)/etc/conf.d -gconf_DATA = gmod/vpp.conf diff --git a/gmod/configure.ac b/gmod/configure.ac deleted file mode 100644 index 651b5746c0a..00000000000 --- a/gmod/configure.ac +++ /dev/null @@ -1,8 +0,0 @@ -AC_INIT(gmod, 1.0) -LT_INIT -AM_INIT_AUTOMAKE -AM_SILENT_RULES([yes]) - -AC_PROG_CC - -AC_OUTPUT([Makefile]) diff --git a/gmod/gmod/mod_vpp.c b/gmod/gmod/mod_vpp.c deleted file mode 100644 index 71479d2afba..00000000000 --- a/gmod/gmod/mod_vpp.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - * Copyright (c) 2016 Cisco and/or its affiliates. - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at: - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#include <gm_metric.h> - -#include <stdlib.h> -#include <strings.h> -#include <time.h> -#include <vppinfra/clib.h> -#include <vppinfra/vec.h> -#include <vppinfra/hash.h> -#include <svm/svmdb.h> -#include <errno.h> - -mmodule vpp_module; -static svmdb_client_t *svmdb_client; - -static int vpp_metric_init (apr_pool_t *p) -{ - const char* str_params = vpp_module.module_params; - 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) { - clib_warning("[mod_vpp]Received string params: %s", str_params); - } - /* Multiple name/value pair parameters. */ - if (list_params) { - clib_warning("[mod_vpp]Received following params list: "); - params = (mmparam*) list_params->elts; - for(i=0; i< list_params->nelts; i++) { - clib_warning("\tParam: %s = %s", params[i].name, params[i].value); - } - } - - 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 - * store one or more key/value pairs. The define MGROUPS defines - * the key for the grouping attribute. */ - for (i = 0; vpp_module.metrics_info[i].name != NULL; i++) { - MMETRIC_INIT_METADATA(&(vpp_module.metrics_info[i]),p); - MMETRIC_ADD_METADATA(&(vpp_module.metrics_info[i]),MGROUP,"VPP"); - } - - return 0; -} - -static void vpp_metric_cleanup (void) -{ - svmdb_unmap (svmdb_client); -} - -static g_val_t vpp_metric_handler (int metric_index) -{ - g_val_t val; - pid_t *vpp_pidp; - f64 *vector_ratep, *vpp_rx_ratep, *sig_error_ratep; - - switch (metric_index) { - case 0: - vector_ratep = svmdb_local_get_vec_variable - (svmdb_client, "vpp_vector_rate", sizeof (*vector_ratep)); - if (vector_ratep) { - val.d = *vector_ratep; - vec_free (vector_ratep); - } - else - val.d = 0.0; - break; - case 1: - vpp_pidp = svmdb_local_get_vec_variable - (svmdb_client, - "vpp_pid", sizeof (*vpp_pidp)); - if (vpp_pidp && *vpp_pidp) { - if (kill(*vpp_pidp, 0) == 0 || errno != ESRCH) { - val.d = 1.0; - } else { - val.d = 0.0; - } - vec_free (vpp_pidp); - } else - val.d = 0; - break; - - case 2: - vpp_rx_ratep = svmdb_local_get_vec_variable - (svmdb_client, "vpp_input_rate", sizeof (*vector_ratep)); - if (vpp_rx_ratep) { - val.d = *vpp_rx_ratep; - vec_free (vpp_rx_ratep); - } else - 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; - } - - return val; -} - -static Ganglia_25metric vpp_metric_info[] = -{ - {0, "Vector_Rate", 100, GANGLIA_VALUE_DOUBLE, "Packets/Frame", - "both", "%.1f", - UDP_HEADER_SIZE+8, "VPP Vector Rate"}, - {0, "VPP_State", 100, GANGLIA_VALUE_DOUBLE, "Run=1", "both", "%.0f", - UDP_HEADER_SIZE+8, "VPP State"}, - {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} -}; - -mmodule vpp_module = -{ - STD_MMODULE_STUFF, - vpp_metric_init, - vpp_metric_cleanup, - vpp_metric_info, - vpp_metric_handler, -}; diff --git a/gmod/gmod/vpp.conf b/gmod/gmod/vpp.conf deleted file mode 100644 index 353a8ab0244..00000000000 --- a/gmod/gmod/vpp.conf +++ /dev/null @@ -1,31 +0,0 @@ -modules { - module { - name = "vpp_module" - path = "libgmodvpp.so" - } -} - -collection_group { - collect_every = 2 - time_threshold = 10 - metric { - name = "Vector_Rate" - value_threshold = 20.0 - title = "Vector Rate" - } - metric { - name = "VPP_State" - value_threshold = 0.5 - title = "VPP State" - } - metric { - name = "Input_Rate" - value_threshold = 10000.0 - title = "VPP Aggregate RX Rate" - } - metric { - name = "Sig_Error_Rate" - value_threshold = 10.0 - title = "VPP Significant Error Rate" - } -} |