Commit Graph
1361 Commits
Author SHA1 Message Date
DingliZhang 7e34543e9d Fix VMStructs stack walking on RISC-V
RISC-V points FP at the sender SP instead of at the saved FP, so the frame
link pair lives below FP (frame_riscv.hpp: link_offset = -2,
return_addr_offset = -1). The stack walker assumed the x86/AArch64 layout,
and the interpreter frame offsets were hardcoded to the AArch64 values.

_interpreter_frame_bcp_offset was never set on RISC-V, so hasStackStructs()
returned false and cstack=vm was rejected. The profiler silently fell back
to AsyncGetCallTrace, which cannot walk StubRoutines frames: on a SPECjbb-like
workload 95% of the samples ended up in [unknown_Java], and inlined methods
were never expanded from the nmethod scopes.

Also teach unwindStub() about the two RISC-V stub prologues - the frame link
pushed by MacroAssembler::enter() and the plain SP decrement used by leaf
stubs - and implement unwindPrologue()/unwindEpilogue().

Measured with itimer sampling on qemu-riscv64, JDK 28: [unknown_Java] drops
from 94.9% to 0%, and arraycopy/md5/sha/crc32 stubs now resolve to the same
Java caller chains as x86_64. The x86_64 and AArch64 binaries are unchanged.
2026-08-30 08:44:25 +08:00
Chuan-kai Lin 55441a2a66 Fix JfrConverter.excludeStack() NullPointerException (#1792) nightly 2026-08-24 20:33:09 +01:00
Andrei Pangin a5702e8d59 Remove detection of obsolete .svg format 2026-08-23 02:45:17 +01:00
Andrei Pangin 6773882280 Avoid redundant copy when dumping OTLP (#1789) 2026-08-22 16:03:58 +01:00
Andrei Pangin 05c925be39 Removed useless flaky datagramSocketLock test 2026-08-22 02:10:27 +01:00
Andrei Pangin 285f06a846 Fix stack walking edge cases on ARM64 and GraalVM (#1787) 2026-08-21 16:40:05 +01:00
Andrei Pangin bb8f0476a1 Add service.name resource attribute to OTLP output (#1784) 2026-08-11 00:23:13 +01:00
Ben Taylor b583d82c2a Reduce flakiness in parseMultiModeRecording on JDK 8 (#1783) 2026-08-06 18:48:11 +01:00
Andrei Pangin a4d9dc8d93 Display actual value units in Flame Graph (#1782) 2026-08-04 02:19:47 +01:00
Andrei Pangin f265c0bcdc Combine Flame Graph and Tree View in a single HTML (#1780) 2026-08-04 02:06:39 +01:00
Andrei Pangin e6a4c08898 More accurate stack walking limit (#1781) 2026-08-04 02:06:28 +01:00
Andrei Pangin 72a2b6638f Fix clang warning 2026-08-03 00:47:50 +01:00
Andrei Pangin e84fbdd4f4 Cleanup/renaming after #1771 2026-08-01 18:55:13 +01:00
Bara' Hasheesh 5071b2f8bc Move pthread_setspecific hook to profiler space (#1779) 2026-08-01 18:35:49 +01:00
Bara' Hasheesh dc979c01bb Fix glibc TLS corruption (#1771) 2026-07-28 15:24:19 +01:00
Andrei Pangin a1f327fc8b Remove embedded HTTP server (#1776) 2026-07-27 12:00:33 +01:00
Andrei Pangin abe0e9676f Configurable rate limiter for JFR events (#1775) 2026-07-27 11:57:54 +01:00
Andrei Pangin a5cdc12ba6 Handle JAR manifests when building with Maven 2026-07-21 00:57:52 +01:00
Andrei Pangin 16aadd59b0 Updated links to v4.5 2026-07-21 00:02:30 +01:00
Andrei Pangin 3eaa991229 Fix --tlab mode on ARM64 (#1770) 2026-07-16 23:28:24 +01:00
Andrei Pangin 11aaea310c Fixed build failure when protobuf classes are missing v4.5 2026-07-13 19:45:53 +01:00
Andrei Pangin 35171b80bb Release 4.5 2026-07-13 18:25:37 +01:00
Andrei Pangin 589e9c82c6 Parse only essential libraries at load time (#1769) 2026-07-13 17:04:13 +01:00
Andrei Pangin a325d1ec42 Upgrade to opentelemetry-proto v1.10.0 (#1768) 2026-07-13 14:32:53 +01:00
Andrei Pangin 7a321b714e Do not use TSC on x86 if JFR fails to detect TSC frequency (#1767) 2026-07-13 14:32:42 +01:00
Andrei Pangin 9cb358e8b9 Fix full-match branch in instrument.cpp (#1766) 2026-07-13 14:32:31 +01:00
Andrei Pangin 5026f388c3 Fix vtable test failures on JDK 27 (#1765) 2026-07-13 14:32:17 +01:00
Andrei Pangin f9e3b915cd Span API: added Recording.clockFrequency() method (#1763) 2026-07-08 01:45:54 +01:00
Andrei Pangin c5c8d9f0b4 Parse DWARF unwinding info in .debug_frame section (#1758) 2026-07-02 18:13:55 +01:00
Andrei Pangin 4a7eb48427 Async-profiler should choose the same clock for timestamps as JFR (#1760) 2026-07-02 15:46:09 +01:00
Andrei Pangin 656d96b57f #1589: Fix flaky datagramSocketLock test 2026-06-24 01:05:07 +01:00
Andrei Pangin 4869584f74 Retire AL2 as a test platform (#1759) 2026-06-24 00:44:28 +01:00
Andrei Pangin 019123b1b4 Span API for latency profiling (#1755) 2026-06-11 16:07:16 +01:00
Ben Taylor 1e7c44a9b2 Flush wall clock events on dump or jfr chunk rotation (#1746) 2026-06-04 16:23:13 +01:00
alevymyersandAndrei Pangin e421f2da90 Re-register custom events on every JFR chunk (#1740)
Co-authored-by: Andrei Pangin <1749416+apangin@users.noreply.github.com>
2026-05-23 01:28:41 +01:00
Andrei Pangin 8b4444aba0 Fixed visualization of native methods on the Heatmap (#1752) 2026-05-22 22:51:43 +01:00
Andrei Pangin 273b7ba698 Prefer non-real-time signals for profiling (#1749) 2026-05-21 21:53:47 +01:00
Ben Taylor d323c77872 Fix binary size comparison workflow to not rely on eventually-consistent APIs (#1748) 2026-05-20 17:19:24 +01:00
Andrei Pangin 58a91a5f60 Fixed layout of the heatmap scale panel 2026-05-18 00:25:22 +01:00
Andrei Pangin ed2738987a Heatmap start time is inaccurate 2026-05-18 00:07:08 +01:00
erabii 20e0b5cfc3 Minor fix in the FlameGraph Interpretation doc (#1741)
Signed-off-by: wind57 <eugen.rabii@gmail.com>
2026-05-12 15:25:23 +01:00
Andrei Pangin 5c5a45e815 Support building jfr-converter as a GraalVM Native Image (#1739) 2026-05-11 23:20:15 +01:00
Ben Taylor 033252bdb6 Add support for HotCodeHeap (#1737) 2026-05-08 18:53:15 +01:00
Andrei Pangin 2339f99648 Add popular agents directories to .gitignore 2026-05-08 14:55:43 +01:00
Ben Taylor c4957631ea Compile c++ with -fno-rtti (#1734) 2026-05-01 17:47:08 +01:00
Ben Taylor 2a1b41a5f8 Move otlp proto jar updates into a script (#1733) 2026-04-29 17:27:00 +01:00
Andrei Pangin 5fbbaf2c25 Relax ttsp test condition to account for systems with restricted perf_events 2026-04-29 13:51:12 +01:00
Andrei Pangin b2a98f5f8c Use .yml extension for workflows 2026-04-28 17:29:41 +01:00
Ben Taylor b360918cd8 Normalize Makefile on 7 char short hashes (#1732) 2026-04-28 17:26:33 +01:00
Ben Taylor 5853965e4c Add workflow to post binary size comparison to pull request comments (#1722) 2026-04-28 01:41:18 +01:00