diff options
author | Bruce Lucas <bruce.lucas@10gen.com> | 2018-05-08 07:40:02 -0400 |
---|---|---|
committer | Bruce Lucas <bruce.lucas@10gen.com> | 2018-05-08 07:41:17 -0400 |
commit | 68aaf285c35b379a4c81231d86903c78e97d1e76 (patch) | |
tree | 9444e52a917eecd21c3495d78f634cfb975d9636 /src/mongo/db/ftdc | |
parent | afb535dfea19036530adee8ddc940e1bcb9794cc (diff) | |
download | mongo-68aaf285c35b379a4c81231d86903c78e97d1e76.tar.gz |
SERVER-31400 Record netstat metrics in ftdc
Diffstat (limited to 'src/mongo/db/ftdc')
-rw-r--r-- | src/mongo/db/ftdc/ftdc_system_stats_linux.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/mongo/db/ftdc/ftdc_system_stats_linux.cpp b/src/mongo/db/ftdc/ftdc_system_stats_linux.cpp index 316afde8170..1a940eef0d9 100644 --- a/src/mongo/db/ftdc/ftdc_system_stats_linux.cpp +++ b/src/mongo/db/ftdc/ftdc_system_stats_linux.cpp @@ -66,6 +66,10 @@ static const std::vector<StringData> kMemKeys{ "Inactive(file)"_sd, }; +static const std::vector<StringData> kNetstatKeys{ + "Tcp:"_sd, "Ip:"_sd, "TcpExt:"_sd, "IpExt:"_sd, +}; + /** * Collect metrics from the Linux /proc file system. */ @@ -99,6 +103,17 @@ public: subObjBuilder.doneFast(); } + { + BSONObjBuilder subObjBuilder(builder.subobjStart("netstat"_sd)); + processStatusErrors(procparser::parseProcNetstatFile( + kNetstatKeys, "/proc/net/netstat"_sd, &subObjBuilder), + &subObjBuilder); + processStatusErrors( + procparser::parseProcNetstatFile(kNetstatKeys, "/proc/net/snmp"_sd, &subObjBuilder), + &subObjBuilder); + subObjBuilder.doneFast(); + } + // Skip the disks section if we could not find any disks. // This can happen when we do not have permission to /sys/block for instance. if (!_disksStringData.empty()) { |