|
ascii-chat 0.8.38
Real-time terminal-based video chat with ASCII art conversion
|
Go to the source code of this file.
Data Structures | |
| struct | asciichat_instr_only_selector |
| Selector for filtering instrumentation output by file, function, or module. More... | |
| struct | asciichat_instr_only_list |
| Dynamic array of instrumentation selectors for filtering output. More... | |
| struct | asciichat_instr_runtime |
| Per-thread instrumentation runtime state. More... | |
Macros | |
| #define | ASCII_INSTR_SOURCE_PRINT_HAVE_REGEX 1 |
| #define | posix_write write |
| #define | ASCII_INSTR_SOURCE_PRINT_DEFAULT_BASENAME "ascii-instr" |
| #define | ASCII_INSTR_SOURCE_PRINT_MAX_LINE 4096 |
| #define | ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET 2048 |
Typedefs | |
| typedef enum asciichat_instr_selector_type | asciichat_instr_selector_type_t |
| typedef struct asciichat_instr_only_selector | asciichat_instr_only_selector_t |
| Selector for filtering instrumentation output by file, function, or module. | |
| typedef struct asciichat_instr_only_list | asciichat_instr_only_list_t |
| Dynamic array of instrumentation selectors for filtering output. | |
| typedef struct asciichat_instr_runtime | asciichat_instr_runtime_t |
| Per-thread instrumentation runtime state. | |
Functions | |
| asciichat_instr_runtime_t * | asciichat_instr_runtime_get (void) |
| void | asciichat_instr_runtime_destroy (asciichat_instr_runtime_t *runtime) |
| void | asciichat_instr_runtime_global_destroy (void) |
| void | asciichat_instr_log_line (const char *file_path, uint32_t line_number, const char *function_name, const char *snippet, uint8_t is_macro_expansion) |
| bool | asciichat_instr_coverage_enabled (void) |
| void | asciichat_instr_log_pc (uintptr_t program_counter) |
| #define ASCII_INSTR_SOURCE_PRINT_DEFAULT_BASENAME "ascii-instr" |
Definition at line 56 of file instrument_log.c.
| #define ASCII_INSTR_SOURCE_PRINT_HAVE_REGEX 1 |
Definition at line 33 of file instrument_log.c.
| #define ASCII_INSTR_SOURCE_PRINT_MAX_LINE 4096 |
Definition at line 60 of file instrument_log.c.
| #define ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET 2048 |
Definition at line 64 of file instrument_log.c.
| #define posix_write write |
Definition at line 52 of file instrument_log.c.
| typedef struct asciichat_instr_only_list asciichat_instr_only_list_t |
Dynamic array of instrumentation selectors for filtering output.
| typedef struct asciichat_instr_only_selector asciichat_instr_only_selector_t |
Selector for filtering instrumentation output by file, function, or module.
| typedef struct asciichat_instr_runtime asciichat_instr_runtime_t |
Per-thread instrumentation runtime state.
Tracks state for source code instrumentation logging, including file descriptors, filter configuration, and rate limiting for the current thread.
| Enumerator | |
|---|---|
| ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_SUBSTRING | |
| ASCII_INSTR_SOURCE_PRINT_SELECTOR_FILE_GLOB | |
| ASCII_INSTR_SOURCE_PRINT_SELECTOR_FUNCTION_GLOB | |
| ASCII_INSTR_SOURCE_PRINT_SELECTOR_MODULE | |
Definition at line 67 of file instrument_log.c.
| bool asciichat_instr_coverage_enabled | ( | void | ) |
Definition at line 434 of file instrument_log.c.
References mutex_init().
Referenced by asciichat_instr_log_pc().
| void asciichat_instr_log_line | ( | const char * | file_path, |
| uint32_t | line_number, | ||
| const char * | function_name, | ||
| const char * | snippet, | ||
| uint8_t | is_macro_expansion | ||
| ) |
Definition at line 284 of file instrument_log.c.
References ASCII_INSTR_SOURCE_PRINT_MAX_LINE, ASCII_INSTR_SOURCE_PRINT_MAX_SNIPPET, asciichat_instr_runtime_get(), asciichat_instr_runtime::call_counter, asciichat_instr_runtime::fd, file_path, format_duration_ns(), asciichat_instr_runtime::pid, posix_write, asciichat_instr_runtime::rate, asciichat_instr_runtime::rate_enabled, safe_snprintf(), asciichat_instr_runtime::sequence, asciichat_instr_runtime::stderr_fallback, asciichat_instr_runtime::thread_id, time_elapsed_ns(), time_get_ns(), and time_get_realtime_ns().
Referenced by asciichat_instr_log_pc().
| void asciichat_instr_log_pc | ( | uintptr_t | program_counter | ) |
Definition at line 456 of file instrument_log.c.
References asciichat_instr_coverage_enabled(), asciichat_instr_log_line(), and safe_snprintf().
Referenced by __sanitizer_cov_trace_pc_guard().
| void asciichat_instr_runtime_destroy | ( | asciichat_instr_runtime_t * | runtime | ) |
Definition at line 221 of file instrument_log.c.
References asciichat_instr_runtime::exclude_regex, asciichat_instr_runtime::exclude_regex_valid, asciichat_instr_runtime::fd, asciichat_instr_runtime::function_exclude_regex, asciichat_instr_runtime::function_exclude_regex_valid, asciichat_instr_runtime::function_include_regex, asciichat_instr_runtime::function_include_regex_valid, asciichat_instr_runtime::include_regex, asciichat_instr_runtime::include_regex_valid, asciichat_instr_runtime::only_selectors, and platform_close().
| asciichat_instr_runtime_t * asciichat_instr_runtime_get | ( | void | ) |
Definition at line 167 of file instrument_log.c.
References ascii_tls_get(), ascii_tls_set(), asciichat_thread_current_id(), asciichat_instr_runtime::call_counter, asciichat_instr_runtime::fd, asciichat_instr_runtime::filter_exclude, asciichat_instr_runtime::filter_function_exclude, asciichat_instr_runtime::filter_function_include, asciichat_instr_runtime::filter_include, asciichat_instr_runtime::filter_thread, asciichat_instr_runtime::filters_enabled, mutex_init(), asciichat_instr_runtime::pid, platform_get_pid(), asciichat_instr_runtime::rate, asciichat_instr_runtime::rate_enabled, asciichat_instr_runtime::sequence, and asciichat_instr_runtime::thread_id.
Referenced by asciichat_instr_log_line().
| void asciichat_instr_runtime_global_destroy | ( | void | ) |
Definition at line 254 of file instrument_log.c.
References ascii_tls_key_delete(), and mutex_destroy().