diff options
author | Tom Seidenberg <tseidenb@cisco.com> | 2020-07-10 15:49:03 +0000 |
---|---|---|
committer | Dave Barach <openvpp@barachs.net> | 2020-07-16 21:44:42 +0000 |
commit | 6c81f5a2493ff65b4dacfef45db8a1ee459a738f (patch) | |
tree | 24343a92e18599be4e4b4aa360ab7b2c13cdb878 /src/vlib/cli.h | |
parent | bab02f0b184b63c4159ded030cf34044be10da40 (diff) |
misc: add callback hooks and refactor pmc
Callbacks for monitoring and performance measurement:
- Add new callback list type, with context
- Add callbacks for API, CLI, and barrier sync
- Modify node dispatch callback to pass plugin-specific context
- Modify perfmon plugin to keep PMC samples local to the plugin
- Include process nodes in dispatch callback
- Pass dispatch function return value to callback
Type: refactor
Signed-off-by: Tom Seidenberg <tseidenb@cisco.com>
Change-Id: I28b06c58490611e08d76ff5b01b2347ba2109b22
Diffstat (limited to 'src/vlib/cli.h')
-rw-r--r-- | src/vlib/cli.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/vlib/cli.h b/src/vlib/cli.h index df9ed7212bc..0a8ef9d78d7 100644 --- a/src/vlib/cli.h +++ b/src/vlib/cli.h @@ -132,7 +132,7 @@ typedef struct vlib_cli_command_t typedef void (vlib_cli_output_function_t) (uword arg, u8 * buffer, uword buffer_bytes); -typedef struct +typedef struct vlib_cli_main_t { /* Vector of all known commands. */ vlib_cli_command_t *commands; @@ -146,6 +146,12 @@ typedef struct /* index vector, to sort commands, etc. */ u32 *sort_vector; + + /* performance counter callback */ + void (**perf_counter_cbs) + (struct vlib_cli_main_t *, u32 id, int before_or_after); + void (**perf_counter_cbs_tmp) + (struct vlib_cli_main_t *, u32 id, int before_or_after); } vlib_cli_main_t; #ifndef CLIB_MARCH_VARIANT |