From e21dcae9cb3ff8142c4556c764b48ad921907356 Mon Sep 17 00:00:00 2001 From: oetiker Date: Thu, 21 Jul 2005 06:45:09 +0000 Subject: [PATCH] added tstat git-svn-id: svn://svn.oetiker.ch/rrdtool/branches/1.2@656 a5681a0c-68f1-0310-ab6d-d61299d08faa --- website/rrdworld/index.wml | 1 + website/rrdworld/tstat.xml | 32 ++++++++++++++++++++++++++++++++ website/rrdworld/tstat_logo.png | Bin 0 -> 15366 bytes 3 files changed, 33 insertions(+) create mode 100644 website/rrdworld/tstat.xml create mode 100644 website/rrdworld/tstat_logo.png diff --git a/website/rrdworld/index.wml b/website/rrdworld/index.wml index 3f5fd095..de650053 100644 --- a/website/rrdworld/index.wml +++ b/website/rrdworld/index.wml @@ -28,6 +28,7 @@ while we wait for new material to arrive.

#include "serverstats.xml" #include "tinygraph.xml" #include "torrus.xml" +#include "tstat.xml"

Add your own tool to this list

diff --git a/website/rrdworld/tstat.xml b/website/rrdworld/tstat.xml new file mode 100644 index 00000000..8eb3ddec --- /dev/null +++ b/website/rrdworld/tstat.xml @@ -0,0 +1,32 @@ + + + Tstat + Marco Mellia + + Tstat provides information about classic + and novel performance indexes and statistical data + about Internet traffic. + It collects measurement indexes at both the + network (IP) layer and transport (TCP/UDP) layer. + Real time protocols (RTP/RTCP) are also analyzed, + allowing you to get statistical measurements on + VOIP traffic, for example. + Tstat analyzes either real-time captured packet +traces, +or previously recorded packet-level traces in various dump formats. + + + http://tstat.tlc.polito.it + 2005 6 + GPL + + + + http://tstat.tlc.polito.it/web.shtml + + mellia@mail.tlc.polito.it + + + diff --git a/website/rrdworld/tstat_logo.png b/website/rrdworld/tstat_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..e866b5996a32862ad2cf735087bd6aa6c89374ce GIT binary patch literal 15366 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 Vi|@FuL0->=l9g1Fs1Y*={2v(c<(mKi literal 0 HcmV?d00001 -- 2.30.2