ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
Loading...
Searching...
No Matches
asciichat_instr_runtime Struct Reference

Per-thread instrumentation runtime state. More...

Data Fields

int fd
 Log file descriptor (-1 if not open)
 
int pid
 Process ID.
 
uint64_t thread_id
 Thread ID.
 
uint64_t sequence
 Sequence number for log entries.
 
uint64_t call_counter
 Total number of instrumentation calls.
 
char log_path [PATH_MAX]
 Path to log file.
 
bool filters_enabled
 Whether any filters are active.
 
const char * filter_include
 File path substring to include (from env var)
 
const char * filter_exclude
 File path substring to exclude (from env var)
 
const char * filter_function_include
 Function name substring to include (from env var)
 
const char * filter_function_exclude
 Function name substring to exclude (from env var)
 
const char * filter_thread
 Thread ID filter (from env var)
 
regex_t include_regex
 Compiled regex for file path inclusion.
 
bool include_regex_valid
 Whether include_regex was successfully compiled.
 
regex_t exclude_regex
 Compiled regex for file path exclusion.
 
bool exclude_regex_valid
 Whether exclude_regex was successfully compiled.
 
regex_t function_include_regex
 Compiled regex for function name inclusion.
 
bool function_include_regex_valid
 Whether function_include_regex was successfully compiled.
 
regex_t function_exclude_regex
 Compiled regex for function name exclusion.
 
bool function_exclude_regex_valid
 Whether function_exclude_regex was successfully compiled.
 
uint32_t rate
 Rate limiting: log every Nth call.
 
bool rate_enabled
 Whether rate limiting is enabled.
 
bool stderr_fallback
 Use stderr if log file can't be opened.
 
asciichat_instr_only_list_t only_selectors
 List of "only" selectors for filtering.
 

Detailed Description

Per-thread instrumentation runtime state.

Tracks state for source code instrumentation logging, including file descriptors, filter configuration, and rate limiting for the current thread.

Definition at line 98 of file instrument_log.c.

Field Documentation

◆ call_counter

uint64_t asciichat_instr_runtime::call_counter

Total number of instrumentation calls.

Definition at line 103 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().

◆ exclude_regex

regex_t asciichat_instr_runtime::exclude_regex

Compiled regex for file path exclusion.

Definition at line 114 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ exclude_regex_valid

bool asciichat_instr_runtime::exclude_regex_valid

Whether exclude_regex was successfully compiled.

Definition at line 115 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ fd

int asciichat_instr_runtime::fd

Log file descriptor (-1 if not open)

Definition at line 99 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), asciichat_instr_runtime_destroy(), and asciichat_instr_runtime_get().

◆ filter_exclude

const char* asciichat_instr_runtime::filter_exclude

File path substring to exclude (from env var)

Definition at line 107 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ filter_function_exclude

const char* asciichat_instr_runtime::filter_function_exclude

Function name substring to exclude (from env var)

Definition at line 109 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ filter_function_include

const char* asciichat_instr_runtime::filter_function_include

Function name substring to include (from env var)

Definition at line 108 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ filter_include

const char* asciichat_instr_runtime::filter_include

File path substring to include (from env var)

Definition at line 106 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ filter_thread

const char* asciichat_instr_runtime::filter_thread

Thread ID filter (from env var)

Definition at line 110 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ filters_enabled

bool asciichat_instr_runtime::filters_enabled

Whether any filters are active.

Definition at line 105 of file instrument_log.c.

Referenced by asciichat_instr_runtime_get().

◆ function_exclude_regex

regex_t asciichat_instr_runtime::function_exclude_regex

Compiled regex for function name exclusion.

Definition at line 118 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ function_exclude_regex_valid

bool asciichat_instr_runtime::function_exclude_regex_valid

Whether function_exclude_regex was successfully compiled.

Definition at line 119 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ function_include_regex

regex_t asciichat_instr_runtime::function_include_regex

Compiled regex for function name inclusion.

Definition at line 116 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ function_include_regex_valid

bool asciichat_instr_runtime::function_include_regex_valid

Whether function_include_regex was successfully compiled.

Definition at line 117 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ include_regex

regex_t asciichat_instr_runtime::include_regex

Compiled regex for file path inclusion.

Definition at line 112 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ include_regex_valid

bool asciichat_instr_runtime::include_regex_valid

Whether include_regex was successfully compiled.

Definition at line 113 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ log_path

char asciichat_instr_runtime::log_path[PATH_MAX]

Path to log file.

Definition at line 104 of file instrument_log.c.

◆ only_selectors

asciichat_instr_only_list_t asciichat_instr_runtime::only_selectors

List of "only" selectors for filtering.

Definition at line 124 of file instrument_log.c.

Referenced by asciichat_instr_runtime_destroy().

◆ pid

int asciichat_instr_runtime::pid

Process ID.

Definition at line 100 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().

◆ rate

uint32_t asciichat_instr_runtime::rate

Rate limiting: log every Nth call.

Definition at line 121 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().

◆ rate_enabled

bool asciichat_instr_runtime::rate_enabled

Whether rate limiting is enabled.

Definition at line 122 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().

◆ sequence

uint64_t asciichat_instr_runtime::sequence

Sequence number for log entries.

Definition at line 102 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().

◆ stderr_fallback

bool asciichat_instr_runtime::stderr_fallback

Use stderr if log file can't be opened.

Definition at line 123 of file instrument_log.c.

Referenced by asciichat_instr_log_line().

◆ thread_id

uint64_t asciichat_instr_runtime::thread_id

Thread ID.

Definition at line 101 of file instrument_log.c.

Referenced by asciichat_instr_log_line(), and asciichat_instr_runtime_get().


The documentation for this struct was generated from the following file: