Home / Class/ JfrEventSafeTest Class — netty Architecture

JfrEventSafeTest Class — netty Architecture

Architecture documentation for the JfrEventSafeTest class in JfrEventSafeTest.java from the netty codebase.

Entity Profile

Dependency Diagram

graph TD
  97a6d9e1_ef11_5700_139d_c384c1c848ab["JfrEventSafeTest"]
  a2571754_4131_6bd8_395b_69b04f5181b9["JfrEventSafeTest.java"]
  97a6d9e1_ef11_5700_139d_c384c1c848ab -->|defined in| a2571754_4131_6bd8_395b_69b04f5181b9
  e61da0c7_5739_ed16_7e2d_9517ca7b686f["test()"]
  97a6d9e1_ef11_5700_139d_c384c1c848ab -->|method| e61da0c7_5739_ed16_7e2d_9517ca7b686f
  ab5f8bdd_49ce_0e80_3945_8818061ca9c0["simple()"]
  97a6d9e1_ef11_5700_139d_c384c1c848ab -->|method| ab5f8bdd_49ce_0e80_3945_8818061ca9c0
  398e1514_b0c9_ceae_f82e_608f25921eeb["enableDefaults()"]
  97a6d9e1_ef11_5700_139d_c384c1c848ab -->|method| 398e1514_b0c9_ceae_f82e_608f25921eeb

Relationship Graph

Source Code

common/src/test/java/io/netty/util/internal/JfrEventSafeTest.java lines 30–90

@SuppressWarnings("Since15")
public class JfrEventSafeTest {
    @Test
    public void test() {
        // This code should work even on java 8. Other details are tested in JfrEventTest.
        if (PlatformDependent.isJfrEnabled()) {
            MyEvent event = new MyEvent();
            event.foo = "bar";
            event.commit();
        }
    }

    @Test
    @EnabledForJreRange(min = JRE.JAVA_17) // RecordingStream
    public void simple() throws Throwable {
        try (RecordingStream stream = new RecordingStream()) {
            stream.enable(MyEvent.class.getName());
            CompletableFuture<String> result = new CompletableFuture<>();
            stream.onEvent(MyEvent.class.getName(), e -> result.complete(e.getString("foo")));
            stream.startAsync();

            MyEvent event = new MyEvent();
            event.foo = "bar";
            event.commit();

            assertEquals("bar", result.get(10, TimeUnit.SECONDS));
        }
    }

    @Test
    @EnabledForJreRange(min = JRE.JAVA_17) // RecordingStream
    public void enableDefaults() throws Throwable {
        try (RecordingStream stream = new RecordingStream()) {
            CompletableFuture<String> result = new CompletableFuture<>();
            stream.onEvent(DisabledEvent.class.getName(),
                    e -> result.completeExceptionally(new Exception("Event mistakenly fired")));
            stream.onEvent(MyEvent.class.getName(),
                    e -> result.complete(e.getString("foo")));
            stream.startAsync();

            DisabledEvent disabled = new DisabledEvent();
            disabled.foo = "baz";
            disabled.commit();

            MyEvent event = new MyEvent();
            event.foo = "bar";
            event.commit();

            assertEquals("bar", result.get(10, TimeUnit.SECONDS));
        }
    }

    static final class MyEvent extends Event {
        String foo;
    }

    @Enabled(false)
    static final class DisabledEvent extends Event {
        String foo;
    }
}

Frequently Asked Questions

What is the JfrEventSafeTest class?
JfrEventSafeTest is a class in the netty codebase, defined in common/src/test/java/io/netty/util/internal/JfrEventSafeTest.java.
Where is JfrEventSafeTest defined?
JfrEventSafeTest is defined in common/src/test/java/io/netty/util/internal/JfrEventSafeTest.java at line 30.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free