Harlequin RIP SDK

Capture profiling information from RIP. More...

#include <stddef.h>
#include <time.h>
#include <string.h>
#include <stdio.h>
#include <windows.h>
#include "std.h"
#include "hqatomic.h"
#include "swtrace.h"
#include "probelog.h"

Functions

static DWORD WINAPI map_probes_thread (LPVOID param)
 

Detailed Description

Capture profiling information from RIP.

This file implements a log handler that captures events to a memory-mapped file. The memory mapped format is designed so that probes may be graphed in real time, or saved for later analysis. It uses native threads rather than pthreads, because the RIP may not have loaded the pthreads DLL at initialisation. (The multi threaded Windows builds explicitly load the pthreads DLL during RIP initialisation; the logging API may be called by the skin before the RIP is initialised.)

See also
Lightweight tracing API.

Function Documentation

◆ map_probes_thread()

static DWORD WINAPI map_probes_thread ( LPVOID  param)
static

This thread asynchronously extends (remaps) the probe memory when it gets too close to the end of a block. If this happens early enough, we shouldn't need to extend in the actual probe function.