@@ -7,19 +7,19 @@ import (
77)
88
99var events = map [string ]func () Parseable {
10- "jdk.ActiveRecording" : func () Parseable { return new (ActiveRecording ) },
11- "jdk.ActiveSetting" : func () Parseable { return new (ActiveSetting ) },
12- "jdk.CPUInformation" : func () Parseable { return new (CPUInformation ) },
13- "jdk.CPULoad" : func () Parseable { return new (CPULoad ) },
14- "jdk.ExecutionSample" : func () Parseable { return new (ExecutionSample ) },
15- "jdk.InitialSystemProperty" : func () Parseable { return new (InitialSystemProperty ) },
16- // TODO: jdk.JavaMonitorEnter
10+ "jdk.ActiveRecording" : func () Parseable { return new (ActiveRecording ) },
11+ "jdk.ActiveSetting" : func () Parseable { return new (ActiveSetting ) },
12+ "jdk.CPUInformation" : func () Parseable { return new (CPUInformation ) },
13+ "jdk.CPULoad" : func () Parseable { return new (CPULoad ) },
14+ "jdk.ExecutionSample" : func () Parseable { return new (ExecutionSample ) },
15+ "jdk.InitialSystemProperty" : func () Parseable { return new (InitialSystemProperty ) },
16+ " jdk.JavaMonitorEnter" : func () Parseable { return new ( JavaMonitorEnter ) },
1717 "jdk.JVMInformation" : func () Parseable { return new (JVMInformation ) },
1818 "jdk.NativeLibrary" : func () Parseable { return new (NativeLibrary ) },
1919 "jdk.ObjectAllocationInNewTLAB" : func () Parseable { return new (ObjectAllocationInNewTLAB ) },
2020 "jdk.ObjectAllocationOutsideTLAB" : func () Parseable { return new (ObjectAllocationOutsideTLAB ) },
2121 "jdk.OSInformation" : func () Parseable { return new (OSInformation ) },
22- // TODO: jdk.ThreadPark
22+ " jdk.ThreadPark" : func () Parseable { return new ( ThreadPark ) },
2323}
2424
2525func ParseEvent (r reader.Reader , classes ClassMap , cpools PoolMap ) (Parseable , error ) {
@@ -224,6 +224,40 @@ func (isp *InitialSystemProperty) Parse(r reader.Reader, classes ClassMap, cpool
224224 return parseFields (r , classes , cpools , class , nil , true , isp .parseField )
225225}
226226
227+ type JavaMonitorEnter struct {
228+ StartTime int64
229+ Duration int64
230+ EventThread * Thread
231+ StackTrace * StackTrace
232+ MonitorClass * Class
233+ PreviousOwner * Thread
234+ Address int64
235+ }
236+
237+ func (jme * JavaMonitorEnter ) parseField (name string , p ParseResolvable ) (err error ) {
238+ switch name {
239+ case "startTime" :
240+ jme .StartTime , err = toLong (p )
241+ case "duration" :
242+ jme .Duration , err = toLong (p )
243+ case "eventThread" :
244+ jme .EventThread , err = toThread (p )
245+ case "stackTrace" :
246+ jme .StackTrace , err = toStackTrace (p )
247+ case "monitorClass" :
248+ jme .MonitorClass , err = toClass (p )
249+ case "previousOwner" :
250+ jme .PreviousOwner , err = toThread (p )
251+ case "address" :
252+ jme .Address , err = toLong (p )
253+ }
254+ return err
255+ }
256+
257+ func (jme * JavaMonitorEnter ) Parse (r reader.Reader , classes ClassMap , cpools PoolMap , class ClassMetadata ) error {
258+ return parseFields (r , classes , cpools , class , nil , true , jme .parseField )
259+ }
260+
227261type JVMInformation struct {
228262 StartTime int64
229263 JVMName string
@@ -364,6 +398,43 @@ func (os *OSInformation) Parse(r reader.Reader, classes ClassMap, cpools PoolMap
364398 return parseFields (r , classes , cpools , class , nil , true , os .parseField )
365399}
366400
401+ type ThreadPark struct {
402+ StartTime int64
403+ Duration int64
404+ EventThread * Thread
405+ StackTrace * StackTrace
406+ ParkedClass * Class
407+ Timeout int64
408+ Until int64
409+ Address int64
410+ }
411+
412+ func (tp * ThreadPark ) parseField (name string , p ParseResolvable ) (err error ) {
413+ switch name {
414+ case "startTime" :
415+ tp .StartTime , err = toLong (p )
416+ case "duration" :
417+ tp .Duration , err = toLong (p )
418+ case "eventThread" :
419+ tp .EventThread , err = toThread (p )
420+ case "stackTrace" :
421+ tp .StackTrace , err = toStackTrace (p )
422+ case "parkedClass" :
423+ tp .ParkedClass , err = toClass (p )
424+ case "timeout" :
425+ tp .Timeout , err = toLong (p )
426+ case "until" :
427+ tp .Until , err = toLong (p )
428+ case "address" :
429+ tp .Address , err = toLong (p )
430+ }
431+ return err
432+ }
433+
434+ func (tp * ThreadPark ) Parse (r reader.Reader , classes ClassMap , cpools PoolMap , class ClassMetadata ) error {
435+ return parseFields (r , classes , cpools , class , nil , true , tp .parseField )
436+ }
437+
367438type UnsupportedEvent struct {}
368439
369440func (ue * UnsupportedEvent ) parseField (name string , p ParseResolvable ) error {
0 commit comments