Skip to content

Commit f3cd240

Browse files
jbachorikclaude
andcommitted
Implement liveness-aware CallTraceStorage with dropped trace handling
Major architectural changes: - Replace monolithic CallTraceStorage with double-buffered hash table design - Add CallTraceHashTable with lock-free concurrent access and instance-based trace IDs - Implement liveness tracking system to preserve active traces across JFR dumps - Add dropped trace handling for lock contention with proper JFR integration Key features: - 64-bit trace IDs combining instance ID and slot for collision avoidance - Split-lock strategy minimizing exclusive lock time during trace collection - Platform-specific ASGCT_CallFrame alignment using LP64_ONLY macro - Comprehensive test coverage including contention and liveness scenarios 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
1 parent 9b2ac93 commit f3cd240

21 files changed

+1990
-519
lines changed

ddprof-lib/src/main/cpp/arch_dd.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33

44
#include "arch.h"
55

6+
#define COMMA ,
7+
68
#include <stddef.h>
79

810
static inline long long atomicInc(volatile long long &var,

0 commit comments

Comments
 (0)