ab e gnuplot

Se avete problemi con l'installazione e la configurazione di Slackware postate qui. Non usate questo forum per argomenti generali... per quelli usate Gnu/Linux in genere.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Slackware, se l'argomento è generale usate il forum Gnu/Linux in genere.
3) Leggere attentamente le risposte ricevute.
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

ab e gnuplot

Messaggio da nik600 »

Ciao

vorrei realizzare dei grafici con l'output di ab.

io eseguo il segente comando:

Codice: Seleziona tutto

/usr/local/apache2/bin/ab -g out -n 1000 -c 50 http://localhost/miosito/
che mi da una cosa del genere:

Codice: Seleziona tutto

starttime	seconds	ctime	dtime	ttime	wait
Sat May 26 10:41:20 2007	1180168880895729	1	288	289	284
Sat May 26 10:41:20 2007	1180168880895884	1	293	294	293
Sat May 26 10:41:20 2007	1180168880895903	1	299	300	298
Sat May 26 10:41:20 2007	1180168880895924	1	304	305	304
Sat May 26 10:41:20 2007	1180168880895945	0	310	310	309
Sat May 26 10:41:20 2007	1180168880895807	1	315	316	315
Sat May 26 10:41:20 2007	1180168880895970	0	316	316	315
provo a generare il grafico con gnuplot ma ottengo errori:

Codice: Seleziona tutto

gnuplot> load "out" 

gnuplot> starttime      seconds ctime   dtime   ttime   wait
         ^
         "out", line 1: invalid command

gnuplot> plot "out" 
              ^
         Bad data on line 1

gnuplot> 
ho provato a togliere anche la riga delle label ma non va, e si che dal man l'opzione è proprio quella:

Codice: Seleziona tutto

       -g gnuplot file
                   Write  all  measured values out as a 'gnuplot' or TSV (Tab separate values) file. This file can easily
                   be imported into packages like Gnuplot, IDL, Mathematica, Igor or even Excel. The labels  are  on  the
                   first line of the file.


Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Messaggio da ccts2002 »

non so se è quello che vuoi...comunque...
una volta che hai l'output su un file (il tuo penso sia

Codice: Seleziona tutto

out
) entri in gnuplot e digiti:

Codice: Seleziona tutto

plot "out" using #1:#2
dove

Codice: Seleziona tutto

#1
e

Codice: Seleziona tutto

#2
sono le colonne che vuoi rappresentare rispettivamente come x e come y. per esempio se volessi ctime come x e dtime come y, digiti:

Codice: Seleziona tutto

plot "out" using 3:4
l'unico problema è che gnuplot vede tutti gli spazi, o i caratteri non numerici, come delimitatori di colonna, quindi:

Codice: Seleziona tutto

Sat May 26 10:41:20 2007  
sono in realtà 7 colonne della tabella. potresti evitare il problema delimitando la data con due doppi apici:

Codice: Seleziona tutto

"Sat May 26 10:41:20 2007 " 
basta che ti scriva un programmino che faccia tutto al posto tuo
:D :D

ciao, se non sono stato chiaro fammi sapere!!!

nik600
Linux 2.x
Linux 2.x
Messaggi: 450
Iscritto il: lun 15 mar 2004, 0:00
Contatta:

Messaggio da nik600 »

chiarissimo!

grazie mille

Avatar utente
ccts2002
Linux 1.x
Linux 1.x
Messaggi: 155
Iscritto il: gio 9 nov 2006, 23:20
Località: milano - trieste - catania
Contatta:

Messaggio da ccts2002 »

per esempio cosi...

Codice: Seleziona tutto

#include<stdio.h>
#include<string.h>

int main(){
 int i,j;
 char prova;
 char sin[100],sout[102],filename[100];
 printf("input file: ");
 scanf("%s",filename);
 FILE *fp=fopen(filename,"r");
 printf("output file: ");
 scanf("%s",filename);
 FILE *out=fopen(filename,"w");
 i=j=0;
 while(!feof(fp)){
  i++;
  fgets(sin,99,fp);
  if((i-1)!=0){
   sout[0]='"';
   for(j=0;j<24;j++){
    sout[j+1]=sin[j];
   }
   sout[j+1]='"';
   for(;j<=strlen(sin);j++){
    sout[j+2]=sin[j];
   }
   fprintf(out,"%s",sout);
  }
  else{
   fprintf(out,"%s",sin);
   continue;
  }
 }
 fclose(fp);
 fclose(out);
}
ciaoooooo

Rispondi