Protokollierungsfunktionen für Echtzeit- und Nicht-Echtzeitanwendungen

9

Wir entwickeln sowohl Standard- als auch Echtzeitanwendungen, die auf einem RT-Linux laufen. Frage ist, was wäre eine effiziente Möglichkeit, Anwendungsspuren sowohl von Echtzeit- als auch von Nicht-Echtzeit-Prozessen zu protokollieren ?

By effecient , ich meine, dass der Prozess der Protokollierung von Anwendungstraces keine RT-Perf-Treffer durch steigende Latenz etc. verursachen sollte.

Traces sollten idealerweise in einer einzigen Datei mit Zeitstempel gespeichert werden, um die Interaktion zwischen den Prozessen zu verfolgen.

    
fduff 23.01.2013, 21:21
quelle

2 Antworten

1

Da Sie Linux verwenden, können Sie syslog () verwenden:

  

openlog () öffnet eine Verbindung zum Systemlogger für ein Programm.

Das bedeutet, dass Ihr Programm Nachrichten an ein anderes Programm weiterleitet, das eine niedrige Priorität haben kann.

Wenn Sie etwas ausgefalleneres möchten, dann Boost-Protokollierung .

    
BЈовић 23.01.2013, 21:35
quelle
4

Für die Echtzeit-Protokollierung empfehle ich, andere Methoden zu verwenden als die bloße Protokollierung in Dateien. Wenn Sie eine Menge Informationen in Dateien schreiben, beeinträchtigt Ihre Leistung.

Ich kann andere leichtere Mechanismen empfehlen:

  • Verwenden Sie Statistiken / Zähler, um zu füllen, was Ihre Anwendung macht
  • Schreiben / codieren Sie Protokolle in einem Binärformat, um sie offline zu verarbeiten. Dieses Binärformat ist möglicherweise kompakter und damit leichter.
dimba 23.01.2013 21:35
quelle

Tags und Links