DE19640876A1 - Vorrichtung zur Protokolldatensammlung und -Analyse - Google Patents
Vorrichtung zur Protokolldatensammlung und -AnalyseInfo
- Publication number
- DE19640876A1 DE19640876A1 DE19640876A DE19640876A DE19640876A1 DE 19640876 A1 DE19640876 A1 DE 19640876A1 DE 19640876 A DE19640876 A DE 19640876A DE 19640876 A DE19640876 A DE 19640876A DE 19640876 A1 DE19640876 A1 DE 19640876A1
- Authority
- DE
- Germany
- Prior art keywords
- program
- log
- history
- log data
- diagram
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004590 computer program Methods 0.000 title abstract description 4
- 238000010586 diagram Methods 0.000 claims abstract description 86
- 238000013480 data collection Methods 0.000 claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 19
- 239000003086 colorant Substances 0.000 claims description 16
- 238000007405 data analysis Methods 0.000 claims description 13
- 238000013507 mapping Methods 0.000 claims description 12
- 238000013500 data storage Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 4
- 238000001514 detection method Methods 0.000 claims description 4
- 230000004044 response Effects 0.000 claims description 4
- 230000006870 function Effects 0.000 description 95
- 238000000034 method Methods 0.000 description 25
- 230000008569 process Effects 0.000 description 21
- 238000012545 processing Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013024 troubleshooting Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241000251468 Actinopterygii Species 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 229940036310 program Drugs 0.000 description 1
- NQLVQOSNDJXLKG-UHFFFAOYSA-N prosulfocarb Chemical compound CCCN(CCC)C(=O)SCC1=CC=CC=C1 NQLVQOSNDJXLKG-UHFFFAOYSA-N 0.000 description 1
- 238000001356 surgical procedure Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/323—Visualisation of programs or trace data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/865—Monitoring of software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Description
Die vorliegende Erfindung betrifft eine Vorrichtung zur
Protokolldatensammlung und -analyse, und genauer gesagt,
eine Vorrichtung, die Ausführungsverlaufsdaten, oder Proto
kolldaten, von Programmen zur seriellen oder parallelen
Datenverarbeitung sammelt und die gesammelten Protokolldaten
anzeigt, um die Leistung der Programme zu analysieren.
In den letzten Jahren haben sich Computerprogramme ein
hergehend mit dem Fortschritt von Hardwaretechnologien, die
die Hochgeschwindigkeitsdatenverarbeitung ermöglichen,
kontinuierlich erweitert, und sie haben ihre Komplexität
vergrößert. Diese Tendenz macht es Softwareingenieuren
schwer zu verstehen, wie ihre Programme tatsächlich laufen.
Für Fehlersuch- und Wartungszwecke verwenden die Ingenieure
oft ein Protokoll, das einen Ausführungsverlauf von Program
men aufzeichnet. Durch Sammeln der Protokollaufzeichnungen
und deren Anzeigen in richtiger Zeitfolge können sie das
Verhalten der Programme visuell verstehen.
Im Streben nach leistungsfähigeren Hilfen haben Soft
wareingenieure viele nützliche Fehlersuchwerkzeuge entwic
kelt, die die Programmaktivitäten in zeitlicher Reihenfolge
grafisch darstellen. Ein typisches Beispiel für solch ein
Visualisierungswerkzeug ist ein Programmfehlersuchsystem,
das in der japanischen offengelegten Patentveröffentlichung
Nr. Sho 61-262858 (1986) offenbart ist. Dieses Fehlersuch
system sammelt Daten von der Aufgabenausführungszeit, den
Aufgabenebenen, den Endstatusinformationen und dergleichen,
und sieht Zeitlagendiagramme vor, um den Ausführungsverlauf
von einer Vielzahl von Aufgaben mit Klassifizierung nach
Aufgabenebene darzustellen. Ein anderes Beispiel, die japa
nische offengelegte Patentveröffentlichung Nr. Hei 5-134903
(1993), offenbart einen Programmleistungsanalysierer, der
auch das dynamische Verhalten von Programmen in der Form von
Zeitlagendiagrammen darstellt, indem verschiedene Programm
operationen in separate Ereignistypen wie Aufgaben, Unter
brechungen und Systemaufrufe klassifiziert werden.
Jene Zeitlagendiagramme können zur Unterstützung des
Nutzers beim Verstehen von Gesamtbetriebsbedingungen von
Programmen dienlich sein, jedoch haben sie einige Probleme
wie folgt.
Erstens sind die oben beschriebenen herkömmlichen Dia
gramme auf Grund des Fehlens von Informationen bezüglich der
Entsprechung zwischen jedem Teil des Diagramms und jenem des
Quellkodes für den Nutzer nicht informativ genug, um einen
Quellkode des im Test befindlichen Programms aufzuspüren und
zu analysieren.
Zweitens verbrauchen die Protokolldaten zu viel Spei
cherraum. Einige Typen von Berechnungsjobs erfordern das
Anwenden paralleler Datenverarbeitungstechniken. Solche Jobs
sind im allgemeinen sehr lang, worauf die Motivation zurück
zuführen ist, die Parallelverarbeitung einzuführen. Selbst
wenn die Programme selbst nicht so übermäßig lang sind,
erzeugen sie, wie es bei Großprogrammen der Fall ist, eine
enorme Menge an Protokolldaten auf Grund ihrer iterativen
Operationen. Solche gewaltigen Programmdateien verschlingen
den Platz auf der Platte des Nutzers.
Drittens dauert es sehr lange, um ein Zeitlagendiagramm
zu erzeugen. Die gesammelten Protokolldaten werden erst in
einer Protokolldatei gespeichert, und die Protokolldatei
wird später zur Analyse herausgesucht. Diese Protokolldaten
analyse ist jedoch auf Grund des enormen Volumens des Gegen
standes ein sehr zeitaufwendiger Job.
Viertens ist die Qualität einer resultierenden Anzeige
für den Nutzer nicht zufriedenstellend. Nach der Protokoll
datenanalyse wird ihr Resultat an einem Bildschirm in der
Form eines Graphen oder eines Verlaufsdiagramms angezeigt,
wobei verschiedene Ereignisse in unterschiedlichen Farben
klassifiziert sind. Da jedoch der verwendbare Bildschirm
platz auf Grund der Größe einer Anzeigeeinheit begrenzt ist,
kann jedes Ereignis zu einem schmalen Band komprimiert
werden. Wenn die Nutzer versuchen, den gesamten Zeitbereich
des Programms in jenem begrenzten Raum anzuzeigen, werden
sie auf dem Bildschirm nichts als einige "Streifen" erschei
nen sehen. Besonders wenn das Interesse des Nutzers nicht
dem gesamten Bereich gilt, sondern sich auf einen kleinen
Teil des Programms konzentriert, wird ihnen das obige Dia
gramm nichts Sehenswertes bieten.
Schließlich sehen die herkömmlichen Diagramme nur ein
begrenztes Verfahren zum Klassifizieren von Ereignissen vor.
Die Nutzer sind nicht in der Lage, ihre eigenen Kriterien
für die Klassifizierung gemäß den tatsächlichen Programmope
rationen zu definieren, die während der Ausführung erfolgen
können.
Unter Berücksichtigung dessen ist es eine erste Aufgabe
der vorliegenden Erfindung, eine Vorrichtung zur Protokoll
datensammlung und -analyse vorzusehen, die die Teil-zu-Teil-Zuordnung
zwischen einem Quellprogramm und einem Verlaufs
diagramm, das die Programmoperationen angibt, nutzen kann.
Eine zweite Aufgabe der vorliegenden Erfindung ist es,
eine Vorrichtung zur Protokolldatensammlung und -analyse
vorzusehen, die es dem Nutzer gestattet, Protokolldaten
selektiv für eine gewünschte Sektion eines Quellprogramms zu
sammeln, um es nicht zuzulassen, daß die Protokolldatendatei
zu groß wird, und um die Analyse nicht zu zeitaufwendig
werden zu lassen.
Eine dritte Aufgabe der vorliegenden Erfindung ist es,
eine Vorrichtung zur Protokolldatensammlung und -analyse
vorzusehen, die es dem Nutzer ermöglicht, weitere Details
einer willkürlichen Sektion der Protokolldaten zu sehen,
indem ein relevanter Teil des Verlaufsdiagramms spezifiziert
wird.
Eine vierte Aufgabe der vorliegenden Erfindung ist es,
eine Vorrichtung zur Protokolldatensammlung und -analyse
vorzusehen, die es dem Nutzer gestattet, Farbdefinitionen zu
verändern, wenn die gesammelten Protokolldaten in der Form
eines Verlaufsdiagramms angezeigt werden, das mit verschie
denen Farben gemäß den Typen von Programmoperationen klassi
fiziert ist.
Um die obigen Aufgaben zu erfüllen, ist gemäß der vor
liegenden Erfindung eine Vorrichtung zur Protokolldatensamm
lung und -analyse vorgesehen, die zum Analysieren des Ver
haltens eines Programms verwendet wird. Diese Vorrichtung
umfaßt ein Protokolldatensammelmittel, ein Protokolldaten
speichermittel, ein Protokolldatenanalysiermittel, ein
Diagrammerzeugungsmittel, ein Anzeigemittel und ein Zuord
nungsanalysiermittel.
Das Protokolldatensammelmittel sammelt Protokollauf
zeichnungen, während das Programm ausgeführt wird, wobei
jede Protokollaufzeichnung Informationen bezüglich eines
Operationstyps und der Ausführungszeit von jedem Teil des
Programms enthält. Das Protokolldatenspeichermittel spei
chert die Protokollaufzeichnungen, die durch das Protokoll
datensammelmittel gesammelt wurden. Nachdem die Programmaus
führung vollendet ist, sucht das Protokolldatenanalysiermit
tel die Protokollaufzeichnungen aus dem Protokolldatenspei
chermittel heraus und analysiert den Operationstyp und die
Ausführungszeit von jeder Protokollaufzeichnung. Das Dia
grammerzeugungsmittel erzeugt ein Verlaufsdiagramm, das die
analysierten Protokollaufzeichnungen in zeitlicher Reihen
folge sichtbar macht. Dieses Verlaufsdiagramm ist in eine
Vielzahl von Segmenten gegliedert, die die jeweiligen Proto
kollaufzeichnungen verkörpern, und das Anzeigemittel zeigt
das erzeugte Verlaufsdiagramm an einem Bildschirm an.
Als Reaktion auf eine Instruktion von einem Nutzer
führt das Zuordnungsanalysiermittel eine Analyse der
Teil-zu-Teil-Zuordnung zwischen dem angezeigten Verlaufsdiagramm
und einem Quellprogramm aus. Das Quellprogramm ist ein Satz
von Instruktionsanweisungen, von denen das Programm in
ausführbarer Form übersetzt wird. Das Zuordnungsanalysier
mittel versieht das Diagrammerzeugungsmittel und/oder das
Anzeigemittel mit der Teil-zu-Teil-Zuordnung, die durch die
Analyse geklärt ist.
Das Zuordnungsanalysiermittel, um genauer darauf ein
zugehen, akzeptiert die Bezeichnung einer Position am Bild
schirm durch den Nutzer, die auf dem Verlaufsdiagramm liegt,
und analysiert die Position am Bildschirm, um einen Funkti
onsnamen und eine Programmstelle in dem Quellprogramm zu
finden, die der Position am Bildschirm entsprechen. Das
Zuordnungsanalysiermittel weist dann das Anzeigemittel an,
den Funktionsnamen und die Programmstelle, die gefunden
wurden, anzuzeigen.
Des weiteren akzeptiert das Zuordnungsanalysiermittel
die Bezeichnung eines Funktionsnamens und dessen Stelle in
dem Quellprogramm, und es analysiert den Funktionsnamen und
die Stelle, um ein Segment des Verlaufsdiagramms zu finden,
welches denen entspricht. Schließlich weist das Zuordnungs
analysiermittel das Diagrammerzeugungsmittel an, das Ver
laufsdiagramm so zu reproduzieren, daß das Segment unter
scheidbar von dem anderen Teil des Verlaufsdiagramms ange
zeigt wird.
Die obigen und andere Aufgaben, Merkmale und Vorteile
der vorliegenden Erfindung gehen aus der folgenden Beschrei
bung in Verbindung mit den beiliegenden Zeichnungen hervor,
die eine bevorzugte Ausführungsform der vorliegenden Erfin
dung an einem Beispiel zeigen.
Fig. 1 ist eine Konzeptansicht einer Vorrichtung zur
Protokolldatensammlung und -analyse gemäß der vorliegenden
Erfindung;
Fig. 2 ist ein Diagramm, das die Datenstruktur einer
Protokolldatei zeigt;
Fig. 3 ist ein Diagramm, das ein Beispielhauptprogramm
zeigt, das eine Bibliotheksfunktion aufruft;
Fig. 4 ist ein Diagramm, das ein Beispielverlaufsdia
gramm zeigt;
Fig. 5 ist ein Flußdiagramm, das einen Prozeß zeigt, um
Informationen über ein Quellprogramm zu erhalten, die einem
spezifizierten Punkt in dem Verlaufsdiagramm entsprechen;
Fig. 6 ist ein Diagramm, das ein Verlaufsdiagramm
zeigt, wenn ein Funktionsname und eine Zeilennummer spezifi
ziert sind;
Fig. 7 ist ein Flußdiagramm, das einen Prozeß zeigt,
der durch einen Anzeigepositionsanalysierer auszuführen ist,
um Protokollaufzeichnungsinformationen auf der Basis einer
Stelle in einem Quellprogramm zu erhalten;
Fig. 8 ist ein Diagramm, das ein Beispiel eines Quell
programms zeigt, welches Instruktionen zum selektiven Spezi
fizieren einer Sektion enthält, die der Protokollsammlung
unterliegt;
Fig. 9 ist ein Diagramm, das ein Protokollanzeigefen
ster zeigt; und
Fig. 10(A) und 10(B) sind Diagramme, die jeweils ein
Beispielverlaufsdiagramm mit Ereignisklassifizierung zeigen.
Unter Bezugnahme auf die Zeichnungen wird unten eine
Ausführungsform der vorliegenden Erfindung beschrieben.
Um einen Überblick über die vorliegende Erfindung zu
geben, zeigt Fig. 1 eine Konzeptansicht einer Vorrichtung
zur Protokolldatensammlung und -analyse. An Basisstruktur
elementen zum Sammeln und Analysieren von Protokolldaten
umfaßt die Vorrichtung die folgenden Elemente:
- - ein Protokolldatensammelmittel 1 zum Sammeln von Pro tokollaufzeichnungen, während das Programm ausgeführt wird, welche Protokollaufzeichnungen Informationen hinsichtlich eines Operationstyps und der Ausfüh rungszeit von jedem Teil des Programms enthalten;
- - ein Protokolldatenspeichermittel 2 zum Speichern der Protokollaufzeichnungen, die durch das Protokoll datensammelmittel 1 gesammelt wurden;
- - ein Protokolldatenanalysiermittel 3 zum Heraussuchen der Protokollaufzeichnungen aus dem Protokolldaten speichermittel 2 und zum Analysieren des Operations typs und der Ausführungszeit von jeder Protokollauf zeichnung;
- - ein Diagrammerzeugungsmittel 4 zum Erzeugen eines Verlaufsdiagramms, das die analysierten Protokollauf zeichnungen in zeitlicher Reihenfolge sichtbar macht, welches Verlaufsdiagramm in eine Vielzahl von Segmen ten gegliedert ist, die die jeweiligen Protokollauf zeichnungen darstellen; und
- - ein Anzeigemittel 5 zum Anzeigen des Verlaufsdia gramms, das durch das Diagrammerzeugungsmittel 4 erzeugt wurde, an einem Bildschirm.
Zusätzlich zu den oben angegebenen Basisstrukturelemen
ten umfaßt die Vorrichtung mehrere Elemente, um ihr Vermögen
zur Protokolldatenanalyse zu verstärken, und zwar:
- - ein Bildschirmpositionsbezeichnungsmittel 6 zum Akzeptieren der Bezeichnung einer Bildschirmposition durch den Nutzer, die auf dem Verlaufsdiagramm liegt, das durch das Anzeigemittel 5 angezeigt wird;
- - ein Programmstellenanalysiermittel 7 zum Analysieren der Bildschirmposition, um einen Funktionsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Bildschirmposition entsprechen, und zum Anweisen des Anzeigemittels, um den Funktionsnamen und die Programmstelle, die gefunden wurden, anzuzei gen;
- - ein Funktionsbezeichnungsmittel 8 zum Akzeptieren der Bezeichnung eines Funktionsnamens und einer Stelle von ihm in dem Quellprogramm; und
- - ein Anzeigepositionsanalysiermittel 9 zum Analysieren des Funktionsnamens und der Stelle, um ein Segment des Verlaufsdiagramms zu finden, das ihnen ent spricht, und zum Anweisen des Diagrammerzeugungsmit tels, um das Verlaufsdiagramm so zu reproduzieren, daß das Segment unterscheidbar von dem anderen Teil des Verlaufsdiagramms angezeigt wird.
In der oben beschriebenen strukturellen Anordnung sam
melt das Protokolldatensammelmittel 1 Protokolldaten eines
Serien- oder Parallelverarbeitungsprogramms während dessen
Ausführung. Die gesammelten Protokolldaten sind ein Satz von
Protokollaufzeichnungen, wovon jede Informationen darüber
enthält, welche Art von Operation das Programm zu der abge
tasteten Zeit in dem Prozeß ausgeführt hat. Die Protokoll
aufzeichnungen werden in dem Protokolldatenspeichermittel 2
gespeichert. Nachdem die Programmausführung vollendet ist,
sucht das Protokolldatenanalysiermittel 3 die Protokollauf
zeichnungen aus dem Protokolldatenspeichermittel 2 heraus
und analysiert sie, wobei es die Typen von Programmoperatio
nen klassifiziert und ihre jeweilige Ausführungszeit berech
net. Das Diagrammerzeugungsmittel 4 schreibt das Resultat
der Analyse durch das Protokolldatenanalysiermittel 3 in
grafische Form oder ein Verlaufsdiagramm um und gibt es an
das Anzeigemittel 5 aus. Dieses Verlaufsdiagramm ist in eine
Vielzahl von Segmenten gegliedert, die die jeweiligen Proto
kollaufzeichnungen verkörpern.
Wenn der Nutzer auf ein gewisses Segment in dem Dia
gramm zeigt, das an dem Anzeigemittel 5 angezeigt wird,
erhält das Bildschirmpositionsbezeichnungsmittel 6 die
Koordinateninformationen von jenem Punkt. Das Programmstel
lenanalysiermittel 7 analysiert die erhaltenen Koordinaten
informationen, um einen entsprechenden Funktionsnamen und
dessen Stelle in dem Quellprogramm zu finden, und läßt diese
an einem Bildschirm des Anzeigemittels 5 anzeigen.
Wenn der Nutzer einen Funktionsnamen und dessen Stelle
in dem Quellprogramm unter Verwendung des Funktionsbezeich
nungsmittels 8 spezifiziert, berechnet das Anzeigepositi
onsanalysiermittel 9 ein entsprechendes Segment des Ver
laufsdiagramms auf der Basis des spezifizierten Funktions
namens und der Stelle. Die berechnete Segmentposition wird
dann dem Diagrammerzeugungsmittel 4 zugeführt, um eine
besondere Programmoperation, die in jenem Segment ausgeführt
wurde, unterscheidbar von den anderen in dem Verlaufsdia
gramm hervorzuheben.
Zusätzlich zu den oben beschriebenen Strukturelementen
umfaßt die Vorrichtung der vorliegenden Erfindung die fol
genden Elemente:
- - ein Protokollsammelsektionsdetektionsmittel 10 zum Detektieren von Protokollsammelsteuerinstruktionen, die in dem Quellprogramm eingebettet sind, zum Anwei sen des Protokolldatensammelmittels 1, um die Proto kollaufzeichnungen nur in einer Sektion zu sammeln, die durch die Protokollsammelsteuerinstruktionen bezeichnet ist;
- - ein Zoominstruktionsmittel 11 zum Zooming-in und Zooming-out des angezeigten Verlaufsdiagramms; und
- - ein Klassifizierungseinstellmittel 12 zum Definieren von Farben, die zur Klassifizierung der Programm operationen verwendet werden.
Der Nutzer setzt in das Quellprogramm im voraus Proto
kollsammelsteuerinstruktionen ein, um eine Protokollsammel
sektion zu spezifizieren. Wenn das Protokollsammelsektions
detektionsmittel 10 die Instruktionen während der Pro
grammausführung detektiert, sammelt das Protokolldatensam
melmittel 1 Protokollaufzeichnungen nur für die Sektion, die
durch die detektierten Instruktionen spezifiziert ist, und
speichert sie in dem Protokolldatenspeichermittel 2. Somit
kann der Nutzer genau das erhalten, was tatsächlich erfor
derlich ist, wie riesig sein Programm auch sein mag. Dies
verkürzt auch die Zeit für die Protokolldatenanalyse.
Bei Empfang einer Nutzerinstruktion, um die Zeitskale
des Verlaufsdiagramms zu expandieren oder zusammenzuschrump
fen, gibt das Zoominstruktionsmittel 11 diese an das Proto
kolldatenanalysiermittel 3 weiter. Das Protokolldatenanaly
siermittel 3 ändert dann die Zeitskale des Verlaufsdiagramms
gemäß der Instruktion ab.
Das Klassifizierungseinstellmittel 12 definiert und
modifiziert die Farben, die in dem Verlaufsdiagramm verwen
det werden, um die Programmoperationen zu klassifizieren, um
den Anforderungen des Nutzers zu entsprechen. Durch Einstel
len der Klassifizierungsfarben instruiert das Klassifizie
rungseinstellmittel 12 das Diagrammerzeugungsmittel 4
bezüglich dessen, ob die Programmoperationen nur grob oder
eher präzise zu klassifizieren sind.
Die folgende Beschreibung präsentiert eine spezifische
Ausführungsform der vorliegenden Erfindung.
Bevor die Vorrichtung der vorliegenden Erfindung ge
startet wird, sollte ein ausführbares Computerprogramm, oder
ein Objektprogramm, durch Kompilieren eines Quellprogramms,
das in einer Quellsprache geschrieben ist, vorbereitet
werden. Bei Compileroptionen kann das Objektprogramm einige
spezielle Instruktionen zum Aufrufen von Protokollsammel
funktionen enthalten, die das Protokollieren der Programm
operationen ausführen. Jene Aufrufinstruktionen werden durch
den Compiler zu Beginn und am Ende des Programmkörpers
eingefügt, und beim Antreten und Verlassen jeder Biblio
theksfunktion, wenn sie in dem Programm aufgerufen wird.
Ferner erstellt der Compiler, wenn das Programm kompiliert
wird, eine Querverweistabelle, die jede Funktion mit ent
sprechenden Zeilennummern in dem Quellprogramm und ihre
jeweiligen Adressen in dem Objektprogramm verbindet.
Während der Ausführung von solch einem Objektprogramm
und von Bibliotheksfunktionen werden die Protokollsammel
funktionen, die dem Protokolldatensammelmittel 1 in Fig. 1
entsprechen, durch das Programm zu Beginn und am Ende des
Programmkörpers und bei jedem Antreten und Verlassen der
Bibliotheksfunktionen aufgerufen. Wenn das Programm zu den
Protokollsammelfunktionen abzweigt, werden einige Adressen
informationen in einem Stapelbereich gesichert: die Adresse
der Aufrufinstruktion und die Adresse, die von den Funktio
nen zurückzusenden ist. Die Protokollsammelfunktionen sam
meln, wenn sie aufgerufen werden, eine Protokollaufzeichnung
und speichern sie in einer Protokolldatei, die dem Proto
kolldatenspeichermittel 2 in Fig. 1 entspricht.
Fig. 2 zeigt die Datenstruktur der Protokolldatei. Jede
Protokollaufzeichnung 20, die als Eintrag der Protokolldatei
gespeichert ist, ist in drei Felder gegliedert: ein Zeit
stempelinformationsfeld 21, ein Funktionsidentifikationsfeld
22 und ein Informationsfeld der aufrufenden Adresse 23. Das
Zeitstempelinformationsfeld 21 zeichnet die Zeit auf, wenn
der Prozeß jede Funktion antritt und verläßt, die in dem
Objektprogramm aufgerufen wird, welche Zeit ab der Startzeit
der Programmausführung gemessen wird. Das Funktionsidentifi
kationsfeld 22 enthält eine Nummer zum Identifizieren einer
Funktion, die durch das Objektprogramm aufgerufen wurde. Das
Informationsfeld der aufruf enden Adresse 23 enthält
"hauptsächlich" die Adresse, von der die Funktion aufgerufen
wird. Diese Adresse kann aus dem Stapel herausgesucht wer
den.
Der Grund dafür, daß "hauptsächlich" gesagt wird, liegt
darin, daß der Inhalt des Informationsfeldes der aufrufenden
Adresse 23 von dem Typ der Funktion abhängt, die aufgerufen
wird. Wenn eine Nutzerfunktion aufgerufen wird, gibt das
Informationsfeld der aufrufenden Adresse 23 die Stelle jener
Nutzerfunktion an. Wenn eine Bibliotheksfunktion direkt
durch das Objektprogramm aufgerufen wird, gibt das Informa
tionsfeld der aufrufenden Adresse 23 die Stelle jener Auf
rufinstruktion an. Wenn eine Bibliotheksfunktion durch eine
andere Bibliotheksfunktion aufgerufen wird (oder in ihr
verschachtelt ist), sollte ihr Verschachtelungsweg zurück
verfolgt werden, um die ursprüngliche Aufrufinstruktion in
dem Objektprogramm zu erreichen, und die Adresse der ur
sprünglichen Aufrufinstruktion wird in dem Informationsfeld
der aufrufenden Adresse 23 aufgezeichnet.
Die oben beschriebenen Protokollaufzeichnungen werden
während der Programmausführung gesammelt und schließlich zu
einem Protokollanalysierer gesendet, der dem Protokolldaten
analysiermittel 3 in Fig. 1 entspricht. Der Protokollanaly
sierer untersucht im Detail, wie das Programm im Verlauf der
Zeit ausgeführt wurde. Das Resultat der Analyse wird dann an
einen Diagrammerzeuger geleitet, der dem Diagrammerzeugungs
mittel 4 in Fig. 1 entspricht, um ein Verlaufsdiagramm zu
erzeugen, das die gesammelten Protokolldaten längs der
Zeitachse sichtbar macht. Das Verlaufsdiagramm wird an dem
Bildschirm einer Anzeigeeinheit erscheinen, die dem Anzeige
mittel 5 in Fig. 1 entspricht.
Die folgende Beschreibung konzentriert sich auf die An
zeige des Verlaufsdiagramms, wobei auf ein typisches Bei
spiel eines Quellprogramms und eines entsprechenden Objekt
programms und von Bibliotheksfunktionen Bezug genommen wird.
Fig. 3 zeigt solch ein Beispiel, bei dem das Hauptpro
gramm einen Bibliotheksfunktionsaufruf enthält. Ein Quell
programm 30, eine Funktion mit der Bezeichnung "TEST", ruft
eine Bibliotheksfunktion mit dem Namen "write" auf. Anwei
sungen in dem Quellprogramm 30 haben ihre jeweiligen Zeilen
nummern an ihrem Kopfabschnitt. Der Compiler übersetzt das
Quellprogramm 30 in ein Objektprogramm 31. Bei diesem Kompi
lierungsprozeß wird eine Compileroption verwendet, um das
Protokollsammeln zu Beginn und am Ende der Programmausfüh
rung vorzunehmen. Somit enthält das Objektprogramm 31 bei
dem vorliegenden Beispiel zwei Instruktionen, die Protokoll
sammelfunktionen "startlog()" und "endlog()" zu Beginn und
am Ende seines Körpers aufrufen. Das Objektprogramm 31 ruft
eine Bibliotheksfunktion 32 mit dem Namen "write()" auf, in
der ferner eine andere Bibliotheksfunktion 33 mit dem Namen
"write-sub()" verschachtelt ist.
Die Bibliotheksfunktion "write()" 32 ruft die Proto
kollsammelfunktionen "startlog()" und "endlog()" zu Beginn
und am Ende ihres Körpers oder beim Antreten und Verlassen
jener Routine auf. Die Bibliotheksfunktion "write-sub()" 33
ruft sie auch auf dieselbe Weise auf.
Die Ausführung des oben beschriebenen Programms und der
Funktionen wird in der folgenden Reihenfolge vorgenommen.
Der Prozeß startet mit dem Objektprogramm 31 und läuft für
einen Zeitraum "a" weiter, bis der Bibliotheksfunktionsauf
ruf "write()" erfolgt. Der Prozeß zweigt dann in die Biblio
theksfunktion "write()" 32 ab und läuft für einen Zeitraum
"b", bis der Bibliotheksfunktionsaufruf "write-sub()" er
folgt. Der nächste Zeitraum "c" ist für diese Bibliotheks
funktion "write-sub()" 33. Der Prozeß kehrt zu der Mitte der
Bibliotheksfunktion "write()" 32 zurück und führt den Rest
von ihr für einen Zeitraum "d" aus. Schließlich kehrt der
Prozeß zu der Mitte des Objektprogramms 31 zurück und läuft
für einen Zeitraum "e", um das Programm zu Ende zu führen.
Die jeweils in dem Objektprogramm 31, der Bibliotheks
funktion "write()" 32 und der Bibliotheksfunktion "write
sub ()" 33 aufgerufenen Protokollsammelfunktionen
"startlog()" und "endlog()" erzeugen Protokollaufzeichnungen
und speichern sie in einer Protokolldatei. Später wird die
Protokolldatei durch den Protokollanalysierer analysiert, um
die Programmoperationen und deren jeweilige Zeitlängen, wie
sie durch die Zeiträume "a" bis "e" angegeben sind, zu
klassifizieren. Die analysierten Protokolldaten werden durch
den Diagrammerzeuger in ein Verlaufsdiagramm konvertiert und
schließlich am Bildschirm der Anzeigeeinheit angezeigt, wie
unten beschrieben.
Fig. 4 zeigt ein Verlaufsdiagramm, das die Ausführungs
folge des Objektprogramms 31 und der Bibliotheksfunktionen
32 und 33 darstellt. Das Verlaufsdiagramm ist ein Graph mit
einem einzelnen Streifen, der aus mehreren Segmenten be
steht, die die oben beschriebenen Zeitperioden "a" bis "e"
darstellen, die in zeitlicher Reihenfolge angeordnet sind,
wobei die Länge von jedem Segment zu der Zeitlänge von jeder
Periode der Programmoperation proportional ist. Die Segmente
"a" und "e" in Fig. 4 zeigen die Funktion "TEST", die Seg
mente "b" und "d" die Bibliotheksfunktion "write()" 32, und
das Segment "c" zeigt die Bibliotheksfunktion "write-sub()"
33. Das Verlaufsdiagramm erscheint auf dem Anzeigebild
schirm, wobei die klassifizierten Segmente mit verschiedenen
Farben dargestellt sind, um die Programmoperationen vonein
ander zu unterscheiden. Die Farben können durch andere
Visualisierungstechniken wie Strukturmuster, die eine
Schraffierung enthalten, ersetzt werden, wie in Fig. 4
ersichtlich ist.
Eine einfache Zeige- und Klickoperation auf diesem Ver
laufsdiagramm versieht den Nutzer mit einer Quellprogramm
stelle von einer ihn interessierenden Funktion. Die folgende
Beschreibung wird diesem Merkmal der Vorrichtung gemäß der
vorliegenden Erfindung gewidmet.
Der Nutzer selektiert ein gewisses Segment in dem Ver
laufsdiagramm auf dem Bildschirm mit einer Zeigevorrichtung
wie z. B. einer Maus. Diese ist das in Fig. 1 erläuterte
Bildschirmpositionsbezeichnungsmittel 6. Ein Programmstel
lenfinder (d. h., das Programmstellenanalysiermittel 7 in
Fig. 1), der die durch den Nutzer spezifizierten Koordinaten
analysiert, sucht nach einer Funktion, die denen entspricht,
und deren Zeilennummer in dem Quellprogramm, von wo die
Funktion aufgerufen wurde. Der gefundene Funktionsname und
die Zeilennummer werden dann auf dem Anzeigebildschirm
dargestellt.
Wenn der Nutzer zum Beispiel auf das Segment "c" zeigen
würde, findet die Vorrichtung dessen Stelle in dem Quellpro
gramm auf der Basis der Adresseninformationen, die in den
Protokollaufzeichnungen enthalten sind, und zeigt den ent
sprechenden Funktionsnamen und die Zeilennummer wie folgt
an:
"function: TEST line: 3"
Die folgende Beschreibung liefert Details über den Pro
zeß, um einen Funktionsnamen und die Zeilennummer des Quell
programms gemäß der spezifizierten Segmentstelle zu finden,
wobei auf ein Flußdiagramm von Fig. 5 Bezug genommen wird.
Der Prozeß umfaßt die folgenden fünf Schritte.
[S1] Bei Empfang einer Mausklickaktion durch den Nutzer
erhält die Vorrichtung eine Bildschirmposition, an der die
Maustaste gedrückt worden ist.
[S2] Die Zeit, die jener angeklickten Position ent
spricht, wird dann berechnet. Es sei erwähnt, daß die Länge
des Verlaufsdiagramms die gesamte Programmausführungszeit
angibt, und somit gibt die angeklickte Position die seit dem
Start der Programmausführung abgelaufene Zeit an.
[S3] Die Vorrichtung sucht die Protokolldatei nach ei
ner Aufzeichnung ab, die die Zeit der angeklickten Position
hat.
[S4] Adresseninformationen werden aus der bei Schritt
S3 gefundenen Aufzeichnung extrahiert. Diese Adresseninfor
mationen existieren in dem Informationsfeld der aufrufenden
Adresse 23, das bei Fig. 2 erläutert wurde. Die Vorrichtung
erhält einen entsprechenden Funktionsnamen und die Zeilen
nummer durch Absuchen einer Querverweistabelle unter Verwen
dung der Adresseninformationen als Schlüsselwort. Diese
Querverweistabelle ist zuvor durch den Compiler erstellt
worden, so daß sie jedem Funktionsnamen entsprechende Adres
sen sowie Programmzeilennummern zuordnet. Da Adressen, die
in dieser Querverweistabelle gesammelt sind, diskrete sind,
könnte die Adresse, die aus der Protokollaufzeichnung extra
hiert wurde, mit den Tabelleneinträgen nicht vollkommen
koinzidieren. So sollte die protokollierte Adresse dahinge
hend geprüft werden, ob sie innerhalb eines Bereiches zwi
schen irgendwelchen zwei konsekutiven aufruf enden Adressen
liegt, und durch die Vorrichtung wird schließlich ein Funk
tionsname und die Zeilennummer gewählt, die der nächsten
Adresse entsprechen.
[S5] Die Vorrichtung gibt den erhaltenen Funktionsnamen
und die Zeilennummer an die Anzeigeeinheit aus.
Die Vorrichtung, die einen Funktionsnamen suchen kann,
der einem spezifischen Segment des Verlaufsdiagramms ent
spricht, gestattet es dem Nutzer des weiteren, einen gewis
sen Abschnitt des Quellprogramms zu spezifizieren, um sich
auf einen relevanten Teil des Verlaufsdiagramms zu konzen
trieren. Die folgende Beschreibung wird diesem Merkmal der
Vorrichtung gewidmet.
Der Nutzer spezifiziert eine Programmstelle, indem ein
Funktionsname (angenommen "TEST") und eine Zeilennummer
(angenommen "3") in ein Funktionsnamenseingabefenster einge
geben werden, das an einem Anzeigebildschirm geöffnet ist
und jenes ist, welches in Fig. 1 als Funktionsbezeichnungs
mittel 8 erläutert worden ist. Der Nutzer klickt dann auf
eine "SEARCH"-Taste, um eine Suchoperation zu initiieren.
Als Reaktion auf diese Aufforderung erhält ein Anzeigeposi
tionsanalysierer zuerst eine Adresse von der Zeilennummer
und zeichnet dann das Verlaufsdiagramm neu, so daß es die
gefundenen Aufzeichnungen von anderen unterscheidbar dar
stellt. Dieser Anzeigepositionsanalysierer ist jener, der in
Fig. 1 als Anzeigepositionsanalysiermittel 9 erläutert
wurde.
Fig. 6 zeigt ein Beispiel des Verlaufsdiagramms, das
durch den oben beschriebenen Prozeß als Reaktion auf die
Aufforderung des Nutzers erzeugt wurde, sich auf die Zeilen
nummer "3" in der Funktion "TEST", zu konzentrieren. Der
Anzeigepositionsanalysierer erhält zuerst eine Adresse, die
der eingegebenen Zeilennummer entspricht, indem die Querver
weistabelle konsultiert wird. Dann sucht er die Protokoll
datei nach Aufzeichnungen ab, die zu der erhaltenen Adresse
passen. Als Resultat dieser Suchoperation nach Adresse
werden die relevanten Segmente des Verlaufsdiagramms von den
anderen unterscheidbar angezeigt. Das heißt, die Segmente
"b" bis "d", die Bibliotheksfunktionen bezeichnen, die bei
der Zeilennummer "3" in dem Quellprogramm aufgerufen wurden,
werden mit höherer Videointensität angezeigt, während der
Rest des Verlaufsdiagramms mit niedriger Intensität darge
stellt wird.
Die folgende Beschreibung erläutert nun den eingehenden
Prozeß zum Hervorheben eines spezifischen Abschnittes des
Verlaufsdiagramms, der einen Funktionsnamen und eine Zeilen
nummer betrifft, die durch einen Nutzer vorgesehen wurden.
Fig. 7 ist ein Flußdiagramm, das einen Prozeß zeigt,
der durch den Anzeigepositionsanalysierer zu diesem Zweck
auszuführen ist. Der Prozeß erfolgt gemäß den folgenden vier
Schritten.
[S11] Ein Funktionsname und eine Zeilennummer in dem
Quellprogramm werden der Vorrichtung durch ein Funktions
namenseingabefenster eingegeben, das auf dem Anzeigebild
schirm geöffnet ist.
[S12] Der Anzeigepositionsanalysierer erhält eine
Adresse, die dem bezeichneten Funktionsnamen und der Zeilen
nummer entspricht, durch Konsultieren der Querverweis
tabelle.
[S13] Der Anzeigepositionsanalysierer sucht die Proto
kolldatei ab, um jede Protokollaufzeichnung zu extrahieren,
die zu der Adresse paßt, die aus der Querverweistabelle
erhalten wurde. Wie zuvor erläutert, umfassen die Protokoll
aufzeichnungen nur Adressen von den ganz ursprünglichen
Aufrufinstruktionen, die in dem Objektprogramm enthalten
sind, selbst wenn die Bibliotheksfunktionen verschachtelt
sind. Dies bedeutet, daß eine Vielzahl von Adressen einem
Funktionsnamen zugeordnet sein kann. Bei dem obigen Beispiel
passen zu dem Fall drei Aufzeichnungen, die die Perioden
"b"-"d" angeben.
[S14] Der Anzeigepositionsanalysierer weist den Dia
grammerzeuger an, das Verlaufsdiagramm zu erzeugen, das sich
auf die Funktionen konzentriert, die in den Protokollauf
zeichnungen gefunden wurden.
Wie oben beschrieben, präsentiert die vorliegende Er
findung ein Verlaufsdiagramm, um das Programmverhalten auf
assoziierende Weise mit der Quellprogrammstruktur sichtbar
zu machen, woraus der Nutzer die folgenden Vorteile ziehen
kann.
Erstens kann das Verlaufsdiagramm zur Leistungsanalyse
von Programmen verwendet werden. Da das Diagramm das Pro
grammverhalten im Verlauf der Zeit zeigt, kann der Nutzer
leicht herausfinden, welcher Teil des Programms der zeitauf
wendigste ist. Es gestattet dem Nutzer auch, einen Teil zu
finden, bei dem Interprozeßkommunikationen nicht so opti
miert sind, so daß viel Zeit benötigt wird, um Daten bei der
Parallelverarbeitung zu der Gegenseite zu übertragen oder
nur auf eine Mitteilung von ihr zu warten. Wenn solch ein
Teil gefunden wird, kann der Nutzer nach einem relevanten
Teil des Quellprogramms suchen und das Problem lokalisieren,
welches der Verbesserung bedarf.
Zweitens kann das Verlaufsdiagramm zur Fehlersuche bei
Programmen verwendet werden. Da alle Funktionsaufrufe, die
stattgefunden haben, und deren jeweilige Ursprünge in zeit
licher Folge gezeigt werden, kann der Nutzer den Verlauf der
Programmausführung zurückverfolgen. Dies hilft einige Arten
von Fehlern zu eliminieren, die zu unkorrekten Resultaten
führen können oder einen abnormen Abschluß des Programms
verursachen können.
Gemäß der vorliegenden Erfindung ist es auch möglich,
Protokolldaten selektiv für eine gewünschte Sektion eines
Quellprogramms zu erhalten. Die folgende Beschreibung stellt
eine Vorrichtung vor, bei der das Protokollsammelsektions
detektionsmittel 10 verwendet wird, das in Fig. 1 gezeigt
ist.
Fig. 8 zeigt ein Beispiel eines Quellprogramms, das
mehrere Instruktionen zum selektiven Spezifizieren einer
Sektion enthält, in der Protokolldaten zu sammeln sind.
Dieses Beispielquellprogramm 41 besteht aus drei Sektionen
A, B und C, wobei nur die Sektion B der Protokollsammlung
unterliegt. Um Protokolldaten zu sammeln, ruft das Quellpro
gramm 41 eine Protokollfreigabefunktion "LOGSTART()" und
eine Protokollsperrfunktion "LOGEND()" vor bzw. nach der
Sektion B auf. Der Nutzer kann jene Protokollsammelsteuer
funktionen an irgendeine Stelle in dem Quellprogramm 41
schreiben, um die betreffende Sektion zu spezifizieren.
Eine Bibliothek 42, eine Sammlung von Funktionen, die
durch das Quellprogramm 41 aufgerufen werden, enthält eine
Protokollstartsubroutine "logstart" und eine Protokollend
subroutine "logend". Erstere Subroutine sieht einen Proto
kollsammelaufbauprozeß vor, während die letztere einen
Protokollsammelnachprozeß vorsieht.
Der Protokollsammelaufbauprozeß setzt augenblicklich
ein Protokollsteuerflag, um die Protokollsammeloperationen
zu aktivieren. Dieses Protokollsteuerflag wird sich auf die
Protokollsammelfunktionen "startlog()" und "endlog()" aus
wirken, die von dem Objektprogramm 31 sowie von Bibliotheks
funktionen 32 und 33 aufgerufen werden. Jene Funktionen
erzeugen nur dann Protokollaufzeichnungen, wenn das Proto
kollsteuerflag gesetzt ist. Andererseits tun jene Funktionen
nichts, während das Flag zurückgesetzt ist. Im Gegensatz zum
Protokollsammelaufbauprozeß setzt der Protokollsammelnach
prozeß das Protokollsteuerflag zurück, um weitere Protokol
lieroperationen zu sperren.
Daher bleibt das Protokollsteuerflag nur gesetzt, wäh
rend der Computer Routinen ausführt, die der Sektion B als
Teil des Quellprogramms 41 entsprechen, wodurch die Proto
kollsammelfunktionen aktiviert werden, die in jenem begrenz
ten Bereich aufgerufen wurden. So erhält der Protokolldaten
sammler in der Vorrichtung Protokollaufzeichnungen nur von
der Sektion B, die durch den Nutzer spezifiziert worden ist,
und somit wird die Protokolldatei 43 die begrenzte Anzahl
von Aufzeichnungen für die Sektion B enthalten.
Standardmäßig werden die Protokolldaten zu Beginn und
am Ende des Programms gesammelt. Beim Sammeln der nutzerspe
zifizierten Protokolldaten ferner für die Sektion B ergeben
die Endaufzeichnungen ein Verlaufsdiagramm wie in Fig. 8
unten gezeigt. Aus diesem Diagramm kann der Nutzer erkennen,
wo die Sektion B in der gesamten Programmausführungszeit
liegt.
Die vorliegende Erfindung sieht ferner eine Skalie
rungsfunktion zum Expandieren oder Reduzieren des Sichtbe
reiches des Verlaufsdiagramms vor, das an einem Bildschirm
angezeigt wird, um sich auf eine gewünschte Sektion in dem
Programm konzentrieren zu können. Die folgende Beschreibung
erläutert diese Skalierungsfunktion.
Fig. 9 zeigt ein Protokollanzeigefenster 50, um den
Nutzern solch ein flexibles Verlaufsdiagramm anzubieten.
Dieses Protokollanzeigefenster 50 enthält:
- - einen Diagrammsichtbereich 51 zum Anzeigen eines Ver laufsdiagramms;
- - eine Taste "SHOW ALL" 52, um den gesamten Zeitbereich des Verlaufsdiagramms in den Diagrammsichtbereich 51 einzupassen;
- - Tasten "ZOOM IN" und "ZOOM OUT" 53 und 54, um die Zeitskale des Verlaufsdiagramms kontinuierlich oder schrittweise zu verändern;
- - Tasten "SCROLL LEFT" und "SCROLL RIGHT" 55 und 56, um das Diagramm bei "ZOOM IN" in die linken und rechten Richtungen zu rollen; und
- - einen Zeitangabebereich 57, um in numerischer Form die Zeit an beiden Endpunkten des Diagrammsichtberei ches 51 anzugeben.
Um dieses Protokollanzeigefenster 50 zu verwalten, ist
ein Zoomcontroller, der dem Zoominstruktionsmittel 11 in
Fig. 1 entspricht, mit einem temporären Speicher versehen,
um Positionen zu enthalten, die der Nutzer mit einer Maus
oder anderen Zeigevorrichtungen bezeichnet hat, oder um die
gegenwärtigen Werte der Start zeit und der Endzeit des Dia
grammsichtbereiches 51 zu bewahren.
Der Diagrammsichtbereich 51 in dem Protokollanzeigefen
ster 50 zeigt normalerweise das Verlaufsdiagramm für den
gesamten Zeitbereich an. Die linke Spalte des Zeitangabe
bereiches 57 mit der Bezeichnung "WHOLE RANGE" gibt die
Startzeit "0" zusammen mit der Endzeit der Programmausfüh
rung in Mikrosekunden an.
Falls der Nutzer die Taste "ZOOM IN" 53 betätigt, um zu
versuchen, detailliertere Protokollinformationen zu erhal
ten, wird das Verlaufsdiagramm in horizontalen Richtungen
expandiert, wobei seine Mitte an derselben Position bleibt.
Während die Protokolldaten auf beiden Seiten des Diagramm
sichtbereiches 51 außer Sicht geraten, werden die detail
lierten Informationen im zentralen Teil allmählich offen
bart. Jedes Mal, wenn der Nutzer die Taste "ZOOM IN" 53
betätigt, berechnet die Vorrichtung die Startzeit und die
Endzeit des Diagrammsichtbereiches 51 und zeichnet das
Verlaufsdiagramm neu, wobei die Protokollaufzeichnungen
innerhalb jenes Zeitbereiches extrahiert werden. Gemäß
diesem Neuzeichnen werden die Startzeit und die Endzeit, die
in dem temporären Speicher gesichert sind, auch aktualisiert
und in der rechten Spalte des Zeitangabebereiches 57 mit der
Bezeichnung "PRESENT SCOPE" angezeigt. Jene Zeitindikatoren
in der rechten Spalte geben die Zeit an, die seit dem Start
der Programmausführung abgelaufen ist.
Auf analoge Weise zu dem oben beschriebenen Zoom-in-Prozeß
kann der Nutzer den gegenwärtigen Schwerpunkt auf
einem Verlaufsdiagramm durch "ZOOM OUT" verlassen. Wenn der
Nutzer die Taste "ZOOM OUT" 54 betätigt, um zu versuchen,
den Sichtbereich zu verbreitern, sucht die Vorrichtung die
Startzeit und Stopzeit in dem temporären Speicher heraus und
berechnet für sie neue Werte. Die Vorrichtung zeichnet dann
das Verlaufsdiagramm neu, wobei die Protokollaufzeichnungen
innerhalb jenes neuen Zeitbereiches extrahiert werden. Da
jede Segmentlänge schmaler wird, rücken die Segmente inner
halb des Diagrammsichtbereiches 51 zu der Mitte des Ver
laufsdiagramms hin zusammen, und somit werden die Aufzeich
nungen, die aus dem Bereich herausgeworfen worden sind, in
den Bereich 51 zurückkehren. Gemäß den Zoom-in-Operationen
werden die Daten in dem temporären Speicher aktualisiert,
und die Zeitindikatoren in der Spalte "PRESENT SCOPE" des
Zeitangabebereiches 57 werden auch aufgefrischt.
Falls der Nutzer die Taste "SHOW ALL" 52 betätigt, wäh
rend das Verlaufsdiagramm expandiert ist, wird sich der
Diagrammsichtbereich 51 sofort zu einer Protokollanzeige für
den gesamten Zeitbereich der Programmausführung verändern.
Mit anderen Worten, diese Taste "SHOW ALL" 52 ermöglicht es
dem Nutzer, von dem Detailanzeigemodus leicht zu dem Über
sichtsmodus zurückzukehren.
So zeigt, wenn das Verlaufsdiagramm expandiert ist, der
Diagrammsichtbereich 51 nur eine begrenzte Anzahl von Proto
kollaufzeichnungen, die aus den gesamten Protokolldaten
gemäß einem gegebenen Zeitbereich extrahiert wurden. Mit
anderen Worten, der Nutzer sieht nur einen Teil des Ausfüh
rungsverlaufs durch ein kleines Sichtfenster. Der Nutzer
kann jedoch dieses Sichtfenster in die linke oder rechte
Richtung bewegen, indem die Taste "SCROLL LEFT" 55 oder die
Taste "SCROLL RIGHT" 56 betätigt wird. Synchron mit dieser
Ansichtsbewegung werden der Inhalt in dem Diagrammsicht
bereich 51 und die Zeitindikatoren in der Spalte "PRESENT
SCOPE" des Zeitangabebereiches 57 aktualisiert.
Als Alternativanordnung kann das Protokollanzeigefen
ster 50 konfiguriert sein, um anstelle der Taste "SCROLL
LEFT" 55 und der Taste "SCROLL RIGHT" 56 einen Rollbalken zu
haben, um das Sichtfenster zum Zeigen von anderen Abschnit
ten der Protokolldaten zu verschieben. Dieser Rollbalken hat
den Vorteil, daß der Nutzer sehen kann, wo in dem gesamten
Programm der Diagrammsichtbereich 51 zur Zeit liegt.
Als andere Alternativanordnung kann das Protokollanzei
gefenster 50 konfiguriert sein, daß der Nutzer anstelle der
Vergrößerung in der Mitte des Diagrammsichtbereiches 51 den
Zoomingpunkt direkt angeben kann. Unter Verwendung einer
Maus kann der Nutzer in den Diagrammsichtbereich 51 klicken,
um den Punkt zu spezifizieren, wo die Zoomoperation wirken
soll.
Als noch andere Alternativanordnung kann die Spalte
"PRESENT SCOPE" des Zeitangabebereiches 57 die Startzeit und
die Endzeit anzeigen, die bezüglich der Startzeit einer
durch den Nutzer bezeichneten Funktion gemessen wird, statt
sie ab Programmstart zu messen.
Bei der vorliegenden Erfindung werden die Protokoll
daten an einem Bildschirm angezeigt, wobei sie mit verschie
denen Farben gemäß den Typen von Programmoperationen klassi
fiziert sind, und der Nutzer kann die Farben spezifizieren.
Die folgende Beschreibung erläutert einen Farbmanager zum
Einstellen der Farben zum Zweck der Klassifizierung. Dieser
Farbmanager ist das bei Fig. 1 beschriebene Klassifizie
rungseinstellmittel 12.
Zum Anzeigen eines Verlaufsdiagramms mit Farbklassifi
zierung, um die Programmoperationen zu unterscheiden, defi
niert der Nutzer, nehmen wir an, zwei Farbmuster, und die
Vorrichtung speichert sie in einer Speichereinheit in dem
Farbmanager. Der Nutzer kann eines der Muster durch Anklic
ken von Tasten oder andere selektive Aktionen selektieren,
hin und her, und dies hilft ihm außerordentlich beim analy
tischen Verstehen des Verlaufsdiagramms.
Fig. 10(A) und 10(B) zeigen zwei Beispiele von Ver
laufsdiagrammen mit solch einer Farbklassifizierung.
Fig. 10(A) zeigt ein Verlaufsdiagramm für das gesamte
Programm, wobei ein grobes Farbmuster verwendet wird, um
einen Überblick über die Programmoperationen auf Basisebene
zu geben. Die Operationen auf Basisebene sind in drei Grup
pen geordnet: Objektoperationen, Bibliotheksoperationen und
Leerlauf. Jene Gruppen von Operationen werden in dem Ver
laufsdiagramm mit verschiedenen Farben nach Wahl des Nutzers
dargestellt. Die Farbdefinitionen sind in einer Farboperati
onszuordnungstabelle 61 gespeichert. Die Vorrichtung konsul
tiert diese Farboperationszuordnungstabelle 61, um die
richtigen Farben zu selektieren, wenn Verlaufsdiagramme
erzeugt werden. Als Resultat erhält der Nutzer ein Verlaufs
diagramm 62 in Fig. 10(A), welches die drei Operationen in
verschiedenen Farben kenntlich macht.
Fig. 10(B) zeigt ein Beispielverlaufsdiagramm, bei dem
die Klassifizierung von Programmoperationen der zweiten
Ebene hereingebracht wurde und das sich auf die oben
beschriebenen Bibliotheksoperationen der Basisebene konzen
triert. Diese Klassifizierung der zweiten Ebene unterteilt
die Bibliotheksoperationen in vier Gruppen: Bibliotheksope
rationen initialisieren/beenden, E/A-Bibliotheksoperationen,
Datenübertragungsbibliotheksoperationen und die anderen
Bibliotheksoperationen. So werden die Programmoperationen
insgesamt in sechs Gruppen unterteilt, wie in einer Farbope
rationszuordnungstabelle 63 ersichtlich ist, wo die Farben
durch den Nutzer definiert werden. Ein Verlaufsdiagramm 64
wird durch die Vorrichtung mit den Definitionen erzeugt, die
in dieser Tabelle 63 registriert sind.
Die obige Abhandlung wird unten zusammengefaßt. Die
vorliegende Erfindung sieht eine Vorrichtung vor, die Proto
kollaufzeichnungen sammelt und ein Verlaufsdiagramm anzeigt,
um die gesammelten Aufzeichnungen grafisch darzustellen. Die
Vorrichtung ist mit einem Mittel versehen zum Analysieren
der Teil-zu-Teil-Zuordnung zwischen dem angezeigten Ver
laufsdiagramm und seinem entsprechenden Quellprogramm als
Reaktion auf Instruktionen von dem Nutzer. Deshalb kann der
Nutzer einen Funktionsnamen und eine Zeilennummer finden,
indem einfach ein Segment in dem Verlaufsdiagramm, das ihn
interessiert, spezifiziert wird. Auch kann der Nutzer spezi
fische Protokollaufzeichnungen in dem Verlaufsdiagramm
leicht lokalisieren, indem ein Funktionsname und eine Zei
lennummer eingegeben werden. Jene Möglichkeiten gestatten es
den Nutzern, ihre Programme auf visuelle Weise zu inspizie
ren und die Probleme zu lokalisieren. Bei der computerunter
stützten Softwareentwicklung dient die Vorrichtung der
vorliegenden Erfindung als starkes Werkzeug zur Programmfeh
lersuche und Leistungsanalyse, besonders wenn es sich um
komplizierte Serienverarbeitungsprogramme oder Parallelver
arbeitungsprogramme handelt.
Vorstehendes wird für die Prinzipien der vorliegenden
Erfindung nur als illustrativ angesehen. Da des weiteren
Fachleute leicht auf zahlreiche Abwandlungen und Veränderun
gen kommen werden, wird nicht gewünscht, die Erfindung auf
die exakte Konstruktion und auf gezeigte und beschriebene
Anwendungen zu beschränken, und daher können alle geeigneten
Abwandlungen und Äquivalente als in den Schutzumfang der
Erfindung fallend, wie er in den beigefügten Ansprüchen
definiert ist, und als deren Äquivalente angesehen werden.
Claims (6)
1. Vorrichtung zur Protokolldatensammlung und
-analyse, die zum Analysieren des Verhaltens eines Programms
verwendet wird, mit:
einem Protokolldatensammelmittel zum Sammeln von Protokollaufzeichnungen, während das Programm ausgeführt wird, von welchen Protokollaufzeichnungen jede Informationen hinsichtlich eines Operationstyps und der Ausführungszeit von jedem Teil des Programms enthält;
einem Protokolldatenspeichermittel zum Speichern der Protokollaufzeichnungen, die durch das Protokolldaten sammelmittel gesammelt wurden;
einem Protokolldatenanalysiermittel zum Heraus suchen der Protokollaufzeichnungen aus dem Protokolldaten speichermittel und zum Analysieren des Operationstyps und der Ausführungszeit von jeder Protokollaufzeichnung;
einem Diagrammerzeugungsmittel zum Erzeugen eines Verlaufsdiagramms, das die analysierten Protokollaufzeich nungen in zeitlicher Reihenfolge sichtbar macht, welches Verlaufsdiagramm in eine Vielzahl von Segmenten gegliedert ist, die die jeweiligen Protokollaufzeichnungen verkörpern;
einem Anzeigemittel zum Anzeigen des Verlaufsdia gramms, das durch das Diagrammerzeugungsmittel erzeugt wurde, an einem Bildschirm; und
einem Zuordnungsanalysiermittel zum Ausführen einer Analyse der Teil-zu-Teil-Zuordnung zwischen dem ange zeigten Verlaufsdiagramm und einem Quellprogramm als Reak tion auf eine Instruktion von einem Nutzer und zum Versehen des Diagrammerzeugungsmittels und/oder des Anzeigemittels mit der Teil-zu-Teil-Zuordnung, die durch die Analyse geklärt wurde, welches Quellprogramm ein Satz von Instruk tionsanweisungen ist, von denen das Programm in ausführbarer Form übersetzt wird.
einem Protokolldatensammelmittel zum Sammeln von Protokollaufzeichnungen, während das Programm ausgeführt wird, von welchen Protokollaufzeichnungen jede Informationen hinsichtlich eines Operationstyps und der Ausführungszeit von jedem Teil des Programms enthält;
einem Protokolldatenspeichermittel zum Speichern der Protokollaufzeichnungen, die durch das Protokolldaten sammelmittel gesammelt wurden;
einem Protokolldatenanalysiermittel zum Heraus suchen der Protokollaufzeichnungen aus dem Protokolldaten speichermittel und zum Analysieren des Operationstyps und der Ausführungszeit von jeder Protokollaufzeichnung;
einem Diagrammerzeugungsmittel zum Erzeugen eines Verlaufsdiagramms, das die analysierten Protokollaufzeich nungen in zeitlicher Reihenfolge sichtbar macht, welches Verlaufsdiagramm in eine Vielzahl von Segmenten gegliedert ist, die die jeweiligen Protokollaufzeichnungen verkörpern;
einem Anzeigemittel zum Anzeigen des Verlaufsdia gramms, das durch das Diagrammerzeugungsmittel erzeugt wurde, an einem Bildschirm; und
einem Zuordnungsanalysiermittel zum Ausführen einer Analyse der Teil-zu-Teil-Zuordnung zwischen dem ange zeigten Verlaufsdiagramm und einem Quellprogramm als Reak tion auf eine Instruktion von einem Nutzer und zum Versehen des Diagrammerzeugungsmittels und/oder des Anzeigemittels mit der Teil-zu-Teil-Zuordnung, die durch die Analyse geklärt wurde, welches Quellprogramm ein Satz von Instruk tionsanweisungen ist, von denen das Programm in ausführbarer Form übersetzt wird.
2. Vorrichtung nach Anspruch 1, welches Zuordnungs
analysiermittel umfaßt:
ein Bildschirmpositionsbezeichnungsmittel zum Akzeptieren der Bezeichnung einer Position auf dem Bild schirm durch den Nutzer, die auf dem Verlaufsdiagramm liegt, das durch das Anzeigemittel angezeigt wird; und
ein Programmstellenanalysiermittel zum Analysieren der Position auf dem Bildschirm, um einen Funktionsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Position auf dem Bildschirm entsprechen, und zum Anweisen des Anzeigemittels, den Funktionsnamen und die Programm stelle anzuzeigen, die gefunden wurden.
ein Bildschirmpositionsbezeichnungsmittel zum Akzeptieren der Bezeichnung einer Position auf dem Bild schirm durch den Nutzer, die auf dem Verlaufsdiagramm liegt, das durch das Anzeigemittel angezeigt wird; und
ein Programmstellenanalysiermittel zum Analysieren der Position auf dem Bildschirm, um einen Funktionsnamen und eine Programmstelle in dem Quellprogramm zu finden, die der Position auf dem Bildschirm entsprechen, und zum Anweisen des Anzeigemittels, den Funktionsnamen und die Programm stelle anzuzeigen, die gefunden wurden.
3. Vorrichtung nach Anspruch 1, welches Zuordnungs
analysiermittel umfaßt:
ein Funktionsbezeichnungsmittel zum Akzeptieren der Bezeichnung eines Funktionsnamens und einer Stelle von ihm in dem Quellprogramm; und
ein Anzeigepositionsanalysiermittel zum Analysie ren des Funktionsnamens und der Stelle, um ein Segment des Verlaufsdiagramms zu finden, das denen entspricht, und zum Anweisen des Diagrammerzeugungsmittels, das Verlaufsdiagramm so zu reproduzieren, daß das Segment unterscheidbar von dem anderen Teil des Verlaufsdiagramms angezeigt wird.
ein Funktionsbezeichnungsmittel zum Akzeptieren der Bezeichnung eines Funktionsnamens und einer Stelle von ihm in dem Quellprogramm; und
ein Anzeigepositionsanalysiermittel zum Analysie ren des Funktionsnamens und der Stelle, um ein Segment des Verlaufsdiagramms zu finden, das denen entspricht, und zum Anweisen des Diagrammerzeugungsmittels, das Verlaufsdiagramm so zu reproduzieren, daß das Segment unterscheidbar von dem anderen Teil des Verlaufsdiagramms angezeigt wird.
4. Vorrichtung nach Anspruch 1, ferner mit einem Pro
tokollsammelsektionsdetektionsmittel zum Detektieren von
Protokollsammelsteuerinstruktionen, die in dem Quellprogramm
eingebettet sind, und zum Anweisen des Protokolldatensammel
mittels, die Protokollaufzeichnungen nur in einer Sektion zu
sammeln, die durch die Protokollsammelsteuerinstruktionen
bezeichnet ist.
5. Vorrichtung nach Anspruch 1, ferner mit einem
Zoominstruktionsmittel zum Instruieren des Protokolldaten
analysiermittels, die Zeitskale abzuändern, die für das
Verlaufsdiagramm verwendet wird.
6. Vorrichtung nach Anspruch 1,
bei der das Diagrammerzeugungsmittel das Verlaufs
diagramm so erzeugt, daß verschiedene Farben der Vielzahl
von Segmenten von ihm zugeordnet werden, in Abhängigkeit von
den Operationstypen, die in der jeweiligen Protokollauf
zeichnung enthalten sind,
welche Vorrichtung ferner ein Klassifizierungs einstellmittel umfaßt, zum Definieren der Farben, die durch das Diagrammerzeugungsmittel verwendet werden.
welche Vorrichtung ferner ein Klassifizierungs einstellmittel umfaßt, zum Definieren der Farben, die durch das Diagrammerzeugungsmittel verwendet werden.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP07019796A JP3472026B2 (ja) | 1996-03-26 | 1996-03-26 | ログ情報採取解析装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE19640876A1 true DE19640876A1 (de) | 1997-10-02 |
DE19640876C2 DE19640876C2 (de) | 1998-11-12 |
Family
ID=13424558
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19640876A Expired - Fee Related DE19640876C2 (de) | 1996-03-26 | 1996-10-04 | Vorrichtung zur Protokolldatensammlung und -Analyse |
Country Status (4)
Country | Link |
---|---|
US (1) | US5819094A (de) |
JP (1) | JP3472026B2 (de) |
KR (1) | KR100257470B1 (de) |
DE (1) | DE19640876C2 (de) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG80592A1 (en) * | 1998-05-07 | 2001-05-22 | Panasonic Singapore Lab Pte Lt | Graphical microcontroller software development system flow chart engine |
DE102005025265B4 (de) * | 2005-06-02 | 2010-12-23 | Audi Ag | Verfahren und Vorrichtung zum Erfassen und Auswerten von Daten von zumindest einer Einheit in einem Kraftfahrzeug |
Families Citing this family (65)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6247149B1 (en) * | 1997-10-28 | 2001-06-12 | Novell, Inc. | Distributed diagnostic logging system |
US5960202A (en) * | 1997-10-31 | 1999-09-28 | Hewlett Packard Company | Method and apparatus for automatically logging compiler options and/or overriding compiler options |
JP3351318B2 (ja) * | 1997-11-07 | 2002-11-25 | 株式会社日立製作所 | 計算機システムの監視方法 |
US6212653B1 (en) * | 1998-02-18 | 2001-04-03 | Telefonaktiebolaget Lm Ericsson (Publ) | Logging of events for a state driven machine |
US6253337B1 (en) * | 1998-07-21 | 2001-06-26 | Raytheon Company | Information security analysis system |
US6304262B1 (en) | 1998-07-21 | 2001-10-16 | Raytheon Company | Information security analysis system |
US7047423B1 (en) * | 1998-07-21 | 2006-05-16 | Computer Associates Think, Inc. | Information security analysis system |
US6269447B1 (en) * | 1998-07-21 | 2001-07-31 | Raytheon Company | Information security analysis system |
US6467052B1 (en) * | 1999-06-03 | 2002-10-15 | Microsoft Corporation | Method and apparatus for analyzing performance of data processing system |
US6557167B1 (en) * | 1999-09-03 | 2003-04-29 | International Business Machines Corporation | Apparatus and method for analyzing performance of a computer program |
US6654948B1 (en) | 1999-10-12 | 2003-11-25 | International Business Machines Corporation | Methods and apparatus for partial and consistent monitoring of object-oriented programs and systems |
US6915342B1 (en) * | 2000-02-04 | 2005-07-05 | Ricoh Company Limited | Method and system for maintaining the business office appliance through log files |
US6996808B1 (en) * | 2000-02-12 | 2006-02-07 | Microsoft Corporation | Function injector |
US7774790B1 (en) * | 2000-07-18 | 2010-08-10 | Apple Inc. | Event logging and performance analysis system for applications |
US6959327B1 (en) * | 2000-08-29 | 2005-10-25 | International Business Machines Corporation | System and method for dispatching and scheduling network transmissions with feedback |
US7403994B1 (en) * | 2000-08-29 | 2008-07-22 | International Business Machines Corporation | Method of doing business over a network by transmission and retransmission of digital information on a network during time slots |
US7150017B1 (en) | 2000-08-29 | 2006-12-12 | International Business Machines Corporation | System and method for scheduling digital information transmission and retransmission on a network during time slots |
US6579005B2 (en) | 2000-12-28 | 2003-06-17 | General Electric Company | Utilization of pyrometer data to detect oxidation |
US7174536B1 (en) * | 2001-02-12 | 2007-02-06 | Iowa State University Research Foundation, Inc. | Integrated interactive software visualization environment |
JP3626458B2 (ja) * | 2001-06-04 | 2005-03-09 | 株式会社ソニー・コンピュータエンタテインメント | ログ収集解析システム、ログ収集方法、コンピュータに実行させるためのログ収集プログラム、ログ解析方法、コンピュータに実行させるためのログ解析プログラム、ログ収集装置、ログ解析装置、ログ収集端末、ログサーバ |
US6952779B1 (en) * | 2002-10-01 | 2005-10-04 | Gideon Cohen | System and method for risk detection and analysis in a computer network |
US8407798B1 (en) | 2002-10-01 | 2013-03-26 | Skybox Secutiry Inc. | Method for simulation aided security event management |
KR20040051731A (ko) | 2002-12-11 | 2004-06-19 | 씨제이 주식회사 | 5’-크산틸산을 생산하는 미생물 |
US7043505B1 (en) | 2003-01-28 | 2006-05-09 | Unisys Corporation | Method variation for collecting stability data from proprietary systems |
US7567979B2 (en) * | 2003-08-15 | 2009-07-28 | Microsoft Corporation | Expression-based web logger for usage and navigational behavior tracking |
KR100542568B1 (ko) | 2003-12-10 | 2006-01-11 | 씨제이 주식회사 | 5'-크산틸산을 생산하는 미생물 |
US7457671B2 (en) * | 2004-09-30 | 2008-11-25 | Rockwell Automation Technologies, Inc. | Systems and methods that facilitate management of add-on instruction generation, selection, and/or monitoring during execution |
JP4886188B2 (ja) * | 2004-12-16 | 2012-02-29 | キヤノン株式会社 | 情報処理装置及びその制御方法、コンピュータプログラム及び記憶媒体 |
JP4681923B2 (ja) * | 2005-04-01 | 2011-05-11 | キヤノン株式会社 | 情報処理装置及びその制御方法、コンピュータプログラム、記憶媒体 |
JP4038220B2 (ja) * | 2005-09-27 | 2008-01-23 | ソフトバンクモバイル株式会社 | プログラム開発支援装置 |
US7930595B2 (en) * | 2006-06-22 | 2011-04-19 | International Business Machines Corporation | Method and apparatus for analyzing error conditions in a massively parallel computer system by identifying anomalous nodes within a communicator set |
US7673182B2 (en) * | 2006-06-22 | 2010-03-02 | International Business Machines Corporation | Method and apparatus for obtaining stack traceback data for multiple computing nodes of a massively parallel computer system |
US8255876B2 (en) | 2006-07-28 | 2012-08-28 | Apple Inc. | Execution difference identification tool |
US8201244B2 (en) * | 2006-09-19 | 2012-06-12 | Microsoft Corporation | Automated malware signature generation |
CN101154291B (zh) * | 2006-09-29 | 2010-05-12 | 国际商业机器公司 | 图像数据压缩方法、图像显示方法及其相应装置 |
CN101192227B (zh) * | 2006-11-30 | 2011-05-25 | 阿里巴巴集团控股有限公司 | 一种基于分布式计算网络的日志文件分析方法和系统 |
US7908593B2 (en) * | 2007-01-04 | 2011-03-15 | International Business Machines Corporation | Technique for evaluating software performance online to support online tuning |
US7661032B2 (en) * | 2007-01-06 | 2010-02-09 | International Business Machines Corporation | Adjusting sliding window parameters in intelligent event archiving and failure analysis |
KR101358750B1 (ko) * | 2007-01-22 | 2014-02-06 | 삼성전자주식회사 | 관계형 데이터베이스를 이용한 프로그램 트레이스 방법 |
US8381193B2 (en) * | 2007-09-06 | 2013-02-19 | International Business Machines Corporation | Apparatus, system, and method for visual log analysis |
US8984441B2 (en) * | 2007-12-06 | 2015-03-17 | Sony Corporation | Dynamic update of a user interface based on collected user interactions |
US20090222646A1 (en) * | 2008-02-28 | 2009-09-03 | International Business Machines Corporation | Method and apparatus for detecting processor behavior using instruction trace data |
FR2928755B1 (fr) * | 2008-03-14 | 2014-04-11 | Sagem Securite | Procede de securisation d'une execution d'un programme |
US8732829B2 (en) * | 2008-04-14 | 2014-05-20 | Tdi Technologies, Inc. | System and method for monitoring and securing a baseboard management controller |
US9154386B2 (en) * | 2008-06-06 | 2015-10-06 | Tdi Technologies, Inc. | Using metadata analysis for monitoring, alerting, and remediation |
JP5345157B2 (ja) * | 2008-06-13 | 2013-11-20 | ジーブイビービー ホールディングス エス.エイ.アール.エル. | ログ情報の表示方法および装置 |
JP2010039796A (ja) * | 2008-08-06 | 2010-02-18 | Fujitsu Ltd | ロギング情報採取装置,ロギング情報採取方法およびロギング情報採取プログラム |
US8260751B2 (en) * | 2008-08-12 | 2012-09-04 | Tdi Technologies, Inc. | Log file time sequence stamping |
JP5444673B2 (ja) * | 2008-09-30 | 2014-03-19 | 富士通株式会社 | ログ管理方法、ログ管理装置、ログ管理装置を備えた情報処理装置、及びプログラム |
US20120240019A1 (en) | 2011-03-17 | 2012-09-20 | Ebay Inc. | Method and system for tracking web link usage |
JP6031735B2 (ja) * | 2011-06-13 | 2016-11-24 | ソニー株式会社 | 情報処理装置、情報処理方法およびコンピュータプログラム |
JP5642725B2 (ja) * | 2012-02-22 | 2014-12-17 | 日本電信電話株式会社 | 性能分析装置、性能分析方法及び性能分析プログラム |
US20130249917A1 (en) * | 2012-03-26 | 2013-09-26 | Microsoft Corporation | Profile data visualization |
JP2016031733A (ja) * | 2014-07-30 | 2016-03-07 | 富士通株式会社 | 推論容易性算出プログラム、装置、及び方法 |
JP6352753B2 (ja) * | 2014-09-29 | 2018-07-04 | 株式会社東芝 | グラフ表示装置、方法、及びプログラム |
US9729671B2 (en) * | 2014-10-05 | 2017-08-08 | YScope Inc. | Systems and processes for computer log analysis |
JP6319271B2 (ja) * | 2015-11-09 | 2018-05-09 | 横河電機株式会社 | イベント解析装置、イベント解析システム、イベント解析方法、およびイベント解析プログラム |
KR101690075B1 (ko) * | 2015-12-18 | 2016-12-27 | 주식회사 한글과컴퓨터 | 로그기반 소스코드파일 이슈도 구현 방법 |
JP2017162135A (ja) * | 2016-03-09 | 2017-09-14 | 三菱電機株式会社 | 情報処理装置、デバッグシステムおよびスタックオーバフロー検出方法 |
JP6559600B2 (ja) * | 2016-03-17 | 2019-08-14 | 株式会社東芝 | 情報処理装置、情報処理プログラムおよび検査システム |
JP6925433B2 (ja) * | 2017-10-20 | 2021-08-25 | 三菱電機株式会社 | データ検証装置、データ検証方法及びデータ検証プログラム |
US11669613B2 (en) | 2020-05-29 | 2023-06-06 | EnSoft Corp. | Method for analyzing and verifying software for safety and security |
CN113157526B (zh) * | 2021-04-25 | 2021-11-30 | 珠海市鸿瑞信息技术股份有限公司 | 一种基于电力监控系统的日志审计系统 |
US20240160518A1 (en) * | 2022-11-15 | 2024-05-16 | International Business Machines Corporation | Dynamic registration of software components for diagnosis of root cause of failure |
CN117076161B (zh) * | 2023-10-16 | 2023-12-29 | 湖南于一科技有限公司 | 通过选取框选内容的方式获取和写入数据的方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61262858A (ja) * | 1985-05-15 | 1986-11-20 | Mitsubishi Electric Corp | プログラムデバツグ装置 |
JPH02272668A (ja) * | 1989-04-13 | 1990-11-07 | Nec Corp | トランザクション実行時系列図表編集方式 |
JPH05134903A (ja) * | 1991-11-13 | 1993-06-01 | Nec Corp | プログラム動作解析装置 |
JPH07253913A (ja) * | 1994-03-16 | 1995-10-03 | Fujitsu Ltd | ログ解析プログラムの検証装置 |
-
1996
- 1996-03-26 JP JP07019796A patent/JP3472026B2/ja not_active Expired - Fee Related
- 1996-09-18 US US08/715,401 patent/US5819094A/en not_active Expired - Fee Related
- 1996-10-04 DE DE19640876A patent/DE19640876C2/de not_active Expired - Fee Related
- 1996-10-10 KR KR1019960044998A patent/KR100257470B1/ko not_active IP Right Cessation
Non-Patent Citations (2)
Title |
---|
IBM Technical Disclosure Bulletin, Vol. 38, No. 3, März 1995, S. 67-69 * |
KABITZSCH, Klaus und andere: Fehlersuche in verteilten Anwendungen, in: Elektronik 12/1995, S. 118-120, 122-124 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
SG80592A1 (en) * | 1998-05-07 | 2001-05-22 | Panasonic Singapore Lab Pte Lt | Graphical microcontroller software development system flow chart engine |
DE102005025265B4 (de) * | 2005-06-02 | 2010-12-23 | Audi Ag | Verfahren und Vorrichtung zum Erfassen und Auswerten von Daten von zumindest einer Einheit in einem Kraftfahrzeug |
Also Published As
Publication number | Publication date |
---|---|
US5819094A (en) | 1998-10-06 |
DE19640876C2 (de) | 1998-11-12 |
KR100257470B1 (ko) | 2000-06-01 |
JPH09259011A (ja) | 1997-10-03 |
KR970066937A (ko) | 1997-10-13 |
JP3472026B2 (ja) | 2003-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE19640876C2 (de) | Vorrichtung zur Protokolldatensammlung und -Analyse | |
Kieslich et al. | Mouse-tracking: A practical guide to implementation and analysis 1 | |
DE60033121T2 (de) | Arbeitsplatz für klinische Forschung | |
DE19632854B4 (de) | Kontext-Identifizierer verwendendes System und Verfahren für eine individuelle Menüanpassung in einem Fenster | |
DE19706512B4 (de) | Echtzeit-Ereignisanordnung in einem elektronischen Ablaufdiagramm | |
DE69911266T2 (de) | Computerprogrammprofiler | |
DE3911465C2 (de) | Verfahren zur automatischen Konfiguration technischer Systeme aus Komponenten | |
DE3040245A1 (de) | Blutzellenidentifikations- und -klassifiziereinrichtung | |
DE10002305A1 (de) | Managementsystem für Schneidmaschinen | |
DE4234239A1 (de) | Verfahren und system zur informationsverwaltung und -aufzeichnung | |
DE60111698T2 (de) | Gerät zur Simulation von NC-Bearbeitung | |
JP2004174230A (ja) | 時系列データの対話型注釈および測定機能を実行する方法と装置 | |
JP2004148105A (ja) | 自動マーカ・シーケンス作成を行う時系列データの対話型注釈および測定機能を実行する方法と装置 | |
DE4108590A1 (de) | System und verfahren zum benchmark-testen der arbeitsgeschwindigkeit eines computersystems | |
DE10047612B4 (de) | Logikanalysator mit durch ein Signalformexemplar definierter Trigger-Spezifikation | |
DE102004010854A1 (de) | Anzeigen von Netzsegmentdecodierinformationen in schematischer Form | |
DE10204657A1 (de) | Nachrichtenanalyseeinrichtung und Verfahren zum Anzeigen von Nachrichten | |
EP0228480A1 (de) | Verfahren und Einrichtung zur Analyse von Steuerprogrammen | |
DE10039538A1 (de) | Vorrichtung und Methode zum Analysieren der Leistung eines Computerprogramms | |
EP1211099A2 (de) | Verfahren zum digitalen Drucken von zusammengesetzten Dokumenten | |
DE10017551C2 (de) | Verfahren zur zyklischen, interaktiven Bildanalyse sowie Computersystem und Computerprogramm zur Ausführung des Verfahrens | |
DE69814750T2 (de) | Logikanalysator zur Erkennung der Übereinstimmung einer Abtastungsprobe mit einem Quellcodebefehl | |
DE10027822B4 (de) | Unterdrückung von Datenabtastwerten | |
DE19615683A1 (de) | Verfahren und Steuereinrichtung für eine graphische Steuerung von Abläufen in einem Netzwerkmanagementsystem | |
DE4100899A1 (de) | System fuer die steuerung des ablaufs von testsequenzen in einer informationsverarbeitungsvorrichtung |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
D2 | Grant after examination | ||
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |