Sledování činnosti serveru 4D pomocí tohoto nového nástroje

Automaticky přeloženo z Deepl
Bylo uvolněno mnoho funkcí, které vám pomohou spravovat činnost serveru 4D Server. 4D v18 R3 poskytuje správcům 4D další nástroj pro monitorování činnosti 4D Serveru. Nástroj, který umožňuje získat všechny operace prováděné po uplynutí zadaného času a také příslušné podrobnosti o zapojených tabulkách, polích a klientech.
Tato funkce nejenže umožňuje vše výše uvedené, ale také usnadňuje optimalizaci kódu, identifikaci problémů a uvolnění zdrojů 4D Serveru.

HDI: Sledování činnosti aplikace 4D

4D zavádí novou sadu příkazů pro monitorování vaší aplikace 4D. Umožňují zaznamenávat činnost (v paměti) trvající déle než daný časový limit.

Můžete určit druh činnosti, kterou chcete sledovat:

  • 4D data: operace týkající se samotných 4D dat,
  • síťová aktivita: získáte stejné informace jako v souboru 4DRequestsLog (*),
  • provádění jazyka: získáte stejné informace jako v souboru 4DDebugLog (*).

(*) Příslušné soubory protokolů není třeba aktivovat, takže na disku nezabírají žádné místo.

Příkaz START MONITORING ACTIVITY (Spustit monitorování činnosti)

Na adrese START MONITORING ACTIVITY Příkaz přebírá jako parametry prahovou hodnotu trvání a typ operací, které se mají sledovat . K tomu lze použít následující nové konstanty pro monitorování:

  • Activity operations: operace v datech 4D
  • Activity network: operace síťové aktivity
  • Activity language: operace provádění jazyka

Příkaz Get Monitored Activity (Získat monitorovanou činnost)

Když chcete získat všechny zaznamenané činnosti, stačí zavolat nový příkaz Get Monitored Activity() příkaz!

Vrátí kolekci objektů s příslušnými informacemi, které můžete libovolně použít (vygenerovat soubor, zobrazit rozhraní pro správce atd.).

Příkaz STOP MONITOROVANÉ AKTIVITĚ

Když chcete ukončit nahrávání činnosti aplikace 4D nebo vyprázdnit paměť, stačí zavolat příkaz STOP MONITORING ACTIVITY příkaz.

konkrétní PŘÍKLAD

Ve většině případů bude vaše potřeba následující:

Každých 10 minut chci zkontrolovat, zda některé operace na mém serveru 4D trvaly déle než 10 sekund. Pokud ano, chci odeslat e-mail správci (nebo provést jinou akci).

Následující kód slouží právě k tomuto účelu.

Metoda ON při spuštění serveru

C_LONGINT($monitorProcessId)

STOP MONITORING ACTIVITY
// Detect 4D data operations which lasted more than 10s
START MONITORING ACTIVITY (10;Activity operations)
//Run a monitoring process
$monitorProcessId
:=New process("monitorOperations";0; "Sledování operací")

monitorovací proces (který má být spuštěn na serveru)

C_COLLECTION($activities)

While (Not(Process aborted))

// Inspect 4D data activity every 10 minutes
DELAY PROCESS (Current process;36000)
// Get the long operations and exclude backup operations

$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
// Empty the memory and restart the monitoring
STOP MONITORING ACTIVITY
START MONITORING ACTIVITY (10;Activity operations)
End if

End while

při metodě vypnutí serveru


C_COLLECTION
($activities)

$activities :=Get Monitored Activity().query("Not(activityData.message IN :1)";New collection("@backup@"))
If ($activities.length#0)
// Send an email to the administrator with $activities details
End if

Podívejte se na HDI a dozvíte se více!
Avatar
• Product Owner • Marie-Sophie Landrieu-Yvert se připojila k programovému týmu 4D jako Product Owner v roce 2017. Jako Product Owner má na starosti psaní uživatelských příběhů a jejich převod do funkčních specifikací. Její úlohou je také zajistit, aby implementovaná funkce odpovídala potřebám zákazníka. Marie-Sophie vystudovala inženýrskou školu ESIGELEC a svou kariéru zahájila jako inženýrka v IBM v roce 1995. Podílela se na různých projektech (projekty údržby nebo výstavby) a pracovala jako vývojářka Cobol. Poté pracovala jako UML designer a Java developer. V poslední době byly jejími hlavními rolí analyzovat a psát funkčních požadavky a koordinovat obchodní a vývojové týmy.