Search in sources :

Example 1 with StatisticSlot

use of com.alibaba.csp.sentinel.slots.statistic.StatisticSlot in project Sentinel by alibaba.

the class DefaultSlotChainBuilderTest method testBuild.

@Test
public void testBuild() {
    DefaultSlotChainBuilder builder = new DefaultSlotChainBuilder();
    ProcessorSlotChain slotChain = builder.build();
    assertNotNull(slotChain);
    // Verify the order of slot
    AbstractLinkedProcessorSlot<?> next = slotChain.getNext();
    assertTrue(next instanceof NodeSelectorSlot);
    // Store the first NodeSelectorSlot instance
    NodeSelectorSlot nodeSelectorSlot = (NodeSelectorSlot) next;
    next = next.getNext();
    assertTrue(next instanceof ClusterBuilderSlot);
    next = next.getNext();
    assertTrue(next instanceof LogSlot);
    next = next.getNext();
    assertTrue(next instanceof StatisticSlot);
    next = next.getNext();
    assertTrue(next instanceof AuthoritySlot);
    next = next.getNext();
    assertTrue(next instanceof SystemSlot);
    next = next.getNext();
    assertTrue(next instanceof FlowSlot);
    next = next.getNext();
    assertTrue(next instanceof DegradeSlot);
    next = next.getNext();
    assertNull(next);
    // Build again to verify different instances
    ProcessorSlotChain slotChain2 = builder.build();
    assertNotNull(slotChain2);
    // Verify the two ProcessorSlotChain instances are different
    assertNotSame(slotChain, slotChain2);
    next = slotChain2.getNext();
    assertTrue(next instanceof NodeSelectorSlot);
    // Store the second NodeSelectorSlot instance
    NodeSelectorSlot nodeSelectorSlot2 = (NodeSelectorSlot) next;
    // Verify the two NodeSelectorSlot instances are different
    assertNotSame(nodeSelectorSlot, nodeSelectorSlot2);
}
Also used : ClusterBuilderSlot(com.alibaba.csp.sentinel.slots.clusterbuilder.ClusterBuilderSlot) ProcessorSlotChain(com.alibaba.csp.sentinel.slotchain.ProcessorSlotChain) LogSlot(com.alibaba.csp.sentinel.slots.logger.LogSlot) StatisticSlot(com.alibaba.csp.sentinel.slots.statistic.StatisticSlot) NodeSelectorSlot(com.alibaba.csp.sentinel.slots.nodeselector.NodeSelectorSlot) DegradeSlot(com.alibaba.csp.sentinel.slots.block.degrade.DegradeSlot) FlowSlot(com.alibaba.csp.sentinel.slots.block.flow.FlowSlot) AuthoritySlot(com.alibaba.csp.sentinel.slots.block.authority.AuthoritySlot) SystemSlot(com.alibaba.csp.sentinel.slots.system.SystemSlot) Test(org.junit.Test)

Example 2 with StatisticSlot

use of com.alibaba.csp.sentinel.slots.statistic.StatisticSlot in project Sentinel by alibaba.

the class SpiLoaderTest method testLoadInstanceByClass.

@Test
public void testLoadInstanceByClass() {
    ProcessorSlot slot = SpiLoader.of(ProcessorSlot.class).loadInstance(StatisticSlot.class);
    assertNotNull(slot);
    assertTrue(slot instanceof StatisticSlot);
}
Also used : StatisticSlot(com.alibaba.csp.sentinel.slots.statistic.StatisticSlot) ProcessorSlot(com.alibaba.csp.sentinel.slotchain.ProcessorSlot) Test(org.junit.Test)

Example 3 with StatisticSlot

use of com.alibaba.csp.sentinel.slots.statistic.StatisticSlot in project Sentinel by alibaba.

the class SpiLoaderTest method testLoadInstanceByAliasName.

@Test
public void testLoadInstanceByAliasName() {
    ProcessorSlot slot = SpiLoader.of(ProcessorSlot.class).loadInstance("com.alibaba.csp.sentinel.slots.statistic.StatisticSlot");
    assertNotNull(slot);
    assertTrue(slot instanceof StatisticSlot);
}
Also used : StatisticSlot(com.alibaba.csp.sentinel.slots.statistic.StatisticSlot) ProcessorSlot(com.alibaba.csp.sentinel.slotchain.ProcessorSlot) Test(org.junit.Test)

Aggregations

StatisticSlot (com.alibaba.csp.sentinel.slots.statistic.StatisticSlot)3 Test (org.junit.Test)3 ProcessorSlot (com.alibaba.csp.sentinel.slotchain.ProcessorSlot)2 ProcessorSlotChain (com.alibaba.csp.sentinel.slotchain.ProcessorSlotChain)1 AuthoritySlot (com.alibaba.csp.sentinel.slots.block.authority.AuthoritySlot)1 DegradeSlot (com.alibaba.csp.sentinel.slots.block.degrade.DegradeSlot)1 FlowSlot (com.alibaba.csp.sentinel.slots.block.flow.FlowSlot)1 ClusterBuilderSlot (com.alibaba.csp.sentinel.slots.clusterbuilder.ClusterBuilderSlot)1 LogSlot (com.alibaba.csp.sentinel.slots.logger.LogSlot)1 NodeSelectorSlot (com.alibaba.csp.sentinel.slots.nodeselector.NodeSelectorSlot)1 SystemSlot (com.alibaba.csp.sentinel.slots.system.SystemSlot)1