Von:
An:
Betreff:
Re: VPN vs. Netz
Klicken sie auf ein Symbol um es in die Nachricht einzusetzen:
Text Optionen:
<pre> Text </pre>
<verbatim> Text </verbatim>
[img] Text [/img]
<nofooter>
[quote] --from Newsreader at Montag, 24. Januar 2011; 10:11:54-- >> >>Du kannst z.B. mal das Artikelstammformular per SET COVERAGE seine >> performance im einzelnen loggen lassen<< >> >> Vielen Dank für den Tip. Werde ich versuchen. Ich erstelle gerade diese >> Maske neu, hoffe das bringt mich auch weiter. >Wenn Du mit CA arbeitest, ist IMHO die bequemste Art, derartige Sachen >zu finden, ein Logging das in der CA Basisklasse alle Bulk-Kommunikation >zur Basistabelle mitscreibt. * Coverage an SET COVERAGE TO Datei ADDITIVE *Coverage aus SET COVERAGE TO Und das möglichst als Klammer um den Code, der die Daten holt. Du kannst aber durchaus auch alles bis Ende des Inits loggen lassen, alos im Load() oder im DE BeforeOpenTables() an und am Ende des Init() aus. Die erstellte Logdatei kann man per Coverage Profiler auswerten, sich da etwas besseres suchen oder einfach selbst die Rohdaten in einen Cursor ziehen: Create Cursor curCoverage (bExecTime B, cClass C(128), cMethod C(128), iLine I, cFile C(254), iStacklevel I) Set Point To '.' Append From coverage.log Type CSV Select * From curCoverage Order By iStacklevel, bExecTime Descending Stacklevel ist hilfreich, weil Coverage einen Datensatz pro Codezeile loggt, also auch für Aufrufe von Methoden. Rein nach Zeit absteigens sortiert findest Du als dicken Brummer dann u.U. einen Methodenaufruf, nicht die einzelne bremsende Zeile innerhalb der aufgerufenen Methode. Je exakter Du also das Logging bei den interessanten Codestellen an- und abschaltest, je einfacher dann, den Flachenhals zu finden. Interessant ist natürlich z.B. auch Select Sum(bExecTime), cFile, cMethod, iLine ... Group By cFile, cMethod, iLine Tschüß, Olaf. [/quote]