std::string ExecutionContext::getRequestUrl(size_t szLimit) { Transport* t = getTransport(); std::string ret = t ? t->getUrl() : ""; if (szLimit != std::string::npos) { ret = ret.substr(0, szLimit); } return ret; }
void HPHP::ZendTraceCollector::dump(std::ostream& os) { if ( isCollecting() ) { //----------------------------------- // Print global information //----------------------------------- os << ">>GLOBAL\n"; if ( g_vmContext->getTransport() ) { Transport* transport = g_vmContext->getTransport(); os << "URL|" << transport->getUrl() << "\n"; os << "SERVER|" << transport->getServerAddr() << ":" << transport->getServerPort() << "\n"; } os << "<<GLOBAL\n"; //----------------------------------- // Print callstack //----------------------------------- os << ">>CALLSTACK\n"; FrameList_t::const_iterator iter = m_frames.begin(); for(; iter != m_frames.end(); ++iter ) { os << std::setw(5) << iter->m_level << std::setw(0) << "|"; os << iter->m_func.m_name << iter->m_func.m_args << "|" << iter->m_func.m_filename << "|" << iter->m_func.m_linenumber << "\n"; } os << "<<CALLSTACK\n"; //----------------------------------- // Print call statistics //----------------------------------- os << ">>CALLS\n"; MapTimes_t::iterator iterCalls = m_timesCalled.begin(); for(; iterCalls != m_timesCalled.end(); ++iterCalls ) { os << iterCalls->first << "|" << iterCalls->second << "\n"; } os << "<<CALLS\n"; } }