Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Reader für Apache-Logfiles 0.9 beta (https://www.delphipraxis.net/144950-reader-fuer-apache-logfiles-0-9-beta.html)

RWarnecke 22. Dez 2009 12:21

Re: Reader für Apache-Logfiles 0.5 beta
 
Zitat:

Zitat von Matze
@Rolf: Danke für das Feedback.
Wie meinst du das mit der Filterung nach mehreren Spalten?

Wenn ich zum Beispiel wissen will, wie oft eine Datei heruntergeladen wurde. Dann suche ich nach der Datei und dem Status 200. Eine andere Variante wäre, wenn ich Seiten von der URL her umstelle, wie oft welche noch auf die alte Seite zugreifen.
Zitat:

Zitat von Matze
Und Logfiles mit über 1.000.000 Einträgen habe ich nicht. Das Maximum bei mir sind 137.000 Zeilen und auch da ist die Suche auch etwas träge. Ob man das groß beschleunigen kann, weiß ich nicht. Ich gucke mal, ob sich was machen lässt bzw. was im Programm so lange benötigt.

@Daniel G: Es liegt nicht an der ListView. ;)

Benutzt Du die einfache ListView oder die Virtual ListView ? Wenn ich die Virtual ListView richtig verstanden habe, dann arbeiten die etwas anderst als die normale ListView. Bei der Virtual ListView spielt sich mehr im Speicher ab, sofern ich das verstanden habe. Wenn das so ist, dann bin ich der Meinung, dass Du damit besser fährst.

Matze 22. Dez 2009 13:04

Re: Reader für Apache-Logfiles 0.5 beta
 
Zitat:

Zitat von RWarnecke
Wenn ich zum Beispiel wissen will, wie oft eine Datei heruntergeladen wurde. Dann suche ich nach der Datei und dem Status 200. Eine andere Variante wäre, wenn ich Seiten von der URL her umstelle, wie oft welche noch auf die alte Seite zugreifen.

Da kannst du doch dann einfach nach der alten Domain suchen, oder nicht?

Zitat:

Zitat von RWarnecke
Benutzt Du die einfache ListView oder die Virtual ListView ? Wenn ich die Virtual ListView richtig verstanden habe, dann arbeiten die etwas anderst als die normale ListView. Bei der Virtual ListView spielt sich mehr im Speicher ab, sofern ich das verstanden habe. Wenn das so ist, dann bin ich der Meinung, dass Du damit besser fährst.

Jupp, das nutze ich bereits. Die ListView zeigt nur das an, was auch tatsächlich sichtbar ist.

Wärst du so nett und könntest dir bitte mal die Debug-Version aus dem 1. Beitrag herunterladen?
Damit kannst du dann das große Logfile einlesen, einen Suchvorgang starten und dann so lange warten, bis das Suchergebnis erscheint. Anschließend auf den Button "Save Debug ..." klicken und mir die Textdatei zukommen lassen. ;)
Dann bekomme ich eine Vorstellung, in welcher Größenordnung die ganzen Zeiten bei dir liegen. Ich hoffe, die Debug-Version funktioniert.

RWarnecke 22. Dez 2009 13:20

Re: Reader für Apache-Logfiles 0.5 beta
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Matze
Zitat:

Zitat von RWarnecke
Wenn ich zum Beispiel wissen will, wie oft eine Datei heruntergeladen wurde. Dann suche ich nach der Datei und dem Status 200. Eine andere Variante wäre, wenn ich Seiten von der URL her umstelle, wie oft welche noch auf die alte Seite zugreifen.

Da kannst du doch dann einfach nach der alten Domain suchen, oder nicht?

Das mit der Domain war vielleicht ein schlechtes Beispiel. Aber für die Downloads wäre es nicht schlecht.

Zitat:

Zitat von Matze
Zitat:

