Repository: mesos Updated Branches: refs/heads/master 1d52baf18 -> d94cb9e78
Removed duplicate constant string references to mesos-containerizer, net_tcp_rtt_. Review: https://reviews.apache.org/r/34432 Project: http://git-wip-us.apache.org/repos/asf/mesos/repo Commit: http://git-wip-us.apache.org/repos/asf/mesos/commit/d94cb9e7 Tree: http://git-wip-us.apache.org/repos/asf/mesos/tree/d94cb9e7 Diff: http://git-wip-us.apache.org/repos/asf/mesos/diff/d94cb9e7 Branch: refs/heads/master Commit: d94cb9e78479a4425bb4421b6d0f430c51627b5b Parents: 1d52baf Author: Paul Brett <[email protected]> Authored: Wed May 27 11:10:14 2015 -0700 Committer: Vinod Kone <[email protected]> Committed: Wed May 27 11:10:51 2015 -0700 ---------------------------------------------------------------------- .../isolators/network/port_mapping.cpp | 31 ++++++++++++-------- .../isolators/network/port_mapping.hpp | 8 +++++ src/slave/containerizer/mesos/containerizer.cpp | 6 ++-- src/slave/containerizer/mesos/containerizer.hpp | 2 ++ src/tests/port_mapping_tests.cpp | 16 +++++----- 5 files changed, 41 insertions(+), 22 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/mesos/blob/d94cb9e7/src/slave/containerizer/isolators/network/port_mapping.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/isolators/network/port_mapping.cpp b/src/slave/containerizer/isolators/network/port_mapping.cpp index 49e983e..843e52d 100644 --- a/src/slave/containerizer/isolators/network/port_mapping.cpp +++ b/src/slave/containerizer/isolators/network/port_mapping.cpp @@ -110,6 +110,13 @@ namespace mesos { namespace internal { namespace slave { +const char NET_TCP_ACTIVE_CONNECTIONS[] = "net_tcp_active_connections"; +const char NET_TCP_TIME_WAIT_CONNECTIONS[] = "net_tcp_time_wait_connections"; +const char NET_TCP_RTT_MICROSECS_P50[] = "net_tcp_rtt_microsecs_p50"; +const char NET_TCP_RTT_MICROSECS_P90[] = "net_tcp_rtt_microsecs_p90"; +const char NET_TCP_RTT_MICROSECS_P95[] = "net_tcp_rtt_microsecs_p95"; +const char NET_TCP_RTT_MICROSECS_P99[] = "net_tcp_rtt_microsecs_p99"; + using mesos::slave::ExecutorRunState; using mesos::slave::Isolator; using mesos::slave::IsolatorProcess; @@ -666,7 +673,7 @@ int PortMappingStatistics::execute() continue; } - object.values["net_tcp_active_connections"] = inuse.get(); + object.values[NET_TCP_ACTIVE_CONNECTIONS] = inuse.get(); } else if (tokens[i] == "tw") { if (i + 1 >= tokens.size()) { cerr << "Unexpected output from /proc/net/sockstat" << endl; @@ -683,7 +690,7 @@ int PortMappingStatistics::execute() continue; } - object.values["net_tcp_time_wait_connections"] = tw.get(); + object.values[NET_TCP_TIME_WAIT_CONNECTIONS] = tw.get(); } } } @@ -730,10 +737,10 @@ int PortMappingStatistics::execute() size_t p95 = RTTs.size() * 95 / 100; size_t p99 = RTTs.size() * 99 / 100; - object.values["net_tcp_rtt_microsecs_p50"] = RTTs[p50]; - object.values["net_tcp_rtt_microsecs_p90"] = RTTs[p90]; - object.values["net_tcp_rtt_microsecs_p95"] = RTTs[p95]; - object.values["net_tcp_rtt_microsecs_p99"] = RTTs[p99]; + object.values[NET_TCP_RTT_MICROSECS_P50] = RTTs[p50]; + object.values[NET_TCP_RTT_MICROSECS_P90] = RTTs[p90]; + object.values[NET_TCP_RTT_MICROSECS_P95] = RTTs[p95]; + object.values[NET_TCP_RTT_MICROSECS_P99] = RTTs[p99]; } } @@ -2493,37 +2500,37 @@ Future<ResourceStatistics> PortMappingIsolatorProcess::__usage( } Result<JSON::Number> active = - object.get().find<JSON::Number>("net_tcp_active_connections"); + object.get().find<JSON::Number>(NET_TCP_ACTIVE_CONNECTIONS); if (active.isSome()) { result.set_net_tcp_active_connections(active.get().value); } Result<JSON::Number> tw = - object.get().find<JSON::Number>("net_tcp_time_wait_connections"); + object.get().find<JSON::Number>(NET_TCP_TIME_WAIT_CONNECTIONS); if (tw.isSome()) { result.set_net_tcp_time_wait_connections(tw.get().value); } Result<JSON::Number> p50 = - object.get().find<JSON::Number>("net_tcp_rtt_microsecs_p50"); + object.get().find<JSON::Number>(NET_TCP_RTT_MICROSECS_P50); if (p50.isSome()) { result.set_net_tcp_rtt_microsecs_p50(p50.get().value); } Result<JSON::Number> p90 = - object.get().find<JSON::Number>("net_tcp_rtt_microsecs_p90"); + object.get().find<JSON::Number>(NET_TCP_RTT_MICROSECS_P90); if (p90.isSome()) { result.set_net_tcp_rtt_microsecs_p90(p90.get().value); } Result<JSON::Number> p95 = - object.get().find<JSON::Number>("net_tcp_rtt_microsecs_p95"); + object.get().find<JSON::Number>(NET_TCP_RTT_MICROSECS_P95); if (p95.isSome()) { result.set_net_tcp_rtt_microsecs_p95(p95.get().value); } Result<JSON::Number> p99 = - object.get().find<JSON::Number>("net_tcp_rtt_microsecs_p99"); + object.get().find<JSON::Number>(NET_TCP_RTT_MICROSECS_P99); if (p99.isSome()) { result.set_net_tcp_rtt_microsecs_p99(p99.get().value); } http://git-wip-us.apache.org/repos/asf/mesos/blob/d94cb9e7/src/slave/containerizer/isolators/network/port_mapping.hpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/isolators/network/port_mapping.hpp b/src/slave/containerizer/isolators/network/port_mapping.hpp index c72fb47..6579286 100644 --- a/src/slave/containerizer/isolators/network/port_mapping.hpp +++ b/src/slave/containerizer/isolators/network/port_mapping.hpp @@ -64,6 +64,14 @@ inline std::string PORT_MAPPING_VETH_PREFIX() { return "mesos"; } // NOTE: This constant is exposed for testing. inline std::string PORT_MAPPING_BIND_MOUNT_ROOT() { return "/var/run/netns"; } +// These field names are used in the output of the mesos network helper +// and in the port mapping tests to read the output. +extern const char NET_TCP_ACTIVE_CONNECTIONS[]; +extern const char NET_TCP_TIME_WAIT_CONNECTIONS[]; +extern const char NET_TCP_RTT_MICROSECS_P50[]; +extern const char NET_TCP_RTT_MICROSECS_P90[]; +extern const char NET_TCP_RTT_MICROSECS_P95[]; +extern const char NET_TCP_RTT_MICROSECS_P99[]; // The root directory where we keep all the namespace handle // symlinks. This is introduced in 0.23.0. http://git-wip-us.apache.org/repos/asf/mesos/blob/d94cb9e7/src/slave/containerizer/mesos/containerizer.cpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/mesos/containerizer.cpp b/src/slave/containerizer/mesos/containerizer.cpp index 696e359..396e5fb 100644 --- a/src/slave/containerizer/mesos/containerizer.cpp +++ b/src/slave/containerizer/mesos/containerizer.cpp @@ -82,6 +82,8 @@ using state::FrameworkState; using state::ExecutorState; using state::RunState; +const char MESOS_CONTAINERIZER[] = "mesos-containerizer"; + Try<MesosContainerizer*> MesosContainerizer::create( const Flags& flags, bool local, @@ -727,12 +729,12 @@ Future<bool> MesosContainerizerProcess::_launch( // Fork the child using launcher. vector<string> argv(2); - argv[0] = "mesos-containerizer"; + argv[0] = MESOS_CONTAINERIZER; argv[1] = MesosContainerizerLaunch::NAME; Try<pid_t> forked = launcher->fork( containerId, - path::join(flags.launcher_dir, "mesos-containerizer"), + path::join(flags.launcher_dir, MESOS_CONTAINERIZER), argv, Subprocess::FD(STDIN_FILENO), (local ? Subprocess::FD(STDOUT_FILENO) http://git-wip-us.apache.org/repos/asf/mesos/blob/d94cb9e7/src/slave/containerizer/mesos/containerizer.hpp ---------------------------------------------------------------------- diff --git a/src/slave/containerizer/mesos/containerizer.hpp b/src/slave/containerizer/mesos/containerizer.hpp index 3e18617..31f5051 100644 --- a/src/slave/containerizer/mesos/containerizer.hpp +++ b/src/slave/containerizer/mesos/containerizer.hpp @@ -38,6 +38,8 @@ namespace mesos { namespace internal { namespace slave { +extern const char MESOS_CONTAINERIZER[]; + // Forward declaration. class MesosContainerizerProcess; http://git-wip-us.apache.org/repos/asf/mesos/blob/d94cb9e7/src/tests/port_mapping_tests.cpp ---------------------------------------------------------------------- diff --git a/src/tests/port_mapping_tests.cpp b/src/tests/port_mapping_tests.cpp index b8c2db6..348a6c6 100644 --- a/src/tests/port_mapping_tests.cpp +++ b/src/tests/port_mapping_tests.cpp @@ -299,12 +299,12 @@ protected: launchFlags.commands = commands; vector<string> argv(2); - argv[0] = "mesos-containerizer"; + argv[0] = MESOS_CONTAINERIZER; argv[1] = MesosContainerizerLaunch::NAME; Try<pid_t> pid = launcher->fork( containerId, - path::join(flags.launcher_dir, "mesos-containerizer"), + path::join(flags.launcher_dir, MESOS_CONTAINERIZER), argv, Subprocess::FD(STDIN_FILENO), Subprocess::FD(STDOUT_FILENO), @@ -1496,21 +1496,21 @@ TEST_F(PortMappingIsolatorTest, ROOT_SmallEgressLimit) bool HasTCPSocketsCount(const JSON::Object& object) { - return object.find<JSON::Number>("net_tcp_active_connections").isSome() && - object.find<JSON::Number>("net_tcp_time_wait_connections").isSome(); + return object.find<JSON::Number>(NET_TCP_ACTIVE_CONNECTIONS).isSome() && + object.find<JSON::Number>(NET_TCP_TIME_WAIT_CONNECTIONS).isSome(); } bool HasTCPSocketsRTT(const JSON::Object& object) { Result<JSON::Number> p50 = - object.find<JSON::Number>("net_tcp_rtt_microsecs_p50"); + object.find<JSON::Number>(NET_TCP_RTT_MICROSECS_P50); Result<JSON::Number> p90 = - object.find<JSON::Number>("net_tcp_rtt_microsecs_p90"); + object.find<JSON::Number>(NET_TCP_RTT_MICROSECS_P90); Result<JSON::Number> p95 = - object.find<JSON::Number>("net_tcp_rtt_microsecs_p95"); + object.find<JSON::Number>(NET_TCP_RTT_MICROSECS_P95); Result<JSON::Number> p99 = - object.find<JSON::Number>("net_tcp_rtt_microsecs_p99"); + object.find<JSON::Number>(NET_TCP_RTT_MICROSECS_P99); // We either have all of the following metrics or we have nothing. if (!p50.isSome() && !p90.isSome() && !p95.isSome() && !p99.isSome()) {
