Dokumentation zu XStat V1.11 ============================ 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.11 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! * PD-Serien: Die Disketten, die XStat enthalten, dürfen in Deutschland nicht mehr als 8 DM kosten. Ansonsten darf der Preis, den Fred Fish für eine einzelne seiner AmigaLibDisks verlangt, nicht überschritten werden. 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). 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. 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. 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 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] 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. 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". 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. 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. 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. XStat's Ausgaben ================ Beispiel: > XStat 1.11 > © Copyright 1992,1993 by Jürgen Weinelt > > Connection statistics for outgoing calls to host "cbmger": > > connects 14 (0 of them were local) > online time 366 sec ( 27 sec/connect) > units 16 units ( 1.143 units/connect) > cost 3.68 DM ( 0.263 DM/connect) > > brutto read 81977 bytes ( 5856 bytes/connect) > brutto send 30380 bytes ( 2170 bytes/connect) > netto read 47451 bytes ( 3390 bytes/connect) > netto send 19489 bytes ( 1393 bytes/connect) > > av. brutto speed 306 cps ( 697 cps peak) > av. netto speed 182 cps ( 550 cps peak) > av. brutto cost 34.344 DM/MB > av. netto cost 57.645 DM/MB > > > Connection statistics for outgoing calls to host "imart": > > connects 61 (0 of them were local) > online time 12800 sec ( 210 sec/connect) > units 143 units ( 2.344 units/connect) > cost 32.89 DM ( 0.539 DM/connect) > > brutto read 11068422 bytes ( 181450 bytes/connect) > brutto send 1260468 bytes ( 20664 bytes/connect) > netto read 10120721 bytes ( 165914 bytes/connect) > netto send 175650 bytes ( 2880 bytes/connect) > > av. brutto speed 963 cps ( 1218 cps peak) > av. netto speed 804 cps ( 969 cps peak) > av. brutto cost 2.797 DM/MB > av. netto cost 3.349 DM/MB > > > Connection statistics for incoming calls: > ----------------------------------------- > > no connects recorded. > > > Connection statistics for outgoing calls: > ----------------------------------------- > > connects 75 (0 of them were local) > ignored connects 0 > online time 13166 sec ( 176 sec/connect) > units 159 units ( 2.120 units/connect) > cost 36.57 DM ( 0.488 DM/connect) > > brutto read 11150399 bytes ( 148672 bytes/connect) > brutto send 1290848 bytes ( 17212 bytes/connect) > netto read 10168172 bytes ( 135576 bytes/connect) > netto send 195139 bytes ( 2602 bytes/connect) > > av. brutto speed 944 cps ( 1218 cps peak) > av. netto speed 787 cps ( 969 cps peak) > av. brutto cost 3.082 DM/MB > av. netto cost 3.700 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. brutto read ----------- Empfangene Bytes gesamt (einschl. Protokolldaten), und Durchschnitt pro Anruf. brutto send ----------- Gesendete Bytes gesamt (einschl. Protokolldaten), und Durchschnitt pro Anruf. netto read ---------- Empfangene Bytes gesamt (ohne Protokolldaten), und Durchschnitt pro Anruf. netto send ---------- Gesendete Bytes gesamt (ohne Protokolldaten), und Durchschnitt pro Anruf. av. brutto speed ---------------- Durchschnittliche Übertragungsgeschwindigkeit, einschl. Protokolldaten, sowie Geschwindigkeit des schnellsten connects. av. netto speed --------------- Durchschnittliche Übertragungsgeschwindigkeit, ohne Protokolldaten, sowie Geschwindigkeit des schnellsten connects. av. brutto cost --------------- Durchschnittliche Kosten pro MByte, einschließlich Protokolldaten. av. netto cost -------------- Durchschnittliche Kosten pro MByte, ohne Protokolldaten. History ======= 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 ====================== Bis jetzt keine... Naja, ein Problem gibt's, aber das kann ich leider nicht ohne weiteres ändern. 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. Sie können mich durch das Usenet erreichen: jow@sun.rz.uni-wuerzburg.de (vorzugsweise) jow@hcast.adsp.sub.org jow@hcast.franken.de Oder mit der Bundespest (Rückporto bitte!): Jürgen Weinelt Zur Kanzel 1 D-8783 Hammelburg Sie können auch nach comp.sys.amiga.programmer oder alt.sys.amiga.uucp posten, ich werde diese Gruppen bis auf weiteres lesen. Viel Spass! Danksagung ========== Die folgenden Leute haben mir mit diversen Anregungen und Bug-Reports sehr geholfen: Christian Balzer Kai Bolay Michael-Wolfgang Hohmann Alfredo Jahn V Andrew Kopp Henning Schmiedehausen Kai "wusel" Siering Vielen Dank euch allen.