对新签发或请求certstore的证书计数。

This commit is contained in:
zhengchao
2018-12-09 19:45:01 +06:00
committed by luqiuwen
parent 0e23a077dd
commit 76f0efe3cb
3 changed files with 7 additions and 7 deletions

View File

@@ -12,7 +12,7 @@ struct keyring
struct key_keeper_stat struct key_keeper_stat
{ {
long long ask_times; long long ask_times;
long long cache_hit; long long new_issue;
long long cached_num; long long cached_num;
}; };
struct key_keeper; struct key_keeper;

View File

@@ -316,7 +316,6 @@ static struct keyring_private* generate_x509_keyring(X509* origin_cert, X509* ca
X509* forge_cert = ssl_x509_forge(ca, cakey, origin_cert, forge_key, NULL, NULL); X509* forge_cert = ssl_x509_forge(ca, cakey, origin_cert, forge_key, NULL, NULL);
STACK_OF(X509)* chain = sk_X509_new_null(); STACK_OF(X509)* chain = sk_X509_new_null();
sk_X509_push(chain, ca); sk_X509_push(chain, ca);
//sk_X509_push(chain, forge_cert);
ssl_x509_refcount_inc(ca); ssl_x509_refcount_inc(ca);
ssl_x509_refcount_inc(forge_cert); ssl_x509_refcount_inc(forge_cert);
struct keyring_private* _kyr= keyring_new(forge_cert, forge_key, chain); struct keyring_private* _kyr= keyring_new(forge_cert, forge_key, chain);
@@ -358,6 +357,7 @@ static void certstore_rpc_on_succ(void* result, void* user)
} }
promise_success(p, (void*)kyr); promise_success(p, (void*)kyr);
key_keeper_free_keyring((struct keyring*)kyr); key_keeper_free_keyring((struct keyring*)kyr);
ctx->ref_keeper->stat.new_issue++;
} }
else else
{ {
@@ -552,7 +552,6 @@ void key_keeper_async_ask(struct future * f, struct key_keeper * keeper, const c
if(cb_rtn == KEYRING_EXSITED) if(cb_rtn == KEYRING_EXSITED)
{ {
//printf("KEYRING_EXSITED\n"); //printf("KEYRING_EXSITED\n");
keeper->stat.cache_hit++;
return; return;
} }
} }
@@ -616,7 +615,8 @@ void key_keeper_async_ask(struct future * f, struct key_keeper * keeper, const c
key_keeper_free_keyring((struct keyring*)kyr); key_keeper_free_keyring((struct keyring*)kyr);
} }
} }
promise_success(p, (void*)kyr); promise_success(p, (void*)kyr);
keeper->stat.new_issue++;
key_keeper_free_keyring((struct keyring*)kyr); key_keeper_free_keyring((struct keyring*)kyr);
} }
else else

View File

@@ -98,7 +98,7 @@ enum ssl_stream_stat
SSL_FAKE_CRT, SSL_FAKE_CRT,
KEY_KEEPER_CACHE_SIZE, KEY_KEEPER_CACHE_SIZE,
KEY_KEEPER_ASK, KEY_KEEPER_ASK,
KEY_KEEPER_HIT, KEY_KEEPER_ISSUE,
SSL_STAT_MAX SSL_STAT_MAX
@@ -254,7 +254,7 @@ ssl_stream_gc_cb(evutil_socket_t fd, short what, void * arg)
struct key_keeper_stat keeper_stat; struct key_keeper_stat keeper_stat;
key_keeper_statistic(mgr->key_keeper, &keeper_stat); key_keeper_statistic(mgr->key_keeper, &keeper_stat);
mgr->stat_val[KEY_KEEPER_ASK]=keeper_stat.ask_times; mgr->stat_val[KEY_KEEPER_ASK]=keeper_stat.ask_times;
mgr->stat_val[KEY_KEEPER_HIT]=keeper_stat.cache_hit; mgr->stat_val[KEY_KEEPER_ISSUE]=keeper_stat.new_issue;
mgr->stat_val[KEY_KEEPER_CACHE_SIZE]=keeper_stat.cached_num; mgr->stat_val[KEY_KEEPER_CACHE_SIZE]=keeper_stat.cached_num;
for(i=0;i<SSL_STAT_MAX;i++) for(i=0;i<SSL_STAT_MAX;i++)
@@ -305,7 +305,7 @@ void ssl_stat_init(struct ssl_mgr * mgr)
spec[SSL_NO_SNI]="ssl_no_sni"; spec[SSL_NO_SNI]="ssl_no_sni";
spec[SSL_FAKE_CRT]="ssl_fk_crt"; spec[SSL_FAKE_CRT]="ssl_fk_crt";
spec[KEY_KEEPER_ASK]="kyr_ask"; spec[KEY_KEEPER_ASK]="kyr_ask";
spec[KEY_KEEPER_HIT]="kyr_hit"; spec[KEY_KEEPER_ISSUE]="kyr_new";
spec[KEY_KEEPER_CACHE_SIZE]="kyr_cache"; spec[KEY_KEEPER_CACHE_SIZE]="kyr_cache";
for(i=0;i<SSL_STAT_MAX;i++) for(i=0;i<SSL_STAT_MAX;i++)