4D v16.3

GET ACTIVITY SNAPSHOT

Home

 
4D v16.3
GET ACTIVITY SNAPSHOT

GET ACTIVITY SNAPSHOT 


 

GET ACTIVITY SNAPSHOT ( arrAktivität | arrUUID ; arrStart ; arrDauer ; arrInfo {; arrDetails}{; *} ) 
Parameter Typ   Beschreibung
arrAktivität | arrUUID  Array Objekt, Array Text in Komplette Beschreibung der Operationen (Array Objekt)
oder Operation UUIDs(Array Text)
arrStart  Array Text in Startzeit der Operation
arrDauer  Array Lange Ganzzahl in Dauer der Operation in Sekunden
arrInfo  Array Text in Beschreibung
arrDetails  Array Objekt in Kontext Details und Unteroperationen (sofern vorhanden)
Operator in Mit Stern: Erhalte Server Aktivität

Der Befehl GET ACTIVITY SNAPSHOT gibt Arrays zurück, die mit 4D Daten ablaufende Operationen beschreiben. Diese Operationen zeigen in der Regel ein Ablaufdialog.

So erhalten Sie eine Momentaufnahme der Operationen, die am meisten Zeit benötigen bzw. am häufigsten auf dem Server laufen, wie z.B. Schreiben in den Cache oder Ausführen von Formeln.

Hinweis: Die vom Befehl GET ACTIVITY SNAPSHOT zurückgegebene Information ist dieselbe wie auf der Seite "Real-time monitor" (RTM) des Verwaltungsfensters von 4D Server. Weitere Informationen dazu finden Sie auf der Seite Real Time Monitor des 4D Server Handbuchs.

GET ACTIVITY SNAPSHOT bearbeitet standardmäßig Operationen, die lokal ausgeführt werden (mit 4D Einzelplatz, 4D Server oder 4D im remote Modus).
Mit 4D im remote Modus können Sie aber auch eine Momentaufnahme der Operationen erhalten, die auf dem Server ausgeführt werden. Dazu müssen Sie nur den Stern (*) als letzten Parameter übergeben. Dann werden die Server Daten auch lokal übermittelt.
Der Parameter * wird beim Ausführen des Befehls auf 4D Server oder im 4D Einzelplatz ignoriert.

Der Befehl akzeptiert zwei Syntaxarten:

  • Syntax mit nur einem Array Objekt
  • Syntax mit mehreren Arrays

Mit dieser Syntax werden alle Operationen in strukturierter Form im 4D Array Objekt (arrAktivität) zurückgegeben. Jedes Element des Array ist ein Objekt in folgender Form:

[
    {
        "message":"xxx",
        "maxValue":12321,
        "currentValue":63212,
        "interruptible:0,
        "remote":0,
        "uuid":"deadbeef",
        "taskId":xxx,
        "startTime":"2014-03-20 13:37:00:123",
        "duration":92132,
        "dbContextInfo":{
            "task_id": xxx,
            "user_name": Jean,
            "host_name": HAL,
            "task_name": "CreateIndexLocal",
            "client_uid": "DE4DB33F33F"
            "user4d_id ": 1,
            "client_version ": 123456
        },
        "dbOperationDetails":{
            table: "myTable"
            field: "Field_1"
        },
        "subOperations":[
            {"message":"xxx",
            ...}
            ]
    },
    {...}
]

