X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=adapter%2Fstatsclient%2Fstatseg_v1.go;h=3f15ce2aef02497bd2bc8766f5664b10e907fdd6;hb=4223b112aec2f4a1c8577b239932a1de38703bed;hp=e9e8331f89bbec9d8d1e82792f761b1eb530880f;hpb=c380ee6064379258768fdfe4e9d4ad9138980ec0;p=govpp.git diff --git a/adapter/statsclient/statseg_v1.go b/adapter/statsclient/statseg_v1.go index e9e8331..3f15ce2 100644 --- a/adapter/statsclient/statseg_v1.go +++ b/adapter/statsclient/statseg_v1.go @@ -85,7 +85,7 @@ func (ss *statSegmentV1) GetStatDirOnIndex(v dirVector, index uint32) (dirSegmen break } } - return statSegDir, dirName(name), dir.directoryType + return statSegDir, name, dir.directoryType } func (ss *statSegmentV1) GetEpoch() (int64, bool) { @@ -93,19 +93,16 @@ func (ss *statSegmentV1) GetEpoch() (int64, bool) { return sh.epoch, sh.inProgress != 0 } -func (ss *statSegmentV1) CopyEntryData(segment dirSegment) adapter.Stat { +func (ss *statSegmentV1) CopyEntryData(segment dirSegment, _ uint32) adapter.Stat { dirEntry := (*statSegDirectoryEntryV1)(segment) - dirType := adapter.StatType(dirEntry.directoryType) + typ := getStatType(dirEntry.directoryType, true) - switch dirType { - case statDirScalarIndex: + switch typ { + case adapter.ScalarIndex: return adapter.ScalarStat(dirEntry.unionData) - case statDirErrorIndex: - if dirEntry.unionData == 0 { - debugf("offset invalid for %s", dirEntry.name) - break - } else if dirEntry.unionData >= uint64(len(ss.sharedHeader)) { + case adapter.ErrorIndex: + if dirEntry.unionData >= uint64(len(ss.sharedHeader)) { debugf("offset out of range for %s", dirEntry.name) break } @@ -125,7 +122,7 @@ func (ss *statSegmentV1) CopyEntryData(segment dirSegment) adapter.Stat { } return adapter.ErrorStat(errData) - case statDirCounterVectorSimple: + case adapter.SimpleCounterVector: if dirEntry.unionData == 0 { debugf("offset invalid for %s", dirEntry.name) break @@ -151,7 +148,7 @@ func (ss *statSegmentV1) CopyEntryData(segment dirSegment) adapter.Stat { } return adapter.SimpleCounterStat(data) - case statDirCounterVectorCombined: + case adapter.CombinedCounterVector: if dirEntry.unionData == 0 { debugf("offset invalid for %s", dirEntry.name) break @@ -177,7 +174,7 @@ func (ss *statSegmentV1) CopyEntryData(segment dirSegment) adapter.Stat { } return adapter.CombinedCounterStat(data) - case statDirNameVector: + case adapter.NameVector: if dirEntry.unionData == 0 { debugf("offset invalid for %s", dirEntry.name) break @@ -211,9 +208,12 @@ func (ss *statSegmentV1) CopyEntryData(segment dirSegment) adapter.Stat { } return adapter.NameStat(data) - case statDirEmpty: + case adapter.Empty: // no-op + case adapter.Symlink: + debugf("Symlinks are not supported for stats v1") + default: // TODO: monitor occurrences with metrics debugf("Unknown type %d for stat entry: %q", dirEntry.directoryType, dirEntry.name)