55 rs.enable("jdk.ExceptionThrown"); |
55 rs.enable("jdk.ExceptionThrown"); |
56 rs.onEvent(e -> System.out.println(e.getString("message"))); |
56 rs.onEvent(e -> System.out.println(e.getString("message"))); |
57 rs.start(); |
57 rs.start(); |
58 } |
58 } |
59 |
59 |
60 // EventStream.start("jdk.JavaMonitorEnter", "threshold", "20 ms", |
60 try (RecordingStream rs = new RecordingStream()) { |
61 // "stackTrace", "false") |
61 rs.enable("jdk.JavaMonitorEnter").withThreshold(Duration.ofMillis(20)).withoutStackTrace(); |
62 // .addConsumer(System.out::println); |
62 rs.onEvent(System.out::println); |
63 // |
63 rs.start(); |
64 // EventStream.start("jdk.CPULoad", "period", "1 s") |
64 } |
65 // .addConsumer(e -> System.out.println(100 * |
|
66 // e.getDouble("totalMachine") + " %")); |
|
67 // |
|
68 // EventStream.start("jdk.GarbageCollection") |
|
69 // .addConsumer(e -> System.out.println("GC: " + e.getStartTime() + " |
|
70 // maxPauseTime=" + e.getDuration("maxPauseTime").toMillis() + " ms")); |
|
71 |
65 |
72 Thread.sleep(100_000); |
66 try (RecordingStream rs = new RecordingStream()) { |
|
67 rs.enable("jdk.CPULoad").withPeriod(Duration.ofSeconds(1)); |
|
68 rs.onEvent(System.out::println); |
|
69 rs.start(); |
|
70 } |
|
71 |
|
72 try (RecordingStream rs = new RecordingStream()) { |
|
73 rs.enable("jdk.GarbageCollection"); |
|
74 rs.onEvent(System.out::println); |
|
75 rs.start(); |
|
76 } |
73 } |
77 } |
74 |
78 |
75 // Use case: Event Forwarding |
79 // Use case: Event Forwarding |
76 // |
80 // |
77 // - Forward arbitrary event to frameworks such as RxJava, JSON/XML and |
81 // - Forward arbitrary event to frameworks such as RxJava, JSON/XML and |