Start/notes.ini Parameter/DEBUG_THREADID

DEBUG_THREADID

Parameter: DEBUG_THREADID
Kurzbeschreibung: Schaltet die Ausgabe von Prozess-ID und Thread-ID vor jeder Domino-Konsolen-/Logzeile ein (Format [PID:HEX-TID]). Voraussetzung für nahezu alle anspruchsvollen Diagnosen (Hang, Crash, Performance); ab Domino 8.5.3 standardmäßig auf 1 gesetzt.

Steckbrief

Parameter
DEBUG_THREADID
Komponente
Server
Kategorie
Logging / Debug
Verfügbar seit
Domino 7.x; ab Domino 8.5.3 standardmäßig in notes.ini neuer Server
Wertformat
0 (aus) oder 1 (an)
Default
1 ab Domino 8.5.3, sonst nicht gesetzt

Beschreibung

Ist DEBUG_THREADID gesetzt, schreibt Domino vor jede Konsolen- bzw. console.log-Zeile einen Präfix wie:
[4674:000E-30C8] 09/13/2016 09:49:47.90 PM SSLProcessHandshakeMessage Exit> ...
Die Bestandteile:
  • 4674 – Prozess-ID (z. B. von nserver).
  • 000E – interner Task-/Sub-Task-Zähler.
  • 30C8 – Thread-ID (hex).

Warum unverzichtbar

Ohne diesen Präfix lassen sich Log-Zeilen nicht zuverlässig einzelnen Threads zuordnen. Multi-Thread-Tasks wie HTTP, Router, Replicator, IMAP, NRPC, JVM und auch der Konsolen-Logger selbst schreiben aus mehreren Threads parallel – Diagnosen wie „welcher Thread hängt?“, „welcher Thread hat den SSL-Fehler verursacht?“ oder „welche Anfrage gehört zu welcher Antwort?“ sind dann nicht beantwortbar.
HCL Customer Support fordert DEBUG_THREADID daher explizit in einer ganzen Reihe von Daten-Sammlungs-Anleitungen, u. a.:
  • KB0028296 „Collecting data for Domino Server hang/bad performance“ – setzt DEBUG_THREADID=1 als ersten Schritt der Datensammlung.
  • KB0028298 „Collecting Data for HCL Domino server NRPC mail routing issues“ – dito.
  • KB0034115 „How to track changes to the Notes.ini file in Domino server“ – fordert Debug_ThreadID=1 zusammen mit Console_Log_Enabled=1.

Setzbarkeit zur Laufzeit

Der Parameter kann auf der Server-Konsole ohne Restart gesetzt werden:
set config DEBUG_THREADID=1
Damit wirkt er sofort. Dauerhaft sollte er jedoch in der notes.ini bzw. dem Configuration Document hinterlegt werden, damit er auch nach Server-Restart aktiv ist.

Default ab 8.5.3

Ab Domino 8.5.3 wurde DEBUG_THREADID=1 in die Standard-notes.ini neuer Server aufgenommen (HCL Forum, 8.5er-Diskussion). Bei In-Place-Upgrades älterer Server kann es vorkommen, dass der Eintrag automatisch hinzugefügt wird – das ist ausdrücklich gewünscht und sollte nicht entfernt werden.

Beispiele

Für jede Server-Diagnose-Session:
Console_Log_Enabled=1 DEBUG_THREADID=1
Vorübergehend abschalten (Eintrag stehen lassen, damit Upgrade-Skripte ihn nicht erneut auf 1 setzen):
DEBUG_THREADID=0

Hinweise

  • Performance-Overhead – vernachlässigbar; HCL empfiehlt den Parameter in vielen KBs ohne Einschränkungen für den Produktionsbetrieb.
  • Pflicht für HCL-Support-Tickets – Wer ein Performance-/Hang-Ticket bei HCL eröffnet, wird in der Regel aufgefordert, DEBUG_THREADID=1 zu setzen, bevor weitere Daten gesammelt werden.
  • BegleitparameterConsole_Log_Enabled, Console_Log_Max_Kbytes, Console_Log_Mirror, debug_outfile.
  • Schreibweise – In manchen HCL-Quellen wird der Parameter als Debug_ThreadID geschrieben. notes.ini-Schlüssel sind für Domino case-insensitiv – beide Schreibweisen sind äquivalent.

Quellen (HCL Product Documentation)