event logger skeletons, improve debug CLI

Change-Id: Ieb2e4043fc7bc3b4a5436a7a6aa35f573d8d4506
Signed-off-by: Dave Barach <dave@barachs.net>
This commit is contained in:
Dave Barach
2016-03-28 17:12:19 -04:00
parent fb6e59d839
commit e5389bb053
9 changed files with 317 additions and 6 deletions

View File

@@ -35,3 +35,7 @@
(load-file "./tunnel-decap-skel.el")
(load-file "./tunnel-encap-skel.el")
(load-file "./tunnel-h-skel.el")
(load-file "./elog-4-int-skel.el")
(load-file "./elog-4-int-track-skel.el")
(load-file "./elog-enum-skel.el")
(load-file "./elog-one-datum-skel.el")

View File

@@ -0,0 +1,31 @@
;;; elog-4-int-skel.el - 4 integer elog skeleton
(require 'skeleton)
(define-skeleton skel-elog-4-int
"Insert a skeleton 4-integer event definition"
nil
'(setq function-name (skeleton-read "Function: "))
'(setq label (skeleton-read "Label: "))
"
/* $$$ May or may not be needed */
#include <vlib/vlib.h>
#include <vppinfra/elog.h>
static inline void " function-name " (u32 *data)
{
ELOG_TYPE_DECLARE(e) =
{
.format = \"" label ": first %d second %d third %d fourth %d\",
.format_args = \"i4i4i4i4\",
};
struct { u32 data[4];} * ed;
ed = ELOG_DATA (&vlib_global_main.elog_main, e);
ed->data[0] = data[0];
ed->data[1] = data[1];
ed->data[2] = data[2];
ed->data[3] = data[3];
}
")

View File

@@ -0,0 +1,34 @@
;;; elog-4-int-skel.el - 4 integer elog skeleton
(require 'skeleton)
(define-skeleton skel-elog-4-int-track
"Insert a skeleton 4-integer-with-track event definition"
nil
'(setq function-name (skeleton-read "Function: "))
'(setq track-label (skeleton-read "Track Label: "))
'(setq label (skeleton-read "Label: "))
"
/* $$$ May or may not be needed */
#include <vlib/vlib.h>
#include <vppinfra/elog.h>
static inline void " function-name " (u32 *data)
{
ELOG_TYPE_DECLARE(e) =
{
.format = \"" label ": first %d second %d third %d fourth %d\",
.format_args = \"i4i4i4i4\",
};
struct { u32 data[4];} * ed;
ELOG_TRACK(" track-label ");
ed = ELOG_TRACK_DATA (&vlib_global_main.elog_main, e, " track-label ");
ed->data[0] = data[0];
ed->data[1] = data[1];
ed->data[2] = data[2];
ed->data[3] = data[3];
}
")

View File

@@ -0,0 +1,35 @@
;;; elog-enum-skel.el - enum elog skeleton
(require 'skeleton)
(define-skeleton skel-elog-enum
"Insert a skeleton enum event definition"
nil
'(setq function-name (skeleton-read "Function: "))
'(setq label (skeleton-read "Label: "))
"
/* $$$ May or may not be needed */
#include <vlib/vlib.h>
#include <vppinfra/elog.h>
static inline void " function-name " (u8 which)
{
ELOG_TYPE_DECLARE (e) =
{
.format = \"" label ": %s\",
.format_args = \"t1\",
.n_enum_strings = 2,
.enum_strings =
{
\"string 1\",
\"string 2\",
},
};
struct { u8 which;} * ed;
ed = ELOG_DATA (&vlib_global_main.elog_main, e);
ed->which = which;
}
")

View File

@@ -0,0 +1,28 @@
;;; elog-one-datum-skel.el - single u32 datum elog skeleton
(require 'skeleton)
(define-skeleton skel-elog-one-datum
"Insert a skeleton single datum event definition"
nil
'(setq function-name (skeleton-read "Function: "))
'(setq label (skeleton-read "Label: "))
"
/* $$$ May or may not be needed */
#include <vlib/vlib.h>
#include <vppinfra/elog.h>
static inline void " function-name " (u32 data)
{
ELOG_TYPE_DECLARE (e) =
{
.format = \"" label ": %d\",
.format_args = \"i4\",
};
elog (&vlib_global_main.elog_main, &e, data);
}
")