diff options
author | Vladimir Lavor <vlavor@cisco.com> | 2021-03-11 15:27:02 +0100 |
---|---|---|
committer | Ondrej Fabry <ofabry@cisco.com> | 2021-04-20 16:51:29 +0000 |
commit | d0b973030fe07dc7875da72f5ebe42d8bd9544b1 (patch) | |
tree | 665b9b3072c485ff2e472ff88d18660efcecbbd8 /adapter | |
parent | 1d574a786662498896d0e5e089f3c312910e0ffa (diff) |
Recognize stat_dir_type_empty
Do not to handle empty stats directory as unknown.
Empty dir's value is always treated as zero.
Change-Id: I40a3829675c5b7c9da80ceaa7e2d0a87fe02dc7c
Signed-off-by: Vladimir Lavor <vlavor@cisco.com>
Diffstat (limited to 'adapter')
-rw-r--r-- | adapter/stats_api.go | 10 | ||||
-rw-r--r-- | adapter/statsclient/statseg_v2.go | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/adapter/stats_api.go b/adapter/stats_api.go index 4b398f5..d15dee8 100644 --- a/adapter/stats_api.go +++ b/adapter/stats_api.go @@ -60,6 +60,7 @@ const ( CombinedCounterVector StatType = 3 ErrorIndex StatType = 4 NameVector StatType = 5 + Empty StatType = 6 ) func (d StatType) String() string { @@ -74,6 +75,8 @@ func (d StatType) String() string { return "ErrorIndex" case NameVector: return "NameVector" + case Empty: + return "Empty" } return fmt.Sprintf("UnknownStatType(%d)", d) } @@ -144,11 +147,15 @@ type CombinedCounterStat [][]CombinedCounter // NameStat represents stat for NameVector. type NameStat []Name +// EmptyStat represents removed counter directory +type EmptyStat string + func (ScalarStat) isStat() {} func (ErrorStat) isStat() {} func (SimpleCounterStat) isStat() {} func (CombinedCounterStat) isStat() {} func (NameStat) isStat() {} +func (EmptyStat) isStat() {} func (s ScalarStat) IsZero() bool { return s == 0 @@ -204,6 +211,9 @@ func (s NameStat) IsZero() bool { } return true } +func (s EmptyStat) IsZero() bool { + return true +} // ReduceSimpleCounterStatIndex returns reduced SimpleCounterStat s for index i. func ReduceSimpleCounterStatIndex(s SimpleCounterStat, i int) uint64 { diff --git a/adapter/statsclient/statseg_v2.go b/adapter/statsclient/statseg_v2.go index 68411f9..08467c1 100644 --- a/adapter/statsclient/statseg_v2.go +++ b/adapter/statsclient/statseg_v2.go @@ -202,6 +202,7 @@ func (ss *statSegmentV2) CopyEntryData(statSegDir unsafe.Pointer) adapter.Stat { return adapter.NameStat(data) case statDirEmpty: + return adapter.EmptyStat("<none>") // no-op default: |