|
Apache Mesos
|
Represent cgroups memory subsystem. More...
#include <memory.hpp>
Public Member Functions | |
| virtual | ~MemorySubsystem () |
| virtual std::string | name () const |
The cgroups subsystem name of this Subsystem object. More... | |
| virtual process::Future< Nothing > | prepare (const ContainerID &containerId, const std::string &cgroup) |
| Prepare the cgroups subsystem for the associated container. More... | |
| virtual process::Future< Nothing > | recover (const ContainerID &containerId, const std::string &cgroup) |
| Recover the cgroups subsystem for the associated container. More... | |
| virtual process::Future < mesos::slave::ContainerLimitation > | watch (const ContainerID &containerId, const std::string &cgroup) |
| Watch the container and report if any resource constraint impacts it. More... | |
| virtual process::Future< Nothing > | update (const ContainerID &containerId, const std::string &cgroup, const Resources &resources) |
| Update resources allocated to the associated container in this cgroups subsystem. More... | |
| virtual process::Future < ResourceStatistics > | usage (const ContainerID &containerId, const std::string &cgroup) |
| Gather resource usage statistics of the cgroups subsystem for the associated container. More... | |
| virtual process::Future< Nothing > | cleanup (const ContainerID &containerId, const std::string &cgroup) |
| Clean up the cgroups subsystem for the associated container. More... | |
Public Member Functions inherited from mesos::internal::slave::Subsystem | |
| virtual | ~Subsystem () |
| virtual process::Future< Nothing > | isolate (const ContainerID &containerId, const std::string &cgroup, pid_t pid) |
| Isolate the associated container to cgroups subsystem. More... | |
| virtual process::Future < ContainerStatus > | status (const ContainerID &containerId, const std::string &cgroup) |
| Get the run-time status of cgroups subsystem specific properties associated with the container. More... | |
Public Member Functions inherited from process::Process< Subsystem > | |
| virtual | ~Process () |
| PID< Subsystem > | self () const |
Returns the PID of the process. More... | |
Public Member Functions inherited from process::ProcessBase | |
| ProcessBase (const std::string &id="") | |
| virtual | ~ProcessBase () |
| const UPID & | self () const |
Public Member Functions inherited from process::EventConsumer | |
| virtual | ~EventConsumer () |
Static Public Member Functions | |
| static Try< process::Owned < Subsystem > > | create (const Flags &flags, const std::string &hierarchy) |
Static Public Member Functions inherited from mesos::internal::slave::Subsystem | |
| static Try< process::Owned < Subsystem > > | create (const Flags &flags, const std::string &name, const std::string &hierarchy) |
Attempts to create a specific Subsystem object that will contain specific information associated with container. More... | |
Additional Inherited Members | |
Protected Types inherited from process::Process< Subsystem > | |
| typedef Subsystem | Self |
| typedef Subsystem | This |
Protected Types inherited from process::ProcessBase | |
| enum | RemoteConnection { RemoteConnection::REUSE, RemoteConnection::RECONNECT } |
Describes the behavior of the link call when the target pid points to a remote process. More... | |
| typedef lambda::function< void(const UPID &, const std::string &)> | MessageHandler |
Any function which takes a "from" UPID and a message body as arguments. More... | |
| typedef lambda::function < Future< http::Response > const http::Request &)> | HttpRequestHandler |
Any function which takes a process::http::Request and returns a process::http::Response. More... | |
| typedef lambda::function < Future< http::Response > const http::Request &, const Option < http::authentication::Principal > &)> | AuthenticatedHttpRequestHandler |
Any function which takes a process::http::Request and an Option<Principal> and returns a process::http::Response. More... | |
Protected Member Functions inherited from mesos::internal::slave::Subsystem | |
| Subsystem (const Flags &_flags, const std::string &_hierarchy) | |
Protected Member Functions inherited from process::ProcessBase | |
| virtual void | serve (Event &&event) |
| Invoked when an event is serviced. More... | |
| void | consume (MessageEvent &&event) override |
| void | consume (DispatchEvent &&event) override |
| void | consume (HttpEvent &&event) override |
| void | consume (ExitedEvent &&event) override |
| void | consume (TerminateEvent &&event) override |
| virtual void | initialize () |
| Invoked when a process gets spawned. More... | |
| virtual void | finalize () |
| Invoked when a process is terminated. More... | |
| virtual void | exited (const UPID &) |
| Invoked when a linked process has exited. More... | |
| virtual void | lost (const UPID &) |
| Invoked when a linked process can no longer be monitored. More... | |
| void | send (const UPID &to, const std::string &name, const char *data=nullptr, size_t length=0) |
Sends the message to the specified UPID. More... | |
| void | send (const UPID &to, std::string &&name) |
| void | send (const UPID &to, std::string &&name, std::string &&data) |
| UPID | link (const UPID &pid, const RemoteConnection remote=RemoteConnection::REUSE) |
Links with the specified UPID. More... | |
| void | install (const std::string &name, const MessageHandler &handler) |
| Sets up a handler for messages with the specified name. More... | |
| template<typename T > | |
| void | install (const std::string &name, void(T::*method)(const UPID &, const std::string &)) |
| Sets up a handler for messages with the specified name. More... | |
| void | delegate (const std::string &name, const UPID &pid) |
Delegates incoming messages, with the specified name, to the UPID. More... | |
| void | route (const std::string &name, const Option< std::string > &help, const HttpRequestHandler &handler, const RouteOptions &options=RouteOptions()) |
| Sets up a handler for HTTP requests with the specified name. More... | |
| template<typename T > | |
| void | route (const std::string &name, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &), const RouteOptions &options=RouteOptions()) |
| Sets up a handler for HTTP requests with the specified name. More... | |
| void | route (const std::string &name, const std::string &realm, const Option< std::string > &help, const AuthenticatedHttpRequestHandler &handler, const RouteOptions &options=RouteOptions()) |
| template<typename T > | |
| void | route (const std::string &name, const std::string &realm, const Option< std::string > &help, Future< http::Response >(T::*method)(const http::Request &, const Option< http::authentication::Principal > &), const RouteOptions &options=RouteOptions()) |
| Sets up a handler for HTTP requests with the specified name. More... | |
| void | provide (const std::string &name, const std::string &path, const std::map< std::string, std::string > &types=mime::types) |
| Sets up the default HTTP request handler to provide the static asset(s) at the specified absolute path for the specified name. More... | |
| template<typename T > | |
| size_t | eventCount () |
| Returns the number of events of the given type currently on the event queue. More... | |
Protected Attributes inherited from mesos::internal::slave::Subsystem | |
| const Flags | flags |
Flags used to launch the agent. More... | |
| const std::string | hierarchy |
| The hierarchy path of cgroups subsystem. More... | |
Represent cgroups memory subsystem.
|
inlinevirtual |
|
virtual |
Clean up the cgroups subsystem for the associated container.
It will be called when destruction to ensure everything be cleanup. Similar to the isolator cleanup, it's likely that the cleanup for the subsystem is called for unknown containers (see MESOS-6059). We should ignore the cleanup request if the container is unknown to the subsystem.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
cleanup fails. Reimplemented from mesos::internal::slave::Subsystem.
|
static |
|
inlinevirtual |
The cgroups subsystem name of this Subsystem object.
Implements mesos::internal::slave::Subsystem.
|
virtual |
Prepare the cgroups subsystem for the associated container.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
prepare fails. Reimplemented from mesos::internal::slave::Subsystem.
|
virtual |
Recover the cgroups subsystem for the associated container.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
recover fails. Reimplemented from mesos::internal::slave::Subsystem.
|
virtual |
Update resources allocated to the associated container in this cgroups subsystem.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
| resources | The resources need to update. |
update fails. Reimplemented from mesos::internal::slave::Subsystem.
|
virtual |
Gather resource usage statistics of the cgroups subsystem for the associated container.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
Reimplemented from mesos::internal::slave::Subsystem.
|
virtual |
Watch the container and report if any resource constraint impacts it.
| containerId | The target containerId. |
| cgroup | The target cgroup. |
watch fails. Reimplemented from mesos::internal::slave::Subsystem.
1.8.5