[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   eMule Signatur (http://www.emule-web.de/board/emule-signatur/)
-   -   Online Signatur [13] [09.08.03] (http://www.emule-web.de/board/1483-online-signatur-13-09-08-a.html)

Anonymous 23. July 2003 17:55

Xman, na die gesamtlaufzeit von emule ist sicherlich gemeint

Xman 23. July 2003 18:09

renegade,
das dachte ich ja auch.. nur (ich weiß ja nicht was sie von was abzieht):

Angenommen Sig läuft 36 h. Esel läuft 4 h.

36 h - 4 h = 32 h (was sollte mir der Wert sagen ?)
oder 4 h - 36 h = negativ, also damit kann ich noch weniger anfangen ;-)

genau darum steh ich ja auf dem Schlauch ;-)

Anonymous 23. July 2003 20:03

also ich denk es ist so: sobald die laufzeit vom emule größer der ist der online-sig, wird die differenz abgezogen, so daß nun die laufzeit der sig angezeigt wird, und nicht die gesamtzeit von emule.
bisher war es ja so.
emule lief 48 stunden. nun hast du die sig geschlossen und wieder gestartet. die sig schreibt nun sämtliche werte neu, seit wiederbeginn der sig also.(session-dl z.b. fängt wieder bei 0 an. die zeit allerdings wurde von emule übernommen und nicht zurückgesetzt. es stehen also 48 stunden laufzeit da, aber die anderen werte für diese 48 stunden fehlen. und genau diese 48 stunden werden nun abgezogen.
beispiel:
es sind 49 stunden vergangen seit emule-start, die sig läuft erst 1 stunde. somit werden die 48 stunden unterschied von den 49 stunden gesamtlaufzeit abgezogen. deinen angezeigte zeit und alle anderen werte stimmen somit wieder überein.
bei meiner momentanen sig stimmt das noch nicht. ich habe ja nach 29 stunden versehentlich die sig geschlossen. zwar gleich wieder gestartet, aber die dl/ul-werte dieser 29 stunden fehlen mir, da alles wieder bei 0 anfing, aber die komplette zeit der session angezeigt wird, und nicht die seit sig-start. bei der neuen version würde dann da nicht 3 tage 9 stunden stehen, sondern 29 stunden weniger, also 2 tage 4 stunden.
hoffe doch das war einigermaßen verständlich.

Blacklotus 23. July 2003 20:05

OK mom ich suche mal alles zusammen und erkläre dan genau wie ich es mache ;)

Anonymous 23. July 2003 20:07

Blacklotus, hab ich es falsch erklärt? :shock:

Xman 23. July 2003 20:31

Zitat:

Zitat von renegade
also ich denk es ist so: sobald die laufzeit vom emule größer der ist der online-sig, wird die differenz abgezogen, so daß nun die laufzeit der sig angezeigt wird, und nicht die gesamtzeit von emule.
bisher war es ja so.
hoffe doch das war einigermaßen verständlich.

es wird immer die Gesamtzeit des Esels angezeigt.

Mit dem Rest der Erklärung liegste richtig. Da hatte ich auch kein Verstädnisproblem. Allerdings ging es nicht darum, wenn der Esel länger rennt, sondern wenn die Sig länger an ist ;-)


Aber ich glaub Blacklotus erklärt uns das besser ;-)


//Edit: glaub auch beim Rest liegste falsch. Meine Sig läuft genau halb solang wie der Esel.

Blacklotus 23. July 2003 21:15

So erst mal die Werte die mir 100% genau zur Verfügung stehen:

Der gesamt Traffic von eMule:
i_TotalDownload := Strtoint64(Ini.Readstring('Statistics','TotalDownl oadedBytes','0'));
i_TotalUpload := Strtoint64(Ini.Readstring('Statistics','TotalUploa dedBytes','0'));


und

Die Windowslaufzeit:
SessionStartTime := Gettickcount;


So wie berechnet sich nun der Session Traffic:
einfach der momentane geamt traffic - den vom Start der OnlineSig;

g_emule_sdload := i_TotalDownload - Download_start;
g_emule_suload := i_TotalUpload - Upload_start;


So wie wurde nun mit Hilfe des Charts der DurchschnittsSpeed berechnet:

einfach der aktuelle wert + alle Chartwerte durch die anzahl der chart werte + 1

temp := Round(StrtoFloat(g_emule_dload));
for i := 0 to chart.VAC-1 do
temp := temp + chart.DL_Values[i];
g_eMule_dload_average := Inttostr(temp div (chart.VAC+1));

temp := Round(StrtoFloat(g_emule_uload));
for i := 0 to chart.VAC-1 do
temp := temp + chart.UL_Values[i];
g_eMule_uload_average := Inttostr(temp div (chart.VAC+1));


