mirror of
https://github.com/php/php-src.git
synced 2024-11-28 12:26:37 +08:00
Added information about interned strings usage
This commit is contained in:
parent
f06b3432c8
commit
851f362882
1
NEWS
1
NEWS
@ -24,6 +24,7 @@ PHP NEWS
|
||||
|
||||
- OPCache
|
||||
. Added function opcache_is_script_cached(). (Danack)
|
||||
. Added information about interned strings usage. (Terry, Julien, Dmitry)
|
||||
|
||||
- Openssl:
|
||||
. Fixed bug #66501 (Add EC key support to php_openssl_is_private_key).
|
||||
|
@ -338,6 +338,7 @@ const char *accel_new_interned_string(const char *arKey, int nKeyLength, int fre
|
||||
if (ZCSG(interned_strings_top) + ZEND_MM_ALIGNED_SIZE(sizeof(Bucket) + nKeyLength) >=
|
||||
ZCSG(interned_strings_end)) {
|
||||
/* no memory, return the same non-interned string */
|
||||
zend_accel_error(ACCEL_LOG_WARNING, "Interned string buffer overflow");
|
||||
return arKey;
|
||||
}
|
||||
|
||||
|
@ -444,6 +444,14 @@ void zend_accel_info(ZEND_MODULE_INFO_FUNC_ARGS)
|
||||
php_info_print_table_row(2, "Free memory", buf);
|
||||
snprintf(buf, sizeof(buf), "%ld", ZSMMG(wasted_shared_memory));
|
||||
php_info_print_table_row(2, "Wasted memory", buf);
|
||||
#if ZEND_EXTENSION_API_NO > PHP_5_3_X_API_NO
|
||||
if (ZCSG(interned_strings_start) && ZCSG(interned_strings_end) && ZCSG(interned_strings_top)) {
|
||||
snprintf(buf, sizeof(buf), "%ld", ZCSG(interned_strings_top) - ZCSG(interned_strings_start));
|
||||
php_info_print_table_row(2, "Interned Strings Used memory", buf);
|
||||
snprintf(buf, sizeof(buf), "%ld", ZCSG(interned_strings_end) - ZCSG(interned_strings_top));
|
||||
php_info_print_table_row(2, "Interned Strings Free memory", buf);
|
||||
}
|
||||
#endif
|
||||
snprintf(buf, sizeof(buf), "%ld", ZCSG(hash).num_direct_entries);
|
||||
php_info_print_table_row(2, "Cached scripts", buf);
|
||||
snprintf(buf, sizeof(buf), "%ld", ZCSG(hash).num_entries);
|
||||
@ -573,6 +581,20 @@ static ZEND_FUNCTION(opcache_get_status)
|
||||
add_assoc_double(memory_usage, "current_wasted_percentage", (((double) ZSMMG(wasted_shared_memory))/ZCG(accel_directives).memory_consumption)*100.0);
|
||||
add_assoc_zval(return_value, "memory_usage", memory_usage);
|
||||
|
||||
#if ZEND_EXTENSION_API_NO > PHP_5_3_X_API_NO
|
||||
if (ZCSG(interned_strings_start) && ZCSG(interned_strings_end) && ZCSG(interned_strings_top)) {
|
||||
zval *interned_strings_usage;
|
||||
|
||||
MAKE_STD_ZVAL(interned_strings_usage);
|
||||
array_init(interned_strings_usage);
|
||||
add_assoc_long(interned_strings_usage, "buffer_size", ZCSG(interned_strings_end) - ZCSG(interned_strings_start));
|
||||
add_assoc_long(interned_strings_usage, "used_memory", ZCSG(interned_strings_top) - ZCSG(interned_strings_start));
|
||||
add_assoc_long(interned_strings_usage, "free_memory", ZCSG(interned_strings_end) - ZCSG(interned_strings_top));
|
||||
add_assoc_long(interned_strings_usage, "number_of_strings", ZCSG(interned_strings).nNumOfElements);
|
||||
add_assoc_zval(return_value, "interned_strings_usage", interned_strings_usage);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* Accelerator statistics */
|
||||
MAKE_STD_ZVAL(statistics);
|
||||
array_init(statistics);
|
||||
|
Loading…
Reference in New Issue
Block a user