Better memory metrics

pull/1130/head
René Cannaò 9 years ago
parent f3a27b2c1b
commit fe5783ebb4

@ -164,7 +164,19 @@ class PtrSizeArray {
PtrSize_t * index(unsigned int i) {
return &pdata[i];
}
unsigned int total_size(unsigned int _min_size=0) {
unsigned int intsize=0;
unsigned int i=0;
for (i = 0 ; i < len ; i++) {
PtrSize_t *pts = index(i);
if (pts->size > _min_size) {
intsize += pts->size;
} else {
intsize += _min_size;
}
}
return intsize;
}
};
#endif /* __CLASS_PTR_ARRAY_H */

@ -3826,6 +3826,17 @@ void MySQL_Session::Memory_Stats() {
if (client_myds->myconn) {
internal+=sizeof(MySQL_Connection);
}
if (client_myds->PSarrayIN) {
internal += client_myds->PSarrayIN->total_size();
}
if (client_myds->PSarrayIN) {
if (session_fast_forward==true) {
internal += client_myds->PSarrayOUT->total_size();
} else {
internal += client_myds->PSarrayOUT->total_size(RESULTSET_BUFLEN);
internal += client_myds->resultset->total_size(RESULTSET_BUFLEN);
}
}
}
for (i=0; i < mybes->len; i++) {
MySQL_Backend *_mybe=(MySQL_Backend *)mybes->index(i);

Loading…
Cancel
Save