Nun der neue DurchschnittsSpeed von Xman:

aktuelle Windowslaufzeit - Windowslaufzeit zum start der onlinesig = Laufzeit der OnlineSig.

sectemp := (Gettickcount - SessionStartTime) div 1000;

Dann noch ein kleiner Test weil windof nach 49,7 Tagen wieder von vorne mit zählen anfängt. und durch 0 teilen kommt auch immer blöd.

if sectemp < 0 then begin
GetspecialData(true,false);
exit;
end else
if sectemp = 0 then
sectemp := 1;

Nun einfach den Sessiontraffic durch die entsprechende Laufzeit
DLaverage := FloatToStrF((g_emule_sdload /1024) / sectemp,fffixed,10,1);
ULaverage := FloatToStrF((g_emule_suload /1024) / sectemp,fffixed,10,1);

fertig

Nun noch was beim reset passiert:

Die Werte werden neu ausgelesen und die Startwerte werden neu gesetzt.

if ResetSession then begin
Download_start :=i_TotalDownload;
Upload_start := i_TotalUpload;

Das selbe auch für WindowsZeit und Chart Count Anzeige.

SessionStartTime := Gettickcount;
chart.VAC := 0;
end;

VAC beduetet Values analysed count also nichts falsches denken ;)

Ich hoffe es ist nun alles klar :)


P.S. Ja es ginge auch anders aber anders ist es
1. Nicht so schnell wie das und
2. Nicht so genau wie da.

Xman 23. July 2003 22:16

ohoh... wenn ich mir allein schon die ersten Zeilen anseh kommen mir schon hunderte Fragen :mrgreen:
Blacklotus, ich glaub ich werde Dich nacher etwas löchern müssen. Aber erst mal alles in Ruhe durchüberlegen. Zudem bin ich grad mit Bugposting im offiziellen Forum beschäftigt ;-)

Blacklotus 23. July 2003 22:29

Zitat:

Zitat von Xman
Zudem bin ich grad mit Bugposting im offiziellen Forum beschäftigt ;-)

Ich hoffe das bezieht sich auf eMule ;)

Xman 23. July 2003 22:37

Blacklotus,
*lach*, na klar.

Also nachdem ich mir das auf der Zunge zergehen hab lassen ist die einzige Unklarheit in den ersten Zeilen geblieben. Und zwar:

g_emule_sdload := i_TotalDownload - Download_start;
g_emule_suload := i_TotalUpload - Upload_start;

Welchen Wert repräsentiert denn i_TotalDownload ? Den Download in dieser Esel-Session ? Falls ja, kommen mir da nämlich so einige Gedanken.

Übrigens haste das grad super übersichtlich dargestellt. Besser machen und erklären hätte man es nicht können.

Xman 23. July 2003 22:48

stop.. ich zieh die Frage zurück. Du kannst ja nur die gesamt geladene Menge auslesen.

Blacklotus 23. July 2003 22:51

Xman, Ist ganz einfach:

i_TotalDownload = Ist der momentane gesamt Download von eMule (z.B. 8 MB)
i_TotalUpload = Ist der momentane gesamt Upload von eMule (z.B. 7 MB)

Download_start und Upload_start = sind auch die gesamt Werte des Down\Uploads nur eben vom Start der OnlineSig bzw dem letzten Reset.
aloso z.B.
Download_start = 2 MB
Upload_start = 1 MB

dann bekommen wir mit

g_emule_sdload := i_TotalDownload(8MB) - Download_start(2MB);
g_emule_suload := i_TotalUpload(7MB) - Upload_start(1MB);


den traffic dieser Session.
g_emule_sdload = 6MB
g_emule_suload = 6MB

Blacklotus 23. July 2003 22:53

Naja war schon dabei ;)


richtig das ist es ja, sonst könnte man sich das sparen ;)

Xman 23. July 2003 22:58

Ich gibs ja nur ungern zu.. aber: ich habs inzwischen wirklich gecheckt ;-)
Muß außerdem auch noch zugeben: mir fällt nix ein was man besser machen kann :mrgreen:

Zitat:

Zitat von Xman
Wäre es nicht das einfachste gewesen, einfach mit dem Reset die Zeit der Onlinesig zurückzusetzen ?

Das war das was das Mißverständnis aufkommen lies.
Zitat:

Zitat von Blacklotus
Nun noch was beim reset passiert:
SessionStartTime := Gettickcount;

Das ist ja genau dieses zurücksetzen.

Wie gesagt, alle Unklarheiten beseitigt. Hab Dir vielen Dank für die Erklärungen. Bist super!

Blacklotus 23. July 2003 23:02

danke danke :oops:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:54 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102