TSG-6228 修复 ATCA 性能测试时 perf 火焰图显示 tfe_stream_addr_to_str 耗时较高的问题
This commit is contained in:
@@ -570,21 +570,17 @@ static void ssl_stream_free(struct ssl_stream * s_stream)
|
||||
}
|
||||
|
||||
|
||||
static void log_ssl_master_key(SSL* ssl, int fd, tfe_conn_dir dir, FILE* fp)
|
||||
static void log_ssl_master_key(struct ssl_stream *s_stream, tfe_conn_dir dir, FILE* fp)
|
||||
{
|
||||
char* key_str=NULL;
|
||||
key_str=ssl_ssl_masterkey_to_str(ssl);
|
||||
key_str=ssl_ssl_masterkey_to_str(s_stream->ssl);
|
||||
char time_str[TFE_SYMBOL_MAX];
|
||||
time_t now=time(NULL);
|
||||
tfe_thread_safe_ctime(&now, time_str, sizeof(time_str));
|
||||
struct tfe_stream_addr* addr=tfe_stream_addr_create_by_fd(fd, dir);
|
||||
char* addr_string=tfe_stream_addr_to_str(addr);
|
||||
|
||||
fprintf(fp, "#%s %s %s\n%s\n", time_str, tfe_stream_conn_dir_to_str(dir), addr_string?addr_string:NULL, key_str);
|
||||
fprintf(fp, "#%s %s %s\n%s\n", time_str, tfe_stream_conn_dir_to_str(dir), s_stream->tcp_stream->str_stream_info ? s_stream->tcp_stream->str_stream_info : NULL, key_str);
|
||||
|
||||
free(key_str);
|
||||
tfe_stream_addr_free(addr);
|
||||
free(addr_string);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -1371,7 +1367,7 @@ static void ssl_server_connected_eventcb(struct bufferevent * bev, short events,
|
||||
}
|
||||
if(mgr->log_master_key)
|
||||
{
|
||||
log_ssl_master_key(s_stream->ssl, ctx->fd_upstream, CONN_DIR_UPSTREAM, mgr->fp_master_key);
|
||||
log_ssl_master_key(s_stream, CONN_DIR_UPSTREAM, mgr->fp_master_key);
|
||||
}
|
||||
const unsigned char *alpn_data=NULL;
|
||||
unsigned int alpn_len=0;
|
||||
@@ -1413,7 +1409,6 @@ static void peek_chello_on_succ(future_result_t * result, void * user)
|
||||
struct event_base* evbase=tfe_proxy_get_work_thread_evbase(ctx->tcp_stream->thread_id);
|
||||
struct ssl_stream* s_stream=NULL;
|
||||
struct ssl_chello* chello = ssl_peek_result_release_chello(result);//chello has been saved in ssl_stream.
|
||||
char* addr_string=NULL;
|
||||
if(chello->sni==NULL)
|
||||
{
|
||||
ATOMIC_INC(&(ctx->mgr->stat_val[SSL_NO_SNI]));
|
||||
@@ -1426,9 +1421,8 @@ static void peek_chello_on_succ(future_result_t * result, void * user)
|
||||
ret=ssl_service_cache_read(ctx->mgr->svc_cache, chello, s_stream->tcp_stream, svc_status);
|
||||
if(ret==1)
|
||||
{
|
||||
addr_string=tfe_stream_addr_to_str(s_stream->tcp_stream->addr);
|
||||
TFE_LOG_DEBUG(ctx->mgr->logger, "%s %s service status pinning:%d, mauth:%d, err:%d, ct:%d, ev:%d, ja3_pinning_status:%d",
|
||||
addr_string,
|
||||
s_stream->tcp_stream->str_stream_info,
|
||||
chello->sni,
|
||||
svc_status->cli_pinning_status,
|
||||
svc_status->is_mutual_auth,
|
||||
@@ -1436,8 +1430,6 @@ static void peek_chello_on_succ(future_result_t * result, void * user)
|
||||
svc_status->is_ct,
|
||||
svc_status->is_ev,
|
||||
svc_status->ja3_pinning_status);
|
||||
free(addr_string);
|
||||
addr_string=NULL;
|
||||
}
|
||||
switch (svc_status->ja3_pinning_status)
|
||||
{
|
||||
@@ -1942,7 +1934,7 @@ static void ssl_client_connected_eventcb(struct bufferevent * bev, short events,
|
||||
|
||||
if(mgr->log_master_key)
|
||||
{
|
||||
log_ssl_master_key(s_stream->ssl, ctx->fd_downstream, CONN_DIR_DOWNSTREAM, mgr->fp_master_key);
|
||||
log_ssl_master_key(s_stream, CONN_DIR_DOWNSTREAM, mgr->fp_master_key);
|
||||
}
|
||||
s_stream->negotiated_version=SSL_version(s_stream->ssl);
|
||||
ssl_stream_set_cmsg_string(s_stream, TFE_CMSG_SSL_CLIENT_SIDE_VERSION, SSL_get_version(s_stream->ssl));
|
||||
|
||||
Reference in New Issue
Block a user