ApacheBench
view release on metacpan or search on metacpan
src/ApacheBench.xs view on Meta::CPAN
if (AB_DEBUG_XS) printf("AB_DEBUG: getting regression - stage 3 - i=%d\n", i);
tmphv = newHV();
hv_store(tmphv, "max_connect_time", 16, newSVnv(maxcon), 0);
hv_store(tmphv, "max_request_time", 16, newSVnv(maxreq), 0);
hv_store(tmphv, "max_response_time", 17, newSVnv(maxtot), 0);
hv_store(tmphv, "min_connect_time", 16, newSVnv(mincon), 0);
hv_store(tmphv, "min_request_time", 16, newSVnv(minreq), 0);
hv_store(tmphv, "min_response_time", 17, newSVnv(mintot), 0);
if (AB_DEBUG_XS) printf("AB_DEBUG: getting regression - stage 4 - i=%d\n", i);
hv_store(tmphv, "total_connect_time", 18, newSVnv(totalcon), 0);
hv_store(tmphv, "total_request_time", 18, newSVnv(totalreq), 0);
hv_store(tmphv, "total_response_time", 19, newSVnv(total), 0);
hv_store(tmphv, "average_connect_time", 20, newSVnv((float)totalcon/(j-registry->position[k])), 0);
hv_store(tmphv, "average_request_time", 20, newSVnv((float)totalreq/(j-registry->position[k])), 0);
hv_store(tmphv, "average_response_time", 21, newSVnv((double)total/(j-registry->position[k])), 0);
hv_store(tmphv, "total_bytes_read", 16, newSVnv(total_bytes_read), 0);
hv_store(tmphv, "total_bytes_posted", 18, newSVnv(total_bytes_posted), 0);
if (AB_DEBUG_XS) printf("AB_DEBUG: getting regression - stage 5 - i=%d\n", i);
/* started/good/failed are url-specific, store only 1st time */
if (i == 0) {
hv_store(tmphv, "started", 7, newRV_inc((SV *)started), 0);
hv_store(tmphv, "good", 4, newRV_inc((SV *)good), 0);
hv_store(tmphv, "failed", 6, newRV_inc((SV *)failed), 0);
}
hv_store(tmphv, "connect_time", 12, newRV_inc((SV *)th_c), 0);
hv_store(tmphv, "request_time", 12, newRV_inc((SV *)th_r), 0);
hv_store(tmphv, "response_time", 13, newRV_inc((SV *)th_t), 0);
if (registry->memory[k] >= 2) {
hv_store(tmphv, "headers", 7, newRV_inc((SV *)headers), 0);
hv_store(tmphv, "doc_length", 10, newRV_inc((SV *)doc_length), 0);
hv_store(tmphv, "bytes_read", 10, newRV_inc((SV *)bytes_read), 0);
hv_store(tmphv, "bytes_posted", 12, newRV_inc((SV *)bytes_posted), 0);
hv_store(tmphv, "request_headers", 15, newRV_inc((SV *)request_headers), 0);
}
if (registry->memory[k] >= 3) {
hv_store(tmphv, "page_content", 12, newRV_inc((SV *)page_contents), 0);
hv_store(tmphv, "request_body", 12, newRV_inc((SV *)request_body), 0);
}
if (AB_DEBUG_XS) printf("AB_DEBUG: getting regression - stage 6 - i=%d\n", i);
av_push(tmpav, newRV_inc((SV*)tmphv));
}
{
char key[10];
sprintf(key, "run%d", k);
hv_store(RETVAL, key, strlen(key), newRV_inc((SV *)tmpav), 0);
}
}
}
hv_store(RETVAL, "warnings", 8, newSVpv(registry->warn_and_error, 0), 0);
hv_store(RETVAL, "total_time", 10,
newSVnv(timedif(registry->endtime, registry->starttime)), 0);
hv_store(RETVAL, "bytes_received", 14,
newSVnv(registry->total_bytes_received), 0);
hv_store(RETVAL, "started", 7, newSViv(total_started), 0);
hv_store(RETVAL, "good", 4, newSViv(total_good), 0);
hv_store(RETVAL, "failed", 6, newSViv(total_failed), 0);
OUTPUT:
RETVAL
( run in 0.804 second using v1.01-cache-2.11-cpan-39bf76dae61 )