Dokumentation zu XStat V1.13 ============================ Programm und Dokumentation sind © Copyright 1992,1993 by Jürgen Weinelt. IMPORT StdDisclaimer; (* kurz: Benutzung auf eigene Gefahr *) XStat wurde sorgfältig getestet, aber es können natürlich trotzdem noch diverse Fehler 'drinnen sein. XStat V1.13 ist Freeware. Es darf auf nicht-kommerziellem Weg weitergegeben werden, solange die folgenden Bedingungen erfüllt sind: * Quelltext, ausführbares Programm und Dokumentation müssen zusammen weitergegeben werden (XStat.mod, XStat, XStat.data, XStat.doc, XStat.dok und Make). Die Dateien müssen unverändert weitergegeben werden! Sie dürfen das Archiv nicht ändern (insbesondere auch keine Dateien hinzufügen). * Dieses Programm darf auf PD/FreeWare-CDs vertrieben werden unter der Voraussetzung, daß ich bei Bestellung der betrefffenden CD einen einmaligen Preisnachlaß von mindestens 50% des Verkaufspreises eingeräumt bekomme. Ein Gratis-Exemplar wäre natürlich auch eine nette Geste... AUSNAHME: Fred Fish hat BEDINGUNGSLOS die Erlaubnis, dieses Programm in seine Softwarebibliothek aufzunehmen, egal ob auf Floppy Disk oder auf CD. XStat läuft nur mit AmigaOS V37 oder höher (das ist 2.04 oder höher). Zusammenfassung =============== XStat wertet das Xferstat-File aus, das bestimmte Varianten von UUCiCo erzeugen (getestet mit der SWB-Variante und wUUCP). Die wichtigste Information, die XStat liefert, sind die Telefonkosten für einen bestimmten Zeitraum. Installation ============ Kopieren Sie das Programm "XStat" an eine Stelle, die im Suchpfad enthalten ist, vorzugsweise nach UUBIN: Außerdem muß nur noch eine weitere Datei installiert werden; sie heißt "XStat.data", und sollte am besten nach UULIB: kopiert werden. XStat.data muß Ihren Gegebenheiten entsprechend angepaßt werden, um die Installation zu vervollständigen; editieren [Hi, PeterK ;-) ] Sie es entsprechend. XStat.data ========== XStat.data enthält die Informationen über die Verbindungskosten zu jedem Host, mit dem Sie eine Verbindung unterhalten, im folgenden Format: XStat.data Datei-Header: ------------------------ H XSTAT DATA Dieser Header muß am Anfang der ersten Zeile von XStat.data stehen. XStat.data Kommentarzeile: -------------------------- # beliebige Kommentare Kommentarzeilen dürfen überall in der XStat.data Datei eingefügt werden, außer natürlich vor dem Datei-Header! XStat.data Währungs-Kennzeichen: -------------------------------- S Gibt das Währungskennzeichen für Ihr Land an. Dieser Eintrag muß vor der ersten "N"-Zeile stehen. Es darf höchstens eine "S"-Zeile in der XStat.data Datei geben. Beispiele: # Währungskennzeichen für die U.S.A. S $ # Währungskennzeichen für Deutschland: S DM XStat.data Host-Namen-Info: --------------------------- N ... Die "N"-Zeile kennzeichnet den Beginn eines neuen Verbindungs-Datensatzes. Mindestens eine "C"-Zeile muß folgen! sollte der Name einer UUCP-Site sein, mit der Sie direkt verbunden sind, ohne irgendwelche Pfad- oder Domain-Informationen. Beispiele: # Mein eigener Newsfeed: N imart # Ein anderer Newsfeed: N cbmger Seit XStat V1.10 dürfen auch mehrere Namen in einer N-Zeile angegeben werden. Alle diese Hosts erhalten dieselbe Kosteninformation zugeordnet. Beispiel: # Mehrere Hosts in derselben Entfernungszone N cbmger brewak forge Seit XStat V1.11 dürfen mehrere N-Zeilen aufeinander folgen. Beispiel: # Mehrere Hosts in derselben Entfernungszone N cbmger N brewak forge N-Zeilen dürfen nicht länger als 100 Zeichen sein. Seit XStat V1.11 darf der reservierte Host-Name ".default." verwendet werden. Alle Connects, die nicht explizit einem Eintrag im XStat.data-File zugeordnet werden können, werden auf diesem "Universal-Account" abgerechnet. Seit XStat V1.12 darf der reservierte Host-Name ".illegal." verwendet werden. Alle Connects, bei denen im XferStat-File der Host-Name fehlt (leer ist), werden von XStat auf diesen Sammel-Account berechnet; die UUCiCos erzeugen solche Zeilen manchmal, wenn die Verbindung vorzeitig abgebrochen wurde. XStat.data Verbindungskosten-Info: ---------------------------------- C Teilt XStat mit, daß zwischen und eine Verbindung mit dem zugehörigen Host pro kostet. Die muß in Sekunden angegeben werden, der in der Währung, die Sie benutzen. Die erste "C"-Zeile muß als Anfangszeit "SU-00:00:00" haben! (Ausnahme siehe weiter unten bei LOCAL/IGNORE). Beispiel: N imart C SU-00:00:00 120 0.23 C MO-08:00:00 60 0.23 C MO-18:00:00 120 0.23 Von Sonntag, 0:00:00 bis Montag, 7:59:59 kostet eine Verbindung zwischen meinem Computer und dem von "imart" 23Pfg/120sec. Von Montag, 8:00:00 bis Montag, 17:59:59 kostet eine Verbindung zwischen meinem Computer und dem von "imart" 23Pfg/60sec. Bei diesem kurzen Beispiel würde eine Verbindung im Rest der Woche (von Montag 18:00:00 bis Samstag, 23:59:59) 23Pfg/120sec kosten. Seit Version 1.09 kann man auch folgende neue C-Zeilen benutzen: "C LOCAL" für Verbindungen, die keine Kosten verursachen (z.B. bei Verbindung über Null-Modem), und "C IGNORE" für Verbindungen, die überhaupt nicht berücksichtigt werden sollen. LOCAL und IGNORE müssen jeweils die einzigen C-Zeilen für einen Host sein (keine anderen Kosteninformationen sind erlaubt), und sie schließen sich außerdem gegenseitig aus. Beispiel: N imart C LOCAL Verbindung mit imart ist "LOCAL" und kostet nichts; nur die in/out-Bytes tauchen in der Statistik auf. Beispiel: N imart C IGNORE Verbindung mit imart taucht überhaupt nicht in der Statistik auf. Beispiel für eine komplette XStat.data Datei: --------------------------------------------- - schnipp - schnapp - schnipp - schnapp - schnipp - schnapp - schnipp - schnapp H XSTAT DATA #============================================================================== # XStat connection cost data file #============================================================================== # #------------------------------------------------------------------------------ # currency sign for Germany; S must come before first N #------------------------------------------------------------------------------ S DM # #------------------------------------------------------------------------------ # my own newsfeed, connection cost is 0.23/60sec (0.23/120sec night & weekend) #------------------------------------------------------------------------------ N imart N .illegal. C SU-00:00:00 120 0.23 C MO-08:00:00 60 0.23 C MO-18:00:00 120 0.23 C TU-08:00:00 60 0.23 C TU-18:00:00 120 0.23 C WE-08:00:00 60 0.23 C WE-18:00:00 120 0.23 C TH-08:00:00 60 0.23 C TH-18:00:00 120 0.23 C FR-08:00:00 60 0.23 C FR-18:00:00 120 0.23 # #------------------------------------------------------------------------------ # cbmger, brewak, forge, default: # connection cost is 0.23/21sec (0.23/42sec night & weekend) #------------------------------------------------------------------------------ N cbmger N brewak forge N .default. C SU-00:00:00 42 0.23 C MO-08:00:00 21 0.23 C MO-18:00:00 42 0.23 C TU-08:00:00 21 0.23 C TU-18:00:00 42 0.23 C WE-08:00:00 21 0.23 C WE-18:00:00 42 0.23 C TH-08:00:00 21 0.23 C TH-18:00:00 42 0.23 C FR-08:00:00 21 0.23 C FR-18:00:00 42 0.23 # #------------------------------------------------------------------------------ # bigbang, this is a local (e.g. null-modem) connection #------------------------------------------------------------------------------ N bigbang C LOCAL # #------------------------------------------------------------------------------ # walker, connects will be ignored #------------------------------------------------------------------------------ N walker C IGNORE # - schnipp - schnapp - schnipp - schnapp - schnipp - schnapp - schnipp - schnapp Aufruf ====== XStat [?] [DATA name] [FILE name] [V | VERBOSE] [FD | FROMDATE date] [TD | TODATE date] [NI | NOINCOM] [NO | NOOUTGO] [H | HOSTNAME name] [M | MONTH shortdate] [SE | STDERR] [P | PREVIOUS numdays] [L | LAST numdays] Alternative Syntax: XStat FILE/K,DATA/K,V=VERBOSE/S,M=MONTH/K,NI=NOINCOM/S,NO=NOOUTGO/S, Q=QUIET/S,H=HOSTNAME/K,FD=FROMDATE/K,TD=TODATE/K,SE=STDERR/S, P=PREVIOUS/N,L=LAST/N Sie können auch die Environment-Variable "XSTATARGS" benutzen, um Parameter an das Programm zu übergeben. Das ist besonders nützlich, wenn Sie XStat von der Workbench aus benutzen (XStat unterstützt die Workbench eigentlich nicht, daher hat es auch kein Icon). ? - Zeigt eine Hilfsmeldung an. DATA name --------- Gibt den Namen für die Verbindungskosten-Datei an. Die Voreinstellung für ist "UULIB:XStat.data". FILE name --------- Gibt den Namen für das Logfile an, das ausgewertet werden soll. Die Voreinstellung für ist "UUSPOOL:XferStat". V | VERBOSE ----------- Steuert den "verbose"-Modus. Wenn der "verbose"-Modus eingeschaltet ist, zeigt XStat zusätzlich eine kurze Statistik für jeden Connect an. Die Voreinstellung ist "aus". Geben Sie VERBOSE an, um den "verbose"- Modus einzuschalten. WARNUNG! Die VERBOSE-Option wird bald drastisch geändert werden, vermutlich bereits in der nächsten Programmversion. FD | FROMDATE date ------------------ Führt dazu, daß Connects, die vor dem angegebenen Datum stattgefunden haben, ignoriert werden. Voreinstellung für ist "01-JAN-78". Gültig sind alle normalen AmigaDOS Datumsangaben, insbesondere auch Angaben wie "TODAY" oder "YESTERDAY". XStat fügt intern eine Zeitangabe von "00:00:00" hinzu, die nicht manuell mit angegeben werden darf! Falls Sie die neue Workbench 2.1 benutzen, die im Moment nur eingetragenen Entwicklern zugänglich ist (sein sollte), und falls sie eine andere Sprache als Englisch eingestellt haben sollten, müssen Sie die Datumsangaben in dieser Sprache machen; für Deutsch also z.B. "HEUTE" anstatt "TODAY". Bitte beachten Sie die Warnungen unter "PREVIOUS" und "LAST"! TD | TODATE date ---------------- Führt dazu, daß Connects, die nach dem angegebenen Datum stattgefunden haben, ignoriert werden. Voreinstellung für sind das gerade gültige Datum und die gerade gültige Uhrzeit. Zulässig sind alle normalen AmigaDOS Datumsangaben, insbesondere auch Angaben wie "TODAY" oder "YESTERDAY". XStat fügt intern eine Zeitangabe von "23:59:59" hinzu, die nicht manuell mit angegeben werden darf! In Sachen 2.1/locale gilt das gleiche wie für FD. Bitte beachten Sie die Warnungen unter "PREVIOUS" und "LAST"! M | MONTH shortdate ------------------- Führt dazu, daß XStat die Parameter FD und TD ignoriert und statt dessen eine Statistik für den angegebenen Monat erzeugt. Der Monat muß im Format "MMM-JJ" angegeben werden, also ohne Tageszahl. Beispiel: "MONTH JUN-92" erzeugt eine Statistik für den Juni 1992. Bitte beachten Sie die Warnungen unter "PREVIOUS" und "LAST"! NI | NOINCOM ------------ Unterdrückt die Auswertung der eingehenden Anrufe; Voreinstellung ist "nicht unterdrücken". Geben Sie NI an, um die Verarbeitung eingehender Anrufe zu verhindern. Die Bedeutung dieses Schalters war vor 1.04 umgekehrt. NO | NOOUTGO ------------ Unterdrückt die Auswertung der ausgehenden Anrufe; Voreinstellung ist "nicht unterdrücken". Geben Sie NO an, um die Verarbeitung ausgehender Anrufe zu verhindern. Die Bedeutung dieses Schalters war vor 1.04 umgekehrt. Q | QUIET --------- Steuert den "quiet"-Modus. Unterdrückt die Ausgabe von weniger schweren Fehlermeldungen; Voreinstellung ist "nicht unterdrücken". Geben Sie QUIET an, um die Ausgabe weniger schwerer Fehlermeldungen zu verhindern. Der "quiet"-Modus ist besonders nützlich, um die "(ignoring this one)"- Meldungen für fehlgeschlagene Verbindungsversuche zu unterdrücken. H | HOSTNAME name ----------------- Veranlaßt XStat, nur Anrufe für den Host auszuwerten; Voreinstellung ist Auswertung aller Anrufe. Ab V1.06 darf für auch ein beliebiges AmigaDos-Suchmuster angegeben werden. Falls ein solches Muster angegeben wird, erstellt XStat außerdem für jeden Host, auf den das Muster paßt, eine eigene Statistik. Bei den Suchmustern wird nicht zwischen Groß- und Kleinschreibung unterschieden. Beispiel: XStat hostname (a|x)#? wertet nur Anrufe aus, bei denen der Host-Name mit "a" oder "x" beginnt. Erstellt eigene Statistiken für alle diese Hosts. SE | STDERR ----------- Veranlaßt XStat, alle Fehlermeldungen nach StdErr zu schicken, statt nach StdOut. Dann kann man nämlich die Statistiken mittels ">File" in eine Datei umleiten, ohne daß die Fehlermeldungen auch dorthin wandern; Voreinstellung ist "alles nach StdOut". Geben Sie STDERR an, um die Fehlermeldungen nach StdErr zu schicken. StdErr ist stets das Console-Fenster, von dem aus XStat gestartet wurde. Hinweis: Diese Option wurde nur mit der Commodore-eigenen AmigaShell getestet. Es müßte aber auch mit anderen Shells funktionieren. P | PREVIOUS numdays -------------------- Zeigt die Statistik für einen bestimmten Zeitraum an. Der Zeitraum ist von "FROMDATE" bis "FROMDATE+numdays". WARNUNGEN: (1) sowohl "MONTH" als auch "TODATE" werden ignoriert (2) "numdays" wird nicht überprüft, wenn Sie extrem hohe Werte angeben, können Sie einen internen Überlauf provozieren (3) Sie dürfen nicht gleichzeitig "PERIOD" und "LAST" angeben (4) "numdays"=1 zeigt die Statistic für "FROMDATE" und den darauffolgenden Tag an L | LAST numdays ---------------- Zeigt die Statistik für einen bestimmten Zeitraum an. Der Zeitraum ist von "TODATE-numdays" bis "TODATE". WARNUNGEN: (1) sowohl "MONTH" als auch "FROMDATE" werden ignoriert (2) "numdays" wird nicht überprüft, wenn Sie extrem hohe Werte angeben, können Sie einen internen Unterlauf provozieren (3) Sie dürfen nicht gleichzeitig "PERIOD" und "LAST" angeben (4) "numdays"=1 zeigt die Statistic für "TODATE" und den Tag davor an XStat's Ausgaben ================ Beispiel: > (am 08. August 93) XStat LAST 30 HOSTNAME #? > > XStat 1.13 > © Copyright 1992,1993 by Jürgen Weinelt > XStat is Freeware - read the docs for details. > > Connection statistics for outgoing calls to host "cbmger": > > xfer statistics from 09-Jul-93 00:32:27 to 08-Aug-93 00:32:27 > > connects 4 (0 of them were local) > online time 924 sec ( 231 sec/connect) > units 25 units ( 6.250 units/connect) > cost 5.75 DM ( 1.437 DM/connect) > > gross read 1309936 bytes ( 327484 bytes/connect) > gross send 37044 bytes ( 9261 bytes/connect) > net read 1266359 bytes ( 316590 bytes/connect) > net send 3329 bytes ( 833 bytes/connect) > > av. gross speed 1457 cps ( 1489 cps peak) > av. net speed 1374 cps ( 1414 cps peak) > av. gross cost 4.476 DM/MB > av. net cost 4.749 DM/MB > > > Connection statistics for outgoing calls to host "imart": > > xfer statistics from 09-Jul-93 00:32:27 to 08-Aug-93 00:32:27 > > connects 60 (0 of them were local) > online time 11936 sec ( 199 sec/connect) > units 133 units ( 2.217 units/connect) > cost 30.59 DM ( 0.510 DM/connect) > > gross read 6034293 bytes ( 100572 bytes/connect) > gross send 1064930 bytes ( 17749 bytes/connect) > net read 4735238 bytes ( 78921 bytes/connect) > net send 55204 bytes ( 921 bytes/connect) > > av. gross speed 594 cps ( 1768 cps peak) > av. net speed 401 cps ( 1321 cps peak) > av. gross cost 4.518 DM/MB > av. net cost 6.696 DM/MB > > > Connection statistics for incoming calls: > ----------------------------------------- > > xfer statistics from 09-Jul-93 00:32:27 to 08-Aug-93 00:32:27 > > no connects recorded. > > > Connection statistics for outgoing calls: > ----------------------------------------- > > xfer statistics from 09-Jul-93 00:32:27 to 08-Aug-93 00:32:27 > > connects 64 (0 of them were local) > ignored connects 0 > online time 12860 sec ( 201 sec/connect) > units 158 units ( 2.469 units/connect) > cost 36.34 DM ( 0.568 DM/connect) > > gross read 7344229 bytes ( 114754 bytes/connect) > gross send 1101974 bytes ( 17219 bytes/connect) > net read 6001597 bytes ( 93775 bytes/connect) > net send 58533 bytes ( 915 bytes/connect) > > av. gross speed 656 cps ( 1768 cps peak) > av. net speed 471 cps ( 1414 cps peak) > av. gross cost 4.512 DM/MB > av. net cost 6.288 DM/MB connects -------- Anzahl der ausgewerteten Verbindungen, und Anzahl der Verbindungen, die LOCAL (also kostenlos) waren (-> XStat.data "C LOCAL"). ignored connects ---------------- Anzahl der Verbindungen, die ignoriert wurden (-> XStat.data "C IGNORE"). online time ----------- Dauer der Online-Zeit insgesamt, und Durchschnitt pro Anruf. units ----- Verbrauchte Einheiten insgesamt, und Durchschnitt pro Anruf. cost ---- Gesamtkosten, und Durchschnitt pro Anruf. gross read ---------- Empfangene Bytes gesamt (einschl. Protokolldaten), und Durchschnitt pro Anruf. gross send ---------- Gesendete Bytes gesamt (einschl. Protokolldaten), und Durchschnitt pro Anruf. net read -------- Empfangene Bytes gesamt (ohne Protokolldaten), und Durchschnitt pro Anruf. net send -------- Gesendete Bytes gesamt (ohne Protokolldaten), und Durchschnitt pro Anruf. av. gross speed --------------- Durchschnittliche Übertragungsgeschwindigkeit, einschl. Protokolldaten, sowie Geschwindigkeit des schnellsten connects. av. net speed ------------- Durchschnittliche Übertragungsgeschwindigkeit, ohne Protokolldaten, sowie Geschwindigkeit des schnellsten connects. av. gross cost -------------- Durchschnittliche Kosten pro MByte, einschließlich Protokolldaten. av. net cost ------------ Durchschnittliche Kosten pro MByte, ohne Protokolldaten. History ======= V1.13 "PERIOD" und "LAST" eingeführt Datumszeile zu den Ausgaben hinzugefügt V1.12 Reservierter Hostname ".illegal." eingeführt Potentieller Fehler im XferStat Parsing behoben V1.11 XStat.data N-Zeilen-Syntax erweitert: es dürfen mehrere N-Zeilen aufeinander folgen, und es darf ein ".default."-Hostname verwendet werden. Kleiner Fehler in der EOF-Behandlung des Xferstat-Parsers behoben. V1.10 XStat.data N-Zeilen-Syntax erweitert: mehrere Namen pro Zeile erlaubt. Kleiner Fehler im NI/NO-Feature behoben. V1.09 XStat.data-Syntax um LOCAL und IGNORE erweitert. V1.08 Option "STDERR" hinzugefügt. "ø" durch "av." ersetzt. V1.07 Die Liste der Statistics-Records wurde nicht korrekt sortiert. Behoben. V1.06 Die "HOSTNAME" Option versteht jetzt auch Suchmuster. Die "pro Host" Statistiken wurden in die "HOSTNAME" Option integriert. V1.05 Statistiken "pro Host" hinzugefügt. V1.04 Einen Fehler behoben (Problem mit 2.1 locale) und Argumenten- Parsing auf dos.library "ReadArgs()" umgestellt V1.03 Monatliche Statistiken hinzugefügt. V1.02 Angabe der Spitzengeschwindigkeit (Geschw. des schnellsten connects) hinzugefügt. V1.01 XStat produzierte einen Guru, wenn brutto oder netto nur 0 Bytes übertragen wurden. Behoben. V1.00 Erst-Veröffentlichung :-) V0.9x diverse Betas Bekannte Probleme/Bugs ====================== Die MONTH Option kann unter gewissen Umständen fehlerhafte Ergebnisse liefern. Dies ist KEIN Bug von XStat. Die Funktion der dos.library zur Datumskonvertierung ist unzuverlässig. C= wird diesen Fehler in der Release-Version der "nach 3.0"-Kickstart beheben. Die "online time" ist nicht besonders genau. Das kommt daher, daß die Anfangszeit der Verbindung anscheinend ab dem Zeitpunkt gerechnet wird, zu dem das Modem "CONNECT" sagt, und das ist nicht der wirkliche Start-Zeitpunkt der (Telefon-)Verbindung. Wenn Sie Fragen haben, oder Fehler entdeckt haben... ==================================================== Sie können mich per eMail erreichen: jow@sun.rz.uni-wuerzburg.de (vorzugsweise) jow@hcast.adsp.sub.org jow@hcast.franken.de Oder mit der Bundespest (Rückporto bitte nicht vergessen!): Jürgen Weinelt Zur Kanzel 1 D-97762 Hammelburg Sie können auch nach alt.sys.amiga.uucp posten. Viel Spass! Danksagung ========== Die folgenden Leute haben mir mit diversen Anregungen und Bug-Reports sehr geholfen: Christian Balzer Kai Bolay Hartmut Goebel Michael-Wolfgang Hohmann Alfredo Jahn V Andrew Kopp Henning Schmiedehausen Kai "wusel" Siering Peter Simons Vielen Dank Euch allen.