summaryrefslogtreecommitdiff
path: root/platform/src/proxy.cpp
diff options
context:
space:
mode:
authorzhengchao <[email protected]>2018-10-05 13:31:10 +0800
committerzhengchao <[email protected]>2018-10-05 13:31:10 +0800
commit7fd3f5d1fbd8fd31fe05dd0fe70476808a662037 (patch)
tree8623d4d82b5731d21cb98752302b288ff7a1d3fe /platform/src/proxy.cpp
parent443404ce897844af9092d0a3b2cb6cc24155f002 (diff)
增加proxy初始化fieldstat,增加sslstream的状态统计输出。
Diffstat (limited to 'platform/src/proxy.cpp')
-rw-r--r--platform/src/proxy.cpp25
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 */