Skip to content

Commit

Permalink
Add egress GVOQ watermark bytes to HwPortStats thrift
Browse files Browse the repository at this point in the history
Summary: Keep track of the GVOQ stats per egress queue for DNX switches.

Reviewed By: jasmeetbagga

Differential Revision: D61809756

fbshipit-source-id: 18f80c46955d45f9b7a1edf9530b86c9f87df833
  • Loading branch information
Nivin Lawrence authored and facebook-github-bot committed Aug 30, 2024
1 parent 584e040 commit 440502c
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 3 deletions.
1 change: 1 addition & 0 deletions fboss/agent/hw/hardware_stats.thrift
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ struct HwPortStats {
61: optional i64 leakyBucketFlapCount_;
62: optional i64 cableLengthMeters;
63: optional bool dataCellsFilterOn;
64: map<i16, i64> egressGvoqWatermarkBytes_ = {};
}

struct HwSysPortStats {
Expand Down
1 change: 1 addition & 0 deletions fboss/agent/hw/test/HwCpuFb303StatsTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ HwPortStats getInitedStats() {
2, // leakyBucketFlapCount_
100, // cableLengthMeters
true, // dataCellsFilterIsOn
{{1, 0}, {2, 0}}, // egressGvoqWatermarkBytes_
};
}

Expand Down
1 change: 1 addition & 0 deletions fboss/agent/hw/test/HwPortFb303StatsTests.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ HwPortStats getInitedStats() {
2, // leakyBucketFlapCount_
1, // cableLengthMeters
true, // dataCellsFilterIsOn
{{1, 0}, {2, 0}}, // egressGvoqWatermarkBytes_
};
}

Expand Down
11 changes: 8 additions & 3 deletions fboss/fsdb/if/oss/fsdb_model_thriftpath.h
Original file line number Diff line number Diff line change
Expand Up @@ -20624,7 +20624,8 @@ std::pair<strings::fabricConnectivityMismatch_DEPRECATED, Child<::std::int64_t,
std::pair<strings::logicalPortId, Child<::std::int32_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i32_t>>,
std::pair<strings::leakyBucketFlapCount_, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<strings::cableLengthMeters, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<strings::dataCellsFilterOn, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>>;
std::pair<strings::dataCellsFilterOn, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>,
std::pair<strings::egressGvoqWatermarkBytes_, ChildThriftPath<::std::map<::std::int16_t, ::std::int64_t>, ::facebook::fboss::fsdb::FsdbOperStatsRoot, Self>>>;
using ChildrenById = fatal::tuple< std::pair<std::integral_constant<apache::thrift::field_id_t, 1>, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 2>, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 3>, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
Expand Down Expand Up @@ -20677,7 +20678,8 @@ std::pair<strings::dataCellsFilterOn, Child<bool, ::apache::thrift::type_class::
std::pair<std::integral_constant<apache::thrift::field_id_t, 60>, Child<::std::int32_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i32_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 61>, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 62>, Child<::std::int64_t, ::apache::thrift::type_class::integral, ::apache::thrift::type::i64_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 63>, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>>;
std::pair<std::integral_constant<apache::thrift::field_id_t, 63>, Child<bool, ::apache::thrift::type_class::integral, ::apache::thrift::type::bool_t>>,
std::pair<std::integral_constant<apache::thrift::field_id_t, 64>, ChildThriftPath<::std::map<::std::int16_t, ::std::int64_t>, ::facebook::fboss::fsdb::FsdbOperStatsRoot, Self>>>;
template <typename Name>
using NameToId = fatal::tuple<std::pair<strings::inBytes_, std::integral_constant<apache::thrift::field_id_t, 1>>,
std::pair<strings::inUnicastPkts_, std::integral_constant<apache::thrift::field_id_t, 2>>,
Expand Down Expand Up @@ -20731,7 +20733,8 @@ std::pair<strings::fabricConnectivityMismatch_DEPRECATED, std::integral_constant
std::pair<strings::logicalPortId, std::integral_constant<apache::thrift::field_id_t, 60>>,
std::pair<strings::leakyBucketFlapCount_, std::integral_constant<apache::thrift::field_id_t, 61>>,
std::pair<strings::cableLengthMeters, std::integral_constant<apache::thrift::field_id_t, 62>>,
std::pair<strings::dataCellsFilterOn, std::integral_constant<apache::thrift::field_id_t, 63>>>::template type_of<Name>;
std::pair<strings::dataCellsFilterOn, std::integral_constant<apache::thrift::field_id_t, 63>>,
std::pair<strings::egressGvoqWatermarkBytes_, std::integral_constant<apache::thrift::field_id_t, 64>>>::template type_of<Name>;

template <typename Name>
using TypeFor = typename Children::template type_of<Name>;
Expand Down Expand Up @@ -20790,6 +20793,7 @@ std::pair<strings::dataCellsFilterOn, std::integral_constant<apache::thrift::fie
STRUCT_CHILD_GETTERS(leakyBucketFlapCount_, 61);
STRUCT_CHILD_GETTERS(cableLengthMeters, 62);
STRUCT_CHILD_GETTERS(dataCellsFilterOn, 63);
STRUCT_CHILD_GETTERS(egressGvoqWatermarkBytes_, 64);

template <apache::thrift::field_id_t __id>
auto operator()(const std::integral_constant<apache::thrift::field_id_t, __id>&) {
Expand Down Expand Up @@ -20846,6 +20850,7 @@ std::pair<strings::dataCellsFilterOn, std::integral_constant<apache::thrift::fie
else if constexpr (__id == 61) { return leakyBucketFlapCount_(); }
else if constexpr (__id == 62) { return cableLengthMeters(); }
else if constexpr (__id == 63) { return dataCellsFilterOn(); }
else if constexpr (__id == 64) { return egressGvoqWatermarkBytes_(); }
}

template <typename T, T... Values>
Expand Down

0 comments on commit 440502c

Please sign in to comment.