From 440502cb5f0ad4958e44e8cdefe66a1b56dabe97 Mon Sep 17 00:00:00 2001 From: Nivin Lawrence Date: Thu, 29 Aug 2024 17:56:08 -0700 Subject: [PATCH] Add egress GVOQ watermark bytes to HwPortStats thrift Summary: Keep track of the GVOQ stats per egress queue for DNX switches. Reviewed By: jasmeetbagga Differential Revision: D61809756 fbshipit-source-id: 18f80c46955d45f9b7a1edf9530b86c9f87df833 --- fboss/agent/hw/hardware_stats.thrift | 1 + fboss/agent/hw/test/HwCpuFb303StatsTests.cpp | 1 + fboss/agent/hw/test/HwPortFb303StatsTests.cpp | 1 + fboss/fsdb/if/oss/fsdb_model_thriftpath.h | 11 ++++++++--- 4 files changed, 11 insertions(+), 3 deletions(-) diff --git a/fboss/agent/hw/hardware_stats.thrift b/fboss/agent/hw/hardware_stats.thrift index 54f01a8658dd1..168bcdbb13ba2 100644 --- a/fboss/agent/hw/hardware_stats.thrift +++ b/fboss/agent/hw/hardware_stats.thrift @@ -93,6 +93,7 @@ struct HwPortStats { 61: optional i64 leakyBucketFlapCount_; 62: optional i64 cableLengthMeters; 63: optional bool dataCellsFilterOn; + 64: map egressGvoqWatermarkBytes_ = {}; } struct HwSysPortStats { diff --git a/fboss/agent/hw/test/HwCpuFb303StatsTests.cpp b/fboss/agent/hw/test/HwCpuFb303StatsTests.cpp index 2aa43bf43d533..ff8d2fb43a3ff 100644 --- a/fboss/agent/hw/test/HwCpuFb303StatsTests.cpp +++ b/fboss/agent/hw/test/HwCpuFb303StatsTests.cpp @@ -81,6 +81,7 @@ HwPortStats getInitedStats() { 2, // leakyBucketFlapCount_ 100, // cableLengthMeters true, // dataCellsFilterIsOn + {{1, 0}, {2, 0}}, // egressGvoqWatermarkBytes_ }; } diff --git a/fboss/agent/hw/test/HwPortFb303StatsTests.cpp b/fboss/agent/hw/test/HwPortFb303StatsTests.cpp index 213413988f3f3..2c4d813a9351c 100644 --- a/fboss/agent/hw/test/HwPortFb303StatsTests.cpp +++ b/fboss/agent/hw/test/HwPortFb303StatsTests.cpp @@ -151,6 +151,7 @@ HwPortStats getInitedStats() { 2, // leakyBucketFlapCount_ 1, // cableLengthMeters true, // dataCellsFilterIsOn + {{1, 0}, {2, 0}}, // egressGvoqWatermarkBytes_ }; } diff --git a/fboss/fsdb/if/oss/fsdb_model_thriftpath.h b/fboss/fsdb/if/oss/fsdb_model_thriftpath.h index 380138c6cfa97..3dad58ae6d547 100755 --- a/fboss/fsdb/if/oss/fsdb_model_thriftpath.h +++ b/fboss/fsdb/if/oss/fsdb_model_thriftpath.h @@ -20624,7 +20624,8 @@ std::pair>, std::pair>, std::pair>, -std::pair>>; +std::pair>, +std::pair, ::facebook::fboss::fsdb::FsdbOperStatsRoot, Self>>>; using ChildrenById = fatal::tuple< std::pair, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>, std::pair, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>, std::pair, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>, @@ -20677,7 +20678,8 @@ std::pair, Child<::std::int32_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i32_t>>, std::pair, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>, std::pair, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>, - std::pair, Child>>; + std::pair, Child>, + std::pair, ChildThriftPath<::std::map<::std::int16_t, ::std::int64_t>, ::facebook::fboss::fsdb::FsdbOperStatsRoot, Self>>>; template using NameToId = fatal::tuple>, std::pair>, @@ -20731,7 +20733,8 @@ std::pair>, std::pair>, std::pair>, -std::pair>>::template type_of; +std::pair>, +std::pair>>::template type_of; template using TypeFor = typename Children::template type_of; @@ -20790,6 +20793,7 @@ std::pair auto operator()(const std::integral_constant&) { @@ -20846,6 +20850,7 @@ std::pair