#include <XrdThrottleManager.hh>
|
void | Init () |
|
bool | OpenFile (const std::string &entity, std::string &open_error_message) |
|
bool | CloseFile (const std::string &entity) |
|
void | Apply (int reqsize, int reqops, int uid) |
|
bool | IsThrottling () |
|
void | SetThrottles (float reqbyterate, float reqoprate, int concurrency, float interval_length) |
|
void | SetLoadShed (std::string &hostname, unsigned port, unsigned frequency) |
|
void | SetMaxOpen (unsigned long max_open) |
|
void | SetMaxConns (unsigned long max_conns) |
|
XrdThrottleTimer | StartIOTimer () |
|
void | PrepLoadShed (const char *opaque, std::string &lsOpaque) |
|
bool | CheckLoadShed (const std::string &opaque) |
|
void | PerformLoadShed (const std::string &opaque, std::string &host, unsigned &port) |
|
| XrdThrottleManager (XrdSysError *lP, XrdOucTrace *tP) |
|
| ~XrdThrottleManager () |
|
|
static int | GetUid (const char *username) |
|
◆ XrdThrottleManager()
◆ ~XrdThrottleManager()
XrdThrottleManager::~XrdThrottleManager |
( |
| ) |
|
|
inline |
◆ Apply()
void XrdThrottleManager::Apply |
( |
int |
reqsize, |
|
|
int |
reqops, |
|
|
int |
uid |
|
) |
| |
◆ CheckLoadShed()
bool XrdThrottleManager::CheckLoadShed |
( |
const std::string & |
opaque | ) |
|
◆ CloseFile()
bool XrdThrottleManager::CloseFile |
( |
const std::string & |
entity | ) |
|
◆ GetShares()
void XrdThrottleManager::GetShares |
( |
int & |
shares, |
|
|
int & |
request |
|
) |
| |
|
private |
◆ GetUid()
static int XrdThrottleManager::GetUid |
( |
const char * |
username | ) |
|
|
static |
◆ Init()
void XrdThrottleManager::Init |
( |
| ) |
|
◆ IsThrottling()
bool XrdThrottleManager::IsThrottling |
( |
| ) |
|
|
inline |
◆ OpenFile()
bool XrdThrottleManager::OpenFile |
( |
const std::string & |
entity, |
|
|
std::string & |
open_error_message |
|
) |
| |
◆ PerformLoadShed()
void XrdThrottleManager::PerformLoadShed |
( |
const std::string & |
opaque, |
|
|
std::string & |
host, |
|
|
unsigned & |
port |
|
) |
| |
◆ PrepLoadShed()
void XrdThrottleManager::PrepLoadShed |
( |
const char * |
opaque, |
|
|
std::string & |
lsOpaque |
|
) |
| |
◆ Recompute()
void XrdThrottleManager::Recompute |
( |
| ) |
|
|
private |
◆ RecomputeBootstrap()
static void * XrdThrottleManager::RecomputeBootstrap |
( |
void * |
pp | ) |
|
|
staticprivate |
◆ RecomputeInternal()
void XrdThrottleManager::RecomputeInternal |
( |
| ) |
|
|
private |
◆ SetLoadShed()
void XrdThrottleManager::SetLoadShed |
( |
std::string & |
hostname, |
|
|
unsigned |
port, |
|
|
unsigned |
frequency |
|
) |
| |
|
inline |
◆ SetMaxConns()
void XrdThrottleManager::SetMaxConns |
( |
unsigned long |
max_conns | ) |
|
|
inline |
◆ SetMaxOpen()
void XrdThrottleManager::SetMaxOpen |
( |
unsigned long |
max_open | ) |
|
|
inline |
◆ SetThrottles()
void XrdThrottleManager::SetThrottles |
( |
float |
reqbyterate, |
|
|
float |
reqoprate, |
|
|
int |
concurrency, |
|
|
float |
interval_length |
|
) |
| |
|
inline |
◆ StartIOTimer()
◆ StealShares()
void XrdThrottleManager::StealShares |
( |
int |
uid, |
|
|
int & |
reqsize, |
|
|
int & |
reqops |
|
) |
| |
|
private |
◆ StopIOTimer()
void XrdThrottleManager::StopIOTimer |
( |
struct timespec |
| ) |
|
|
protected |
◆ WaitForShares()
int XrdThrottleManager::WaitForShares |
( |
| ) |
|
|
private |
◆ XrdThrottleTimer
◆ m_active_conns
std::unordered_map<std::string, std::unique_ptr<std::unordered_map<pid_t, unsigned long> > > XrdThrottleManager::m_active_conns |
|
private |
◆ m_bytes_per_second
float XrdThrottleManager::m_bytes_per_second |
|
private |
◆ m_compute_var
◆ m_concurrency_limit
int XrdThrottleManager::m_concurrency_limit |
|
private |
◆ m_conn_counters
std::unordered_map<std::string, unsigned long> XrdThrottleManager::m_conn_counters |
|
private |
◆ m_file_counters
std::unordered_map<std::string, unsigned long> XrdThrottleManager::m_file_counters |
|
private |
◆ m_file_mutex
std::mutex XrdThrottleManager::m_file_mutex |
|
private |
◆ m_interval_length_seconds
float XrdThrottleManager::m_interval_length_seconds |
|
private |
◆ m_io_counter
int XrdThrottleManager::m_io_counter |
|
private |
◆ m_io_wait
struct timespec XrdThrottleManager::m_io_wait |
|
private |
◆ m_last_round_allocation
int XrdThrottleManager::m_last_round_allocation |
|
private |
◆ m_loadshed_frequency
unsigned XrdThrottleManager::m_loadshed_frequency |
|
private |
◆ m_loadshed_host
std::string XrdThrottleManager::m_loadshed_host |
|
private |
◆ m_loadshed_limit_hit
int XrdThrottleManager::m_loadshed_limit_hit |
|
private |
◆ m_loadshed_port
unsigned XrdThrottleManager::m_loadshed_port |
|
private |
◆ m_log
◆ m_max_conns
unsigned long XrdThrottleManager::m_max_conns {0} |
|
private |
◆ m_max_open
unsigned long XrdThrottleManager::m_max_open {0} |
|
private |
◆ m_max_users
const int XrdThrottleManager::m_max_users |
|
staticprivate |
◆ m_ops_per_second
float XrdThrottleManager::m_ops_per_second |
|
private |
◆ m_primary_bytes_shares
std::vector<int> XrdThrottleManager::m_primary_bytes_shares |
|
private |
◆ m_primary_ops_shares
std::vector<int> XrdThrottleManager::m_primary_ops_shares |
|
private |
◆ m_secondary_bytes_shares
std::vector<int> XrdThrottleManager::m_secondary_bytes_shares |
|
private |
◆ m_secondary_ops_shares
std::vector<int> XrdThrottleManager::m_secondary_ops_shares |
|
private |
◆ m_stable_io_counter
int XrdThrottleManager::m_stable_io_counter |
|
private |
◆ m_stable_io_wait
struct timespec XrdThrottleManager::m_stable_io_wait |
|
private |
◆ m_trace
◆ TraceID
const char* XrdThrottleManager::TraceID |
|
staticprivate |
The documentation for this class was generated from the following file: