From 45e38494c1d65ad9178ad15f4048c0ab16f98b77 Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Tue, 19 Feb 2019 13:57:12 +0100 Subject: Introduce higer-level API for retrieving statistics - see stats-api example Change-Id: I11d29d32b60d25238e75cb6b86ee34842348ab38 Signed-off-by: Ondrej Fabry --- adapter/stats_api.go | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'adapter') diff --git a/adapter/stats_api.go b/adapter/stats_api.go index 4a3f130..3538176 100644 --- a/adapter/stats_api.go +++ b/adapter/stats_api.go @@ -14,6 +14,10 @@ package adapter +import ( + "fmt" +) + // StatsAPI provides connection to VPP stats API. type StatsAPI interface { // Connect establishes client connection to the stats API. @@ -34,11 +38,11 @@ type StatsAPI interface { type StatType int const ( - _ StatType = iota - ScalarIndex - SimpleCounterVector - CombinedCounterVector - ErrorIndex + _ StatType = 0 + ScalarIndex = 1 + SimpleCounterVector = 2 + CombinedCounterVector = 3 + ErrorIndex = 4 ) func (d StatType) String() string { @@ -52,7 +56,7 @@ func (d StatType) String() string { case ErrorIndex: return "ErrorIndex" } - return "UnknownStatType" + return fmt.Sprintf("UnknownStatType(%d)", d) } // StatEntry represents single stat entry. The type of stat stored in Data @@ -79,13 +83,13 @@ type ScalarStat float64 type ErrorStat uint64 // SimpleCounterStat represents stat for SimpleCounterVector. -// The outer array represents workers and the inner array represents sw_if_index. -// Values should be aggregated per interface for every worker. +// The outer array represents workers and the inner array represents interface/node/.. indexes. +// Values should be aggregated per interface/node for every worker. type SimpleCounterStat [][]Counter // CombinedCounterStat represents stat for CombinedCounterVector. -// The outer array represents workers and the inner array represents sw_if_index. -// Values should be aggregated per interface for every worker. +// The outer array represents workers and the inner array represents interface/node/.. indexes. +// Values should be aggregated per interface/node for every worker. type CombinedCounterStat [][]CombinedCounter // Data represents some type of stat which is usually defined by StatType. -- cgit 1.2.3-korg