summaryrefslogtreecommitdiffstats
path: root/src/vpp-api/client/stat_client.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2019-08-14 09:35:41 -0400
committerNeale Ranns <nranns@cisco.com>2019-08-15 10:14:52 +0000
commit531969ef614bdc15c45dae0f1b5e90afaf86eb7b (patch)
tree69141710a458ec3a486a83b5fbaadb590001a93a /src/vpp-api/client/stat_client.c
parent9094b5c319d3f072d3c248fe7c876e4048c13ac2 (diff)
stats: refactor header files
Performant stat segment scraping involves caching the results of stat_segment_ls (...) and directly fishing counter data from the shared-memory segment. To do that, we need to publish several things previously hidden, declared in stat_client.c: o stat_client_main_t typedef o stat_segment_access_t typedef o stat_segment_access_start inline function o stat_segment_access_end inline function Type: refactor Signed-off-by: Dave Barach <dave@barachs.net> Change-Id: I3175e3d1f1fd8ea816336a584565179d1972115c
Diffstat (limited to 'src/vpp-api/client/stat_client.c')
-rw-r--r--src/vpp-api/client/stat_client.c38
1 files changed, 1 insertions, 37 deletions
diff --git a/src/vpp-api/client/stat_client.c b/src/vpp-api/client/stat_client.c
index 0eaec15ffb6..9a7a0e59daa 100644
--- a/src/vpp-api/client/stat_client.c
+++ b/src/vpp-api/client/stat_client.c
@@ -28,17 +28,9 @@
#include <assert.h>
#include <vppinfra/vec.h>
#include <vppinfra/lock.h>
-#include "stat_client.h"
#include <stdatomic.h>
#include <vpp/stats/stat_segment.h>
-
-struct stat_client_main_t
-{
- uint64_t current_epoch;
- stat_segment_shared_header_t *shared_header;
- stat_segment_directory_entry_t *directory_vector;
- ssize_t memory_size;
-};
+#include <vpp-api/client/stat_client.h>
stat_client_main_t stat_client_main;
@@ -169,34 +161,6 @@ stat_segment_disconnect_r (stat_client_main_t * sm)
return;
}
-typedef struct
-{
- uint64_t epoch;
-} stat_segment_access_t;
-
-static void
-stat_segment_access_start (stat_segment_access_t * sa,
- stat_client_main_t * sm)
-{
- stat_segment_shared_header_t *shared_header = sm->shared_header;
- sa->epoch = shared_header->epoch;
- while (shared_header->in_progress != 0)
- ;
- sm->directory_vector = stat_segment_pointer (sm->shared_header,
- sm->
- shared_header->directory_offset);
-}
-
-static bool
-stat_segment_access_end (stat_segment_access_t * sa, stat_client_main_t * sm)
-{
- stat_segment_shared_header_t *shared_header = sm->shared_header;
-
- if (shared_header->epoch != sa->epoch || shared_header->in_progress)
- return false;
- return true;
-}
-
void
stat_segment_disconnect (void)
{