jdk
8342818: Implement CPU Time Profiling for JFR
#20752
Open

8342818: Implement CPU Time Profiling for JFR #20752

parttimenerd
parttimenerd Copy JFR sampler
476dd27f
parttimenerd Unfinished CPU-time sampler
2923863f
parttimenerd Slight improvements
0278e57f
parttimenerd Merge events
d7bf8941
parttimenerd WIP: merge events and fix bugs
1899627e
parttimenerd WIP: sampling starts working
7432cdc2
parttimenerd Add missing files
c80d20dd
parttimenerd Fix some issues
7b705518
parttimenerd Remove thread array
33d33041
parttimenerd WIP
e153440c
parttimenerd Make crash protected code smaller
7ed0012c
parttimenerd Log how many times queue is full
70c1ea70
parttimenerd Improve
d52b3419
parttimenerd Fix bugs
810e9519
parttimenerd More fixes
3c696702
parttimenerd Add event for full queue
254245a1
parttimenerd Remove some sampled thread states to prevent seg faults
8f7db312
parttimenerd Small change
97ecf4a8
parttimenerd Add jfr view application.cpu-time-failed-samples
711e8634
parttimenerd Disable CPUTimeSampler by default
47fe099e
parttimenerd Don't walk in _thread_in_vm state
dcd011a1
parttimenerd Try to fix thread crash issues
ad4f0605
parttimenerd Add cpu-time-overflowed-samples view
a672610f
parttimenerd Remove unused method
21f4d5ef
parttimenerd Fix bugs
e4df212c
parttimenerd Record "thread in deopt" as failed trace
9aef0392
parttimenerd Configure queue size factor via env variable for testing
39478a19
parttimenerd Record thread obtain failure as failed event
a9b6d58d
parttimenerd Make it compile on mac os
1510787f
parttimenerd First try of a proper lock-less queue
1656e5b4
parttimenerd First try of a proper lock-less queue
4e13e5ca
parttimenerd cpu-time-failed-samples-no-threads
01e3b263
parttimenerd Add failing
5dbadac1
parttimenerd Add failing
efaf1198
parttimenerd Fix bug
4ffbfb5a
parttimenerd Walk in more states but not while in stw
e43dc6ab
parttimenerd Clean up
bf77842c
parttimenerd Remove unused and not required code
ae034dab
parttimenerd Reset stacktraces from samples without threads
50bec768
parttimenerd Only record samples with a valid thread id
5a87cd78
parttimenerd Tiny fix
713ca686
parttimenerd Tiny build fix
d5a0e383
parttimenerd Tiny build fix
8545fe24
parttimenerd Clean up includes
7461a54d
parttimenerd Readd include of osThread.hpp
b7d9bbec
parttimenerd Small reordering
9d4f6c2a
parttimenerd Improve sampler
8c9c6ba5
parttimenerd Improve CPU time sampler
80aef9c2
parttimenerd Use enum for internal error codes
5b759eb5
parttimenerd Tiny fix
2e7490cc
parttimenerd Remove CPUTimeExecutionSample#state
3cbe3895
parttimenerd Clamp queue size
8fd47eea
parttimenerd Clamp queue size
e87e8775
parttimenerd Replace perror with JVM logging
a7539bdc
parttimenerd Reset state at disroll
7f425ba4
parttimenerd Yield after processing nothing
974e0850
parttimenerd Fix main sampler loop
4a8b631c
parttimenerd Tiny fixes
f6a273ff
parttimenerd Test multiple recordings in same JVM process
6df79753
parttimenerd Improve max queue size computation
c5fd9db0
parttimenerd Guard crash protection with lock
6aafc2e7
parttimenerd Fix is_empty
ad29f67b
parttimenerd Implement queue more conservative
d78c0715
parttimenerd Add Jaroslav's fix
8265eb38
jbachorik Queue head/tail unpacking cleanup
316f00d4
jbachorik Refactor head/tail retrieval
d0471dca
jbachorik Avoid mutex assertion failure
80c168d6
apangin Reimplemented concurrent queue for Jfr traces
4b149de4
apangin Get rid of JfrThreadCrashProtection_lock
bbca87b3
parttimenerd Fix walkable assertion
98f10e7d
parttimenerd Remove walkable assertion and add comment
cfabd413
bridgekeeper
openjdk
openjdk
openjdk openjdk added hotspot
parttimenerd Fix event names and make experimental
6aa57271
parttimenerd Remove trailing whitespace
ccccc367
mgronlun
mgronlun requested changes on 2024-09-04
mgronlun
mgronlun requested changes on 2024-09-04
mgronlun
mgronlun requested changes on 2024-09-05
jbachorik Rename 'CPUTimeExecutionSampleThrottles' event to 'CPUTimeExecutionSa…
da4e7349
jbachorik Rename 'dropped' samples to 'lost' samples
09c090c9
jbachorik Reorg vrame imports
2a95d60f
egahlin
egahlin
egahlin commented on 2024-09-10
parttimenerd
jbachorik Add include for 'timer_t' type
8e3cf755
jbachorik Adjust wording in lost samples event description
4892adda
jbachorik Update view.ini
ed45394d
parttimenerd Fix CI build issue
8227f152
parttimenerd Simplify enqueue_buffer handling
69803b62
parttimenerd Remove manuall enqueue_buffer handling
4ff59539
parttimenerd Fix view name
334bfe34
parttimenerd Improve view description
46fdf1f2
parttimenerd Small stuff
19ced92d
parttimenerd Small stuff
572477ac
parttimenerd Rename event
8911831b
parttimenerd Split up TestFullStackTrace
d36c70ab
parttimenerd Remove atomic store
7c71946b
parttimenerd Use JFR thread hooks
c00c67d2
parttimenerd Remove newline change
31609b96
parttimenerd Tiny refactorings
422fa475
parttimenerd Revert "Remove manuall enqueue_buffer handling"
5851dabf
parttimenerd Don't check for enqueue buffer fullness level too often
4830bac2
parttimenerd
mgronlun
parttimenerd
egahlin
egahlin commented on 2024-09-21
egahlin
egahlin commented on 2024-09-21
egahlin
parttimenerd
parttimenerd Modify event label
01c091a8
egahlin
parttimenerd
parttimenerd
parttimenerd Ensure CPU time tests only run on Linux
928f84a7
parttimenerd Remove printfs
188c841c
parttimenerd Add failed property to CPUTimeSample
c94e618f
parttimenerd Add maxRate property
1deafe0e
parttimenerd Fix compilation error on non-linux systems
16c161f2
parttimenerd Fix tiny bug
eb8c3601
parttimenerd Fix previous commit
d91093f4
parttimenerd Fix maxRate option
66ceb230
egahlin
parttimenerd
egahlin
parttimenerd
egahlin
parttimenerd
parttimenerd Replace maxRate with throttle
1e13100c
parttimenerd Add throttle test case
184c2c42
parttimenerd Fix
1c6ae7e4
parttimenerd
parttimenerd Split TestNative
5704222f
apangin
apangin commented on 2024-10-01
parttimenerd Fix settimer issue
421d6649
parttimenerd Split test cases
b3d1d817
parttimenerd Fix throttle parameter setting
eb2d70d6
parttimenerd Record actual period as ActiveSetting event
d50157e6
egahlin
parttimenerd Implement rate idea
74d31062
egahlin
parttimenerd
egahlin
parttimenerd
parttimenerd
egahlin
egahlin
parttimenerd
egahlin
parttimenerd
parttimenerd Merge rate into throttle
3856771f
parttimenerd
egahlin
parttimenerd
mgronlun
mgronlun commented on 2024-10-17
mgronlun
mgronlun commented on 2024-10-17
egahlin
parttimenerd
parttimenerd Add missing files
796e272b
parttimenerd Change thread and weight name
67f93616
parttimenerd Small clean up
85b1cd1d
parttimenerd Small build fix for non-Linux
09c7a3a2
egahlin
egahlin commented on 2024-10-18
egahlin
egahlin commented on 2024-10-18
egahlin
egahlin commented on 2024-10-18
parttimenerd Small fixes
fbe0622e
egahlin
egahlin commented on 2024-10-18
parttimenerd Simplify rate parsing
07d8a9b7
parttimenerd Add missing files
58958ec8
parttimenerd Fix threshold setting issue
41c2340d
parttimenerd Fix stackTrace setting issue
efa35f1e
parttimenerd parttimenerd changed the title CPU Time based profiling for JFR 8342818: Implement CPU Time Profiling 63 days ago
openjdk openjdk changed the title 8342818: Implement CPU Time Profiling 8342818: Implement CPU Time Profiling for JFR 63 days ago
parttimenerd
openjdk
openjdk
egahlin
egahlin commented on 2024-10-22
parttimenerd
openjdk
openjdk
parttimenerd Use try-with-resources in tests
366aced5
parttimenerd parttimenerd marked this pull request as ready for review 56 days ago
openjdk openjdk added rfr
parttimenerd
mlbridge
mgronlun
parttimenerd
egahlin
egahlin commented on 2024-10-29
egahlin
egahlin commented on 2024-10-29
mgronlun
parttimenerd
mgronlun
parttimenerd
dholmes-ora
dholmes-ora commented on 2024-10-30
jbachorik
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun
mgronlun commented on 2024-10-30
parttimenerd
parttimenerd Improve TestLookForUntestedEvents and TimespanRate.of
9bfceee0
parttimenerd Fix tests and other minor improvements
31452ce1
mgronlun
mgronlun commented on 2024-10-30
parttimenerd Remove min_valid_free_size_bytes
ddec72bc
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun commented on 2024-10-30
mgronlun
mgronlun commented on 2024-10-31
mgronlun
mgronlun commented on 2024-10-31
mgronlun
mgronlun
mgronlun
mgronlun
parttimenerd
tstuefe
egahlin
egahlin commented on 2024-10-31
parttimenerd
mgronlun
mgronlun
parttimenerd
mgronlun
mgronlun
parttimenerd
dean-long
dean-long commented on 2024-10-31
mgronlun
mgronlun commented on 2024-11-01
mgronlun
mgronlun commented on 2024-11-01
mgronlun
mgronlun commented on 2024-11-01
mgronlun
mgronlun commented on 2024-11-01
mgronlun
mgronlun commented on 2024-11-01
jbachorik
parttimenerd Half size of JfrAsyncStackFrame
7ae42465
parttimenerd Tag methods and classes in the signal handler
1e0dbaea
parttimenerd Add worker thread id getter to whitebox
01783bc9
parttimenerd Improve readability of thread_state functions
551f69cf
parttimenerd Add test case for class unloading
1929fa94
parttimenerd Don't crash protect storing walked stack in JFR
65423ad8
parttimenerd
parttimenerd Make things static
814bb97b
parttimenerd Only do timer init and removal at global safepoint
96b58e49
parttimenerd Only do timer init and removal at global safepoint
18a83be7
parttimenerd Tiny refactoring
9d6716eb
parttimenerd Tiny refactoring
132779fb
parttimenerd Use ResetNoHandleMark when walking the stack
97014a50
parttimenerd Don't use method-sample-enabled control
7c61bc68
mgronlun
mgronlun
mgronlun commented on 2024-11-06
parttimenerd Fix TimespanRate#toString and readd assert
0a4454cd
parttimenerd
parttimenerd Make native stack walking code simpler
49e7899a
MBaesken
MBaesken commented on 2024-11-07
parttimenerd Add newline to file end
b0fbd431
parttimenerd Don't treat stackTrace attribute specially for CPUTimeSamples
9f96cc0c
MBaesken
MBaesken commented on 2024-11-07
mgronlun
mgronlun
apangin
apangin commented on 2024-11-08
mgronlun
apangin Added more comments around queue implementation
027a7e34
parttimenerd Don't walk continuations in signal handler
32d8e642
parttimenerd Fix ActiveSetting event for CPUTimeSamples
26615497
egahlin
egahlin commented on 2024-11-11
parttimenerd Make parsing rates safer
9cafdbc8
jbachorik
jbachorik commented on 2024-11-13
parttimenerd Improve Throttling test case
207f221c
openjdk
openjdk openjdk added merge-conflict
parttimenerd Obtain minimal period via the CONFIG_HZ parameter of the kernel
6bc66b9c
parttimenerd
parttimenerd Making queue processing only stoppable in debug builds
2f462fe2
parttimenerd Compute actual sampling period via si_overrun
fef22ffd
parttimenerd Merge remote-tracking branch 'origin' into parttimenerd_jfr_cpu_time_…
f7f8de0b
openjdk openjdk removed merge-conflict
parttimenerd Simplify #ifdefs to fix minimal and zero builds
46995b6a
parttimenerd Fix zero build
7fff875c
openjdk openjdk added merge-conflict
parttimenerd Merge remote-tracking branch 'origin' into parttimenerd_jfr_cpu_time_…
af59d3fb
openjdk openjdk removed merge-conflict
parttimenerd Fix disenroll issue
092d447b
openjdk openjdk added merge-conflict
parttimenerd Merge branch 'master' into parttimenerd_jfr_cpu_time_sampler4
2dbed881
openjdk openjdk removed merge-conflict
parttimenerd Fix build
020bbe98
bridgekeeper
MBaesken
parttimenerd Handle weakened vthread-epoch identity invariant
d17c39e3
openjdk openjdk added merge-conflict
parttimenerd Merge branch 'master' into parttimenerd_jfr_cpu_time_sampler4
d1574a29
openjdk openjdk removed merge-conflict

Login to write a write a comment.

Login via GitHub

Assignees
No one assigned
Labels
Milestone