Changeset 1125

Show
Ignore:
Timestamp:
02/03/08 17:24:25 (10 months ago)
Author:
ahu
Message:

tweak dnsgram to no longer write pcap file, while being more verbose about what it does do

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/pdns/pdns/dnsgram.cc

    r1047 r1125  
    2424  int64_t serverdiff = g_serverQuestions - g_serverResponses; 
    2525 
    26   if(clientdiff > 0.01*g_clientQuestions) { 
     26  if(clientdiff > 5 && clientdiff > 0.02*g_clientQuestions) { 
    2727    char tmp[80]; 
    2828    struct tm tm=*localtime_r(&tv.tv_sec, &tm); 
     
    4343  } 
    4444 
    45   if(serverdiff > 0.01*g_serverQuestions) { 
     45  if(serverdiff > 5 && serverdiff > 0.02*g_serverQuestions) { 
    4646    char tmp[80]; 
    4747    struct tm tm=*localtime_r(&tv.tv_sec, &tm); 
     
    5050    cout << tmp << ": Auth server dropped too many questions ("  
    5151         << g_serverQuestions <<" vs " << g_serverResponses << "), diff: " <<serverdiff<<endl; 
    52  
    53     cout << tv.tv_sec<<endl; 
    5452 
    5553    tm=*localtime_r(&g_lastanswerTime.tv_sec, &tm); 
     
    6765 
    6866 
    69   cerr << tv.tv_sec << " " <<g_clientQuestions<<" " << g_clientResponses<< " "<<g_serverQuestions<<" "<<g_serverResponses<<" "<<g_skipped<<endl; 
     67//  cerr << tv.tv_sec << " " <<g_clientQuestions<<" " << g_clientResponses<< " "<<g_serverQuestions<<" "<<g_serverResponses<<" "<<g_skipped<<endl; 
    7068  g_clientQuestions=g_clientResponses=g_serverQuestions=g_serverResponses=0; 
    7169  g_skipped=0; 
     
    8078    unsigned int parseErrors=0, totalQueries=0, skipped=0; 
    8179    PcapPacketReader pr(argv[n]); 
    82     PcapPacketWriter pw(argv[n]+string(".out"), pr); 
     80    //    PcapPacketWriter pw(argv[n]+string(".out"), pr); 
    8381    /* four sorts of packets:  
    8482       "rd": question from a client pc 
     
    9694    queries_t questions, answers; 
    9795 
    98     unsigned int count = 50000; 
     96    //    unsigned int count = 50000; 
    9997     
    10098    map<pair<string, uint16_t>, int> counts; 
     
    118116          } 
    119117           
    120           if(pr.d_pheader.ts.tv_sec > 1176897290 && pr.d_pheader.ts.tv_sec < 1176897310 )  
    121             pw.write(); 
     118          //     if(pr.d_pheader.ts.tv_sec > 1176897290 && pr.d_pheader.ts.tv_sec < 1176897310 )  
     119          //       pw.write(); 
    122120 
    123121          if(mdp.d_header.rd && !mdp.d_header.qr) { 
     
    125123            g_clientQuestions++; 
    126124            totalQueries++; 
     125            counts[make_pair(mdp.d_qname, mdp.d_qtype)]++; 
    127126            questions.insert(make_pair(mdp.d_qname, mdp.d_qtype)); 
    128127          } 
     
    144143          } 
    145144           
    146           if(pr.d_pheader.ts.tv_sec - lastreport.tv_sec > 2) { 
     145          if(pr.d_pheader.ts.tv_sec - lastreport.tv_sec > 5) { 
    147146            makeReport(pr.d_pheader.ts); 
    148147            lastreport = pr.d_pheader.ts; 
     
    169168    cerr<<questions.size()<<" different rd questions, "<< answers.size()<<" different rd answers, diff: "<<diff.size()<<endl; 
    170169    cerr<<skipped<<" skipped\n"; 
     170 
     171 
     172    cerr<<"Generating 'failed' file with failed queries and counts\n"; 
    171173    ofstream failed("failed"); 
    172174    for(diff_t::const_iterator i = diff.begin(); i != diff.end() ; ++i) { 
    173       failed << i->first << "\t" << i->second << "\t"<<counts[make_pair(i->first, i->second)]<<"\n"; 
     175      failed << i->first << "\t" << i->second << "\t"<< counts[make_pair(i->first, i->second)]<<"\n"; 
    174176    } 
    175177 
     
    179181    cerr<<diff.size()<<" answers w/o questions\n"; 
    180182 
     183    cerr<<"Generating 'succeeded' file with failed queries and counts\n"; 
    181184    ofstream succeeded("succeeded"); 
    182185    for(queries_t::const_iterator i = answers.begin(); i != answers.end() ; ++i) { 
    183       succeeded << i->first << "\t" << i->second << "\n"; 
     186      succeeded << i->first << "\t" << i->second << counts[make_pair(i->first, i->second)]<<"\n"; 
    184187    } 
    185188  }