1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

Add api for tcmalloc

This commit is contained in:
winlin 2020-03-25 17:00:16 +08:00
parent 574ae58adc
commit 35a037cf05
8 changed files with 138 additions and 4 deletions

View file

@ -3518,7 +3518,7 @@ srs_error_t SrsConfig::check_normal_config()
&& n != "utc_time" && n != "work_dir" && n != "asprocess"
&& n != "ff_log_level" && n != "grace_final_wait" && n != "force_grace_quit"
&& n != "grace_start_wait" && n != "empty_ip_ok" && n != "disable_daemon_for_docker"
&& n != "inotify_auto_reload" && n != "auto_reload_for_docker"
&& n != "inotify_auto_reload" && n != "auto_reload_for_docker" && n != "tcmalloc_release_rate"
) {
return srs_error_new(ERROR_SYSTEM_CONFIG_INVALID, "illegal directive %s", n.c_str());
}
@ -4202,6 +4202,22 @@ bool SrsConfig::auto_reload_for_docker()
return SRS_CONF_PERFER_TRUE(conf->arg0());
}
// TODO: FIXME: Support reload.
double SrsConfig::tcmalloc_release_rate()
{
static double DEFAULT = SRS_PERF_TCMALLOC_RELEASE_RATE;
SrsConfDirective* conf = root->get("tcmalloc_release_rate");
if (!conf || conf->arg0().empty()) {
return DEFAULT;
}
double trr = ::atof(conf->arg0().c_str());
trr = srs_min(10, trr);
trr = srs_max(0, trr);
return trr;
}
vector<SrsConfDirective*> SrsConfig::get_stream_casters()
{
srs_assert(root);