diff options
| author | zhengchao <[email protected]> | 2018-10-05 13:31:10 +0800 |
|---|---|---|
| committer | zhengchao <[email protected]> | 2018-10-05 13:31:10 +0800 |
| commit | 7fd3f5d1fbd8fd31fe05dd0fe70476808a662037 (patch) | |
| tree | 8623d4d82b5731d21cb98752302b288ff7a1d3fe /platform/src/proxy.cpp | |
| parent | 443404ce897844af9092d0a3b2cb6cc24155f002 (diff) | |
增加proxy初始化fieldstat,增加sslstream的状态统计输出。
Diffstat (limited to 'platform/src/proxy.cpp')
| -rw-r--r-- | platform/src/proxy.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/platform/src/proxy.cpp b/platform/src/proxy.cpp index 7a87226..7f3b04d 100644 --- a/platform/src/proxy.cpp +++ b/platform/src/proxy.cpp @@ -137,10 +137,8 @@ static void __signal_handler_cb(evutil_socket_t fd, short what, void * arg) static void __gc_handler_cb(evutil_socket_t fd, short what, void * arg) { -/* tfe_proxy * ctx = (tfe_proxy *) arg; - (void)fd; - (void)what; - */ + tfe_proxy * ctx = (tfe_proxy *) arg; + FS_passive_output(ctx->fs_handle); return; } @@ -215,6 +213,7 @@ do { if(!(condition)) { TFE_LOG_ERROR(g_default_logger, fmt, ##__VA_ARGS__); exi int main(int argc, char *argv[]) { const char* main_profile="./conf/tfe.conf"; + const char* fieldstat_output="./tfe.fieldstat"; g_default_logger = MESA_create_runtime_log_handle("log/tfe.log", RLOG_LV_DEBUG); if (unlikely(g_default_logger == NULL)) @@ -222,16 +221,28 @@ int main(int argc, char *argv[]) TFE_LOG_ERROR(g_default_logger, "Failed at creating default logger: %s", "log/tfe.log"); exit(EXIT_FAILURE); } + + future_promise_library_init(); /* PROXY INSTANCE */ g_default_proxy = ALLOC(struct tfe_proxy, 1); assert(g_default_proxy); - + strcpy(g_default_proxy->name, "tfe3a"); /* CONFIG */ int ret = tfe_proxy_config(g_default_proxy, main_profile); CHECK_OR_EXIT(ret == 0, "Failed at loading profile %s, Exit.", main_profile); + /* PERFOMANCE MONITOR */ + g_default_proxy->fs_handle=FS_create_handle(); + FS_set_para(g_default_proxy->fs_handle, OUTPUT_DEVICE, fieldstat_output, strlen(fieldstat_output)+1); + int value=1; + FS_set_para(g_default_proxy->fs_handle, PRINT_MODE, &value, sizeof(value)); + value=0; + FS_set_para(g_default_proxy->fs_handle, CREATE_THREAD, &value, sizeof(value)); + FS_set_para(g_default_proxy->fs_handle, APP_NAME, g_default_proxy->name, strlen(g_default_proxy->name)+1); + FS_start(g_default_proxy->fs_handle); + /* LOGGER */ g_default_proxy->logger = g_default_logger; @@ -245,7 +256,7 @@ int main(int argc, char *argv[]) /* SSL INIT */ g_default_proxy->ssl_mgr_handler = ssl_manager_init(main_profile, "ssl", - g_default_proxy->evbase, g_default_logger, NULL); + g_default_proxy->evbase, g_default_logger, g_default_proxy->fs_handle); CHECK_OR_EXIT(g_default_proxy->ssl_mgr_handler, "Failed at init SSL manager. Exit."); /* PLUGIN INIT */ @@ -265,7 +276,7 @@ int main(int argc, char *argv[]) evsignal_add(g_default_proxy->sev[i], NULL); } - struct timeval gc_delay = {60, 0}; + struct timeval gc_delay = {2, 0}; evtimer_add(g_default_proxy->gcev , &gc_delay); /* WORKER THREAD */ |