Zitat von RWarnecke
Benutzt Du die einfache ListView oder die Virtual ListView ? Wenn ich die Virtual ListView richtig verstanden habe, dann arbeiten die etwas anderst als die normale ListView. Bei der Virtual ListView spielt sich mehr im Speicher ab, sofern ich das verstanden habe. Wenn das so ist, dann bin ich der Meinung, dass Du damit besser fährst.

Jupp, das nutze ich bereits. Die ListView zeigt nur das an, was auch tatsächlich sichtbar ist.

Wärst du so nett und könntest dir bitte mal die Debug-Version aus dem 1. Beitrag herunterladen?
Damit kannst du dann das große Logfile einlesen, einen Suchvorgang starten und dann so lange warten, bis das Suchergebnis erscheint. Anschließend auf den Button "Save Debug ..." klicken und mir die Textdatei zukommen lassen. ;)
Dann bekomme ich eine Vorstellung, in welcher Größenordnung die ganzen Zeiten bei dir liegen. Ich hoffe, die Debug-Version funktioniert.

[/quote]Werde wir gleich wissen.

Edit : Im Anhang das Debug-Log. Die Apache LOG-Datei hat etwas über 1,1 Mio. Einträge

Matze 25. Dez 2009 11:28

Re: Reader für Apache-Logfiles 0.5 beta
 
Hallo Rolf,

dankeschön. Ich habe nun mit Interfaces experimentiert (Danke @Frederic). Theoretisch müsste die Suche nun schneller sein, wenn man nicht alle Kategorien in die Suche miteinbezieht. Also wenn man beispielsweise nur nach "Referer" und "IP" sucht. Standardmäßig sind daher auch nicht mehr alle Kategorien ausgewählt. Faul wie der Mensch ist, würde er sonst meist alle ausgewählt lassen und das geht natürlich zu Lasten der Suchzeit. ;)
Ich habe eine neue Debug-Version im ersten Beitrag angehängt. Wenn du Zeit und Lust hast, kannst du gerne mal schauen, ob du eine Performance-Steigerung feststellst.
Ich glaube jedoch, dass die Stringvergleiche die meiste Zeit in Anspruch nehmen und muss mal gucken, ob ich das irgendwie schneller machen kann.

An einer neuen Sucheingabe, die Eingaben wie "ref=google ua=ie" unterstützt, arbeite ich gerade. Im Beispiel soll der Referer nach "google" durchsucht werden und der UserAgent nach "ie". Ich hoffe das ist das, was du gemeint hast.

Grüße, Matze

RWarnecke 25. Dez 2009 12:14

Re: Reader für Apache-Logfiles 0.5 beta
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Matze,

im Anhang das neue Debug-File. Einige Werte haben sich verbessert und andere sind schlechter geworden. Die gefühlte Zeit hat sich allerdings nicht geändert. Gesucht habe ich wieder in dem gleichen File und mit den gleichen Optionen, damit hast Du auf jedenfall eine Referenz.

Micha88 25. Dez 2009 12:27

Re: Reader für Apache-Logfiles 0.5 beta
 
Kleine Verbesserung:

Wenn noch kein File geladen wurde, würde ich die Anklickbaren Controls Disablen.

Ab und an bekomm ich eine Exception bei der Suche.
Wann genau, keine Ahnung. Konnte sie bisher nicht rekonstruieren.

Aja, in welcher Sprache ist das geschrieben?
Aber nicht Delphi, oder ?

Matze 25. Dez 2009 14:43

Re: Reader für Apache-Logfiles 0.5 beta
 
Version 0.6 beta

Hallo,