Hier die Beschreibung der Eigenschaften:

  • message (Text): Art der Operation
  • maxValue (Zahl): Anzahl Wiederholungen für diese Operation (-1 für nicht wiederholte Operationen)
  • currentValue (Zahl): Aktuelle Wiederholung
  • interruptible (Zahl): Operation kann durch Anwender abgebrochen werden (0=Ja, 1=Nein)
  • remote (Zahl): Operation läuft auf Client und Server (0=Ja, 1=Nein)
  • uuid (Text): UUID Identifier für Operation
  • taskId (Zahl): Interne ID des Prozesses der die Operation gestartet hat
  • startTime (Text): Start Zeit der Operation in Format "yyyy:mm:dd hh:mm:ss:mls"
  • duration (Zahl): Dauer der Operation in Millisekunden
  • dbContextInfo (Objekt): Information zu Operationen, die über die Datenbank-Engine verwalten werden. Es gibt folgende Eigenschaften:
    • host_name (String): Name des Host, der die Operation gestartet hat
    • user_name (String): Name des 4D Anwenders, dessen Sitzung die Operation gestartet hat
    • task_name (String):  Name des Prozesses, der die Operation gestartet hat
    • task_id (Zahl): Nummer des Prozesses, der die Operation gestartet hat
    • client_uid (String): optional, uuid des Client, der die Operation gestartet hat
    • is_remote_context (Boolean, 0 oder 1): optional, gibt an, ob die Datenbankoperation von einem Client (Wert 1) oder vom Server über eine Serverprozedur (Wert 0)
    • user4d_id (num): Nummer des aktuellen 4D Anwenders auf der Client-Seite
    • client_version (String): vier Stellen für die 4D Engine der Anwendung, so wie vom Befehl Application version zurückgegeben.
    Hinweis: client_uid und is_remote_context sind nur in der Client/ServerUmgebung verfügbar. client_uid wird nur zurückgegeben, wenn die Datenbankoperation auf einen Client-Rechner gestartet wurde.
  • dbOperationDetails (Objekt): Die Eigenschaft wird nur zurückgegeben, wenn die Operation die Datenbank-Engine verwendet. Das gilt z.B. für Suchläufe bzw. Sortierungen. Es ist ein Objekt mit spezifischen Informationen zur Operation ansich. Die verfügbaren Eigenschaften richten sich nach der ausgeführten Datenbankoperation. Sie können z.B. enthalten:
    • table (String): Name der Tabelle, die von der Operation verwendet wird
    • field (String): Name des Feldes, das von der Operation verwendet wird
    • queryPlan (String): Suchplan, der für die Operation definiert wurde
    • ...
  • subOperations (Array): Array Objekt mit Unteroperationen für die aktuelle Operation (falls vorhanden). Die Struktur jedes Unterelements ist identisch zum Hauptobjekt. Gibt es keine Unteroperationen, ist der Eintrag leer.

Mit dieser Syntax erscheinen alle Operationen in mehreren synchronisierten Arrays (bei jeder Operation wird ein Element in allen Arrays hinzugefügt). Folgende Arrays werden zurückgegeben:

  • arrUUID: Enthält die UUIDs jeder Operation (entspricht der Eigenschaft uuid des Objekts arrAktivität in der oberen Syntax)
  • arrStart: Enthält die Startzeiten jeder Operation (entspricht der Eigenschaft startTime des Objekts arrAktivität in der oberen Syntax)
  • arrDauer: Enthält die Dauer jeder Operation in Millisekunden (entspricht der Eigenschaft duration des Objekts arrAktivität in der oberen Syntax)
  • arrInfo: Enthält die Bezeichnungen, die jede Operation beschreiben (entspricht der Eigenschaft message des Objekts arrAktivität in der oberen Syntax)
  • arrDetails (optional): Jedes Element dieses Array ist ein Objekt mit der Eigenschaft "Unteroperation" mit folgenden Eigenschaften:
    • "dbContextInfo" (Objekt): siehe oben
    • "dbOperationDetails" (Objekt): siehe oben
    • "Unteroperationen": Der Wert dieser Eigenschaft ist ein Array Objekt mit all den Unteroperationen zur aktuellen Operation. Hat die aktuelle Operation keine Unteroperationen, ist der Wert der Eigenschaft Unteroperationen ein leeres Array (entspricht der Eigenschaft Unteroperationen des Objekts Aktivität).

Diese Methode, die in einem eigenen Prozess in 4D oder 4D Server ausgeführt wird, liefert folgenden Schnappschuss der gerade ablaufenden Operationen:

 ARRAY TEXT(arrUUID;0)
 ARRAY TEXT(arrStart;0)
 ARRAY LONGINT(arrDuration;0)
 ARRAY TEXT(arrInfo;0)
 
 Repeat
    GET ACTIVITY SNAPSHOT(arrUUID;arrStart;arrDuration;arrInfo)
    If(Size of array(arrUUID)>0)
       TRACE // Debugger aufrufen
    End if
 Until(False// Nicht beendete Schleife

Sie erhalten z.B. folgende Arrays:

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Werkzeuge
Nummer: 1277

This command can be run in preemptive processes

 
GESCHICHTE 

Erstellt: 4D v14
Geändert: 4D v14 R3

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v16)
4D Programmiersprache ( 4D v16.1)
4D Programmiersprache ( 4D v16.2)
4D Programmiersprache ( 4D v16.3)