Apache Mesos
Public Member Functions | Static Public Member Functions | List of all members
mesos::internal::slave::BlkioSubsystem Class Reference

Represent cgroups blkio subsystem. More...

#include <blkio.hpp>

Inheritance diagram for mesos::internal::slave::BlkioSubsystem:
mesos::internal::slave::Subsystem process::Process< Subsystem > process::ProcessBase process::EventConsumer

Public Member Functions

virtual ~BlkioSubsystem ()
 
virtual std::string name () const
 The cgroups subsystem name of this Subsystem object. 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...
 
- Public Member Functions inherited from mesos::internal::slave::Subsystem
virtual ~Subsystem ()
 
virtual process::Future< Nothingrecover (const ContainerID &containerId, const std::string &cgroup)
 Recover the cgroups subsystem for the associated container. More...
 
virtual process::Future< Nothingprepare (const ContainerID &containerId, const std::string &cgroup)
 Prepare the cgroups subsystem for the associated container. More...
 
virtual process::Future< Nothingisolate (const ContainerID &containerId, const std::string &cgroup, pid_t pid)
 Isolate the associated container to cgroups subsystem. 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< Nothingupdate (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
< ContainerStatus > 
status (const ContainerID &containerId, const std::string &cgroup)
 Get the run-time status of cgroups subsystem specific properties associated with the container. More...
 
virtual process::Future< Nothingcleanup (const ContainerID &containerId, const std::string &cgroup)
 Clean up the cgroups subsystem for the associated 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 UPIDself () 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...
 

Detailed Description

Represent cgroups blkio subsystem.

Constructor & Destructor Documentation

virtual mesos::internal::slave::BlkioSubsystem::~BlkioSubsystem ( )
inlinevirtual

Member Function Documentation

static Try<process::Owned<Subsystem> > mesos::internal::slave::BlkioSubsystem::create ( const Flags flags,
const std::string &  hierarchy 
)
static
virtual std::string mesos::internal::slave::BlkioSubsystem::name ( ) const
inlinevirtual

The cgroups subsystem name of this Subsystem object.

Returns
The cgroups subsystem name.

Implements mesos::internal::slave::Subsystem.

virtual process::Future<ResourceStatistics> mesos::internal::slave::BlkioSubsystem::usage ( const ContainerID &  containerId,
const std::string &  cgroup 
)
virtual

Gather resource usage statistics of the cgroups subsystem for the associated container.

Parameters
containerIdThe target containerId.
cgroupThe target cgroup.
Returns
The resource usage statistics or an error if gather statistics fails.

Reimplemented from mesos::internal::slave::Subsystem.


The documentation for this class was generated from the following file: