Age | Commit message (Collapse) | Author | Files | Lines |
|
A simple counter is a two dimensional array by threads and
counter index. 28017 introduced an error missing the first
dimension.
If a vector is updated at the same time as a client reads,
an invalid pointer my result. This will be caught by the
optimistic locking after copying out the data, but if
following a pointer outside of the stat segment then
the stat client would crash. Add suitable boundary checks
for access to stat memory segment.
Fixes: 7d29e320fb2855a1ddb7a6af09078b8ed636de01
Type: fix
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I94f124ec71d98218c4eda5d124ac5594743d93d6
|
|
Type: fix
Signed-off-by: Rajesh Goel <rajegoel@cisco.com>
Change-Id: Ib37802f4270fe894a31e871c7fbb12b5a1cdf058
|
|
Type: fix
Fixes: fdc678081ca5f0971b8bcbf312c1e83017365c33
Change-Id: I64d15b050cfd3d88923bf996cb68b13504dbf6af
Signed-off-by: Vratko Polak <vrpolak@cisco.com>
|
|
Represent pointers directly in shared memory and require clients to adjust for
shared memory segment being mapped at different base address.
Deprecated: stat_segment_pointer() / stat_segment_offset()
Added: stat_segment_adjust()
Bumped the stat segment version to 2.
Type: refactor
Signed-off-by: Ole Troan <ot@cisco.com>
Change-Id: I33e756187b8903b45dcd353e6c1a101b7a4acb79
|
|
add new api stat_segment_set_timeout_nsec to limit time waiting for vpp
in_progress state.
Change-Id: Ic78a97bc5013d67d7e4bbcc4a6f0ef918f9f9b33
Type: improvement
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
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
|
|
When VPP tries to bind to stats.sock it will complain about non-existing
/run/vpp directory.
/run/vpp is created before cli socket operations are performed.
The same should be done for stat socket.
Ticket: VPP-1708
Type: fix
Change-Id: I53d70939c8125d04a365ac51a6cbf8926dc52adf
Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Add a version in the base header of the stat segment
To make support for multiple reader implementations safer.
Change-Id: I6816e2a51a98c2df1e621e80d4ef0b4ba4e9f47b
Type: feature
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
The current code only allowed access to the main thread error counters.
That is not so useful for a multi worker instance.
No return a vector indexed by thread of counter_t values.
Type: fix
Change-Id: Ie322c8889c0c8175e1116e71de04a2cf453b9ed7
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: I9894a0c613b0486112623920d49371ceec9e6111
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: Ic62dfa0bf3e082a0b999026830c64a9c543da586
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Expose interface name to sw_if_index table as a directory node in the stats segment.
Change-Id: Ie50e4af01997d141880f02e3a8496bfeb91b9944
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Change-Id: I9726ac5cc7292a492928b213bc85ccfa8a26c1cb
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
|
|
Change-Id: I8debcd078b733ed19c4b46ea41a2a150d816724c
Signed-off-by: Neale Ranns <nranns@cisco.com>
|
|
Remove exposing stat_client_main internals and atomics to
simplify use from C++.
Change-Id: Ie864170fee8b4eaa2fd7f98556cf0ebb46cb1a2a
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
This patch addresses intermittent problems we saw in our CI while running parallel tests.
Change-Id: Icb5fdb34cc134e3eb341225d56ab67fbbef80b0d
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
|
|
The result vector from stat_segment_ls must be freed
by the caller. Add wrapper for non-C language bindings.
Change-Id: I7eee7f80ec98b41696d354add47b26978e12ef0f
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
Move from using a hash to a vector with offsets into shared memory.
Limit exposure of VPP data structures and include files to
external stats library and applications.
Change-Id: Ic06129f12d10cf4c4946a86d9bc734eacff2c7da
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
from vpp_papi.vpp_stats import VPPStats
s = VPPStats(socketname='/var/run/stats.sock')
c = s.ls('/if/rx')
counters = s.dump(c)
print(s.set_error_str())
Change-Id: I203ebe60b0c9ee5742aadc737c0f29051757959d
Signed-off-by: Ole Troan <ot@cisco.com>
|
|
New stat segment client library: vpp-api/client/stat_client.h
New stat segment query app: vpp_get_stats [ls | dump | poll ] <pattern ...>
Prometheus integration through: vpp_prometheus_export <pattern>
Change-Id: I6f370cf599e9fcf066f22965a62d3a8acd529994
Signed-off-by: Ole Troan <ot@cisco.com>
|