@Rolf: Super, danke. Mal sehen, wie ich das weiter optimieren kann (in der 0.6 beta ist das noch unverändert). Das ist gar nicht so einfach.
@Michael: Deinen Vorschlag habe ich umgesetzt und eine neue Version hochgeladen, bei der zusätzlich die Suche überarbeitet wurde. Ich konnte dabei keine AV erzeugen (Sprache ist C#).

Die 0.6 beta bietet nun die Möglichkeit, auch über das Eingabefeld die Kategorien einem einzelnen Suchbegriff zuzuweisen. Die Kategoriekurznamen sind momentan grau hinter die CheckBoxen geschrieben.

Es gibt nun folgende Suchmöglichkeiten:

Suchstring: google ie
Alle angehakten Kategorien werden nach den Begriffen "google" und "ie" durchsucht. Sind beide Begriffe enthalten, handelt es sich um einen Treffer.

Suchstring: google -ie
Alle angehakten Kategorien werden nach den Begriffen "google" und "ie" durchsucht. Ist "google" enthalten und "ie" nicht, handelt es sich um einen Treffer.

Suchstring: google "ie browser"
Alle angehakten Kategorien werden nach den Begriffen "google" und "ie browser" durchsucht. Ist "google" enthalten und "ie browser" (in genau dieser Kombination) ebenfalls, handelt es sich um einen Treffer.

Suchstring: ref=google
Unabhängig davon, welche Kategorien gewählt sind, wird die Kategorie "Referer" nach "google" durchsucht. Wird es gefunden, handelt es sich um einen Treffer.

Suchstring: ref=google ua=-gecko
Unabhängig davon, welche Kategorien gewählt sind, wird die Kategorie "Referer" nach "google" durchsucht und "User Agent" nach "gecko". Ist "google" in "Referer" enthalten und "gecko" nicht im "User Agent", handelt es sich um einen Treffer.


Die Möglichkeiten lassen sich beliebig kombinieren. Wie buggy das Ganze ist, kann ich an dieser Stelle noch nicht sagen. :stupid:

Matze 26. Dez 2009 13:29

Re: Reader für Apache-Logfiles 0.8 beta
 
Version 0.8 beta

Ich habe nun versucht, die Einlesezeit noch etwas zu verkürzen und verzichte weitestgehend auf String-Suchfunktionen. Deutliche Performancesteigerungen bekomme ich jedoch nicht hin. Entweder übersehe ich etwas oder .NET stößt hier an seine Grenzen. :gruebel:

Matze 26. Dez 2009 19:18

Re: Reader für Apache-Logfiles 0.8 beta
 
Version 0.9 beta

Sodele, ich habe nun so eine Art wuppdi-power® eingebaut. :mrgreen:

Sowohl das Einlesen als auch das Suchen sollte nun schneller gehen. Der Debug-Modus ist standardmäßig deaktiviert, damit man das ganze ohne Zeitmessung (und somit performanter) testen kann.
Zusätzlich werden die Einträge je nach Statuscode mit einem Icon versehen (404-Fehler beispielsweise rot). Dann sieht man auf den ersten Blick, wo kritische Fehler aufgetreten sind.

@Rolf: Wenn du nochmal so lieb wärst und mir sagen kannst, ob es auch bei dir gefühlsmäßig schneller geworden ist.
@alle anderen: Ihr könnte auch gerne testen!

PS: Was kommt eigentlich nach der 0.9 beta? Die 0.10 beta oder 1.0 beta? Aber 1.0 ist eigentlich keine Beta-Version mehr. :gruebel: (Nein Larsi, eine Versionierung wie "0.1 Alpha 27" mache ich nicht. :stupid: )

Grüße, Matze

RWarnecke 27. Dez 2009 08:42

Re: Reader für Apache-Logfiles 0.9 beta
 
Hallo Matze,

jetzt ist gefühlsmäßig auf jedenfall eine Steigerung drin. Nur was ich nicht ganz verstehe ist, dass Dein Programm beim Einlesen der Datei mir einmal ganz kurz "Keine Rückmeldung" angezeigt hat. Die Suche funktioniert auf einmal richtig schnell. Aber irgendwas musste dran geändert haben, da auf einmal doppelt soviele Ergebnisse erscheinen. Erst hatte ich so etwa um die 65.000 Ergebnisse und jetzt liege ich bei etwas über 140.000 Ergebnisse. Aber wenn es stimmt, bin ich damit zufrieden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:46 Uhr.
Seite 3 von 4     123 4      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz