Changeset 1493
- Timestamp:
- 01/07/10 12:57:04 (3 years ago)
- Location:
- trunk/pdns/pdns
- Files:
-
- 5 modified
-
pdns_recursor.cc (modified) (3 diffs)
-
rec_channel_rec.cc (modified) (2 diffs)
-
recpacketcache.cc (modified) (3 diffs)
-
recpacketcache.hh (modified) (1 diff)
-
syncres.hh (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/pdns/pdns/pdns_recursor.cc
r1489 r1493 94 94 95 95 __thread MemRecursorCache* t_RC; 96 static__thread RecursorPacketCache* t_packetCache;96 __thread RecursorPacketCache* t_packetCache; 97 97 RecursorStats g_stats; 98 98 bool g_quiet; … … 986 986 void doStats(void) 987 987 { 988 988 static time_t lastOutputTime; 989 static uint64_t lastQueryCount; 990 989 991 if(g_stats.qcounter && (t_RC->cacheHits + t_RC->cacheMisses) && SyncRes::s_queries && SyncRes::s_outqueries) { // this only runs once thread 0 has had hits 990 992 uint64_t cacheHits = broadcastAccFunction<uint64_t>(pleaseGetCacheHits); … … 1005 1007 broadcastAccFunction<uint64_t>(pleaseGetConcurrentQueries)<<" queries running, "<<SyncRes::s_outgoingtimeouts<<" outgoing timeouts"<<endl; 1006 1008 1007 L<<Logger::Warning<<"stats: "<<g_stats.ednsPingMatches<<" ping matches, "<<g_stats.ednsPingMismatches<<" mismatches, "<< 1008 g_stats.noPingOutQueries<<" outqueries w/o ping, "<< g_stats.noEdnsOutQueries<<" w/o EDNS"<<endl; 1009 // L<<Logger::Warning<<"stats: "<< 1010 // cacheHits <<" packet cache hits ("<<(int)(100.0*cacheHits/SyncRes::s_queries) << "%)"<<endl; 1009 //L<<Logger::Warning<<"stats: "<<g_stats.ednsPingMatches<<" ping matches, "<<g_stats.ednsPingMismatches<<" mismatches, "<< 1010 //g_stats.noPingOutQueries<<" outqueries w/o ping, "<< g_stats.noEdnsOutQueries<<" w/o EDNS"<<endl; 1011 1012 L<<Logger::Warning<<"stats: " << broadcastAccFunction<uint64_t>(pleaseGetPacketCacheSize) << 1013 " packet cache entries, "<<(int)(100.0*broadcastAccFunction<uint64_t>(pleaseGetPacketCacheHits)/SyncRes::s_queries) << "% packet cache hits"<<endl; 1014 1015 time_t now = time(0); 1016 if(lastOutputTime && lastQueryCount && now != lastOutputTime) { 1017 L<<Logger::Warning<<"stats: "<< (SyncRes::s_queries - lastQueryCount) / (now - lastOutputTime) <<" qps (average over "<< (now - lastOutputTime) << " seconds)"<<endl; 1018 } 1019 lastOutputTime = now; 1020 lastQueryCount = SyncRes::s_queries; 1011 1021 } 1012 1022 else if(statsWanted) -
trunk/pdns/pdns/rec_channel_rec.cc
r1489 r1493 290 290 291 291 292 293 294 uint64_t* pleaseGetPacketCacheSize() 295 { 296 return new uint64_t(t_packetCache->size()); 297 } 298 299 uint64_t doGetPacketCacheSize() 300 { 301 return broadcastAccFunction<uint64_t>(pleaseGetPacketCacheSize); 302 } 303 304 uint64_t* pleaseGetPacketCacheHits() 305 { 306 return new uint64_t(t_packetCache->d_hits); 307 } 308 309 uint64_t doGetPacketCacheHits() 310 { 311 return broadcastAccFunction<uint64_t>(pleaseGetPacketCacheHits); 312 } 313 314 uint64_t* pleaseGetPacketCacheMisses() 315 { 316 return new uint64_t(t_packetCache->d_misses); 317 } 318 319 uint64_t doGetPacketCacheMisses() 320 { 321 return broadcastAccFunction<uint64_t>(pleaseGetPacketCacheMisses); 322 } 323 324 292 325 RecursorControlParser::RecursorControlParser() 293 326 { … … 297 330 addGetStat("cache-hits", doGetCacheHits); 298 331 addGetStat("cache-misses", doGetCacheMisses); 299 300 332 addGetStat("cache-entries", doGetCacheSize); 333 334 addGetStat("packetcache-hits", doGetPacketCacheHits); 335 addGetStat("packetcache-misses", doGetPacketCacheMisses); 336 addGetStat("packetcache-entries", doGetPacketCacheSize); 337 338 339 301 340 addGetStat("servfail-answers", &g_stats.servFails); 302 341 addGetStat("nxdomain-answers", &g_stats.nxDomains); -
trunk/pdns/pdns/recpacketcache.cc
r1477 r1493 8 8 RecursorPacketCache::RecursorPacketCache() 9 9 { 10 d_hits = d_misses = 0; 10 11 } 11 12 … … 20 21 *responsePacket = iter->d_packet; 21 22 ((struct dnsheader*)responsePacket->c_str())->id=id; 23 d_hits++; 22 24 return true; 23 25 } 26 d_misses++; 24 27 return false; 25 28 } … … 39 42 } 40 43 41 44 uint64_t RecursorPacketCache::size() 45 { 46 return d_packetCache.size(); 47 } -
trunk/pdns/pdns/recpacketcache.hh
r1478 r1493 16 16 17 17 void prune(); 18 uint64_t d_hits, d_misses; 19 uint64_t size(); 20 18 21 private: 19 22 -
trunk/pdns/pdns/syncres.hh
r1489 r1493 15 15 #include "sstuff.hh" 16 16 #include "recursor_cache.hh" 17 #include "recpacketcache.hh" 17 18 #include <boost/tuple/tuple.hpp> 18 19 #include <boost/optional.hpp> … … 22 23 23 24 void primeHints(void); 24 25 26 25 27 26 struct NegCacheEntry … … 451 450 }; 452 451 extern __thread MemRecursorCache* t_RC; 452 extern __thread RecursorPacketCache* t_packetCache; 453 453 typedef MTasker<PacketID,string> MT_t; 454 454 extern __thread MT_t* MT; … … 528 528 uint64_t* pleaseGetConcurrentQueries(); 529 529 uint64_t* pleaseGetThrottleSize(); 530 uint64_t* pleaseGetPacketCacheHits(); 531 uint64_t* pleaseGetPacketCacheSize(); 532 530 533 #endif