Dag beste mede-tweakers,
Ik heb een component die dienst doet als een soort proxy: data van een InputStream inlezen en doorsluizen naar een andere outputstream. Nu zou ik graag meten hoeveel tijd het doorsturen van een file naar de client inneemt. Ik heb hiervoor het volgende stukje code geschreven:
Dit werkt echter NIET . Het verschil tussen de start en stop tijd is meestal 0 ms ...
Enkel bij grotere bestanden krijg ik een zinnige timing. De meeste bestanden zijn echter klein.
Lang leve buffering en zo, maar hier wil ik dus echt de tijd weten tussen het versturen van het eerste datapakket en het ontvangen van de laatste ACK .
Is dit wel mogelijk in Java? Zo ja, hoe?
Ik heb een component die dienst doet als een soort proxy: data van een InputStream inlezen en doorsluizen naar een andere outputstream. Nu zou ik graag meten hoeveel tijd het doorsturen van een file naar de client inneemt. Ik heb hiervoor het volgende stukje code geschreven:
code:
1
2
3
4
5
6
7
8
9
10
11
| // While more data -> forward data
InputStream in = conn.getInputStream();
OutputStream out = response.getOutputStream();
byte buffer[] = new byte[1024];
int len;
startTime = System.currentTimeMillis();
while ((len = in.read(buffer)) != -1)
out.write(buffer, 0, len);
out.close();
stopTime = System.currentTimeMillis(); |
Dit werkt echter NIET . Het verschil tussen de start en stop tijd is meestal 0 ms ...
Enkel bij grotere bestanden krijg ik een zinnige timing. De meeste bestanden zijn echter klein.
Lang leve buffering en zo, maar hier wil ik dus echt de tijd weten tussen het versturen van het eerste datapakket en het ontvangen van de laatste ACK .
Is dit wel mogelijk in Java? Zo ja, hoe?