All Classes and Interfaces
类
说明
Abstract rule entity.
Extended
MetricExtension extending input parameters of each metric
collection method with EntryType.The basic metric class in Sentinel using a
BucketLeapArray internal.Util class for checking arguments.
The entry for asynchronous resources.
Block exception for request origin access (authority) control.
Authority rule is designed for limiting by request origins.
Manager for authority rules.
A
ProcessorSlot that dedicates to AuthorityRule checking.The default logger based on java.util.logging.
BiConsumer interface from JDK 8.
Abstract exception indicating blocked by Sentinel due to flow control,
circuit breaking or system protection triggered.
The fundamental data structure for metric statistics in a time span.
Basic circuit breaker interface.
Circuit breaker state.
This slot maintains resource running statistics (response time, qps, thread
count, exception), and a list of callers as well which is marked by
ContextUtil.enter(String origin)Flow rule config in cluster mode.
This class stores summary runtime statistics of the resource, including rt, thread count, qps
and so on.
Global state manager for Sentinel cluster.
Token client interface for distributed flow control.
Token server interface for distributed flow control.
Util class for loading configuration from file or command arguments.
Universal constants of Sentinel.
Consumer interface from JDK 8.
This class holds metadata of current invocation:
the
the
EntranceNode: the root of the current invocation
tree.
the current Entry: the current invocation point.
the current Node: the statistics related to the
Entry.
the origin: The origin is useful when we want to control different
invoker/consumer separately.Utility class to get or create
Context in current thread.The rule manager for universal default circuit breaker rule.
A
ProcessorSlot dedicates to universal default circuit breaker.Default throttling controller (immediately reject strategy).
A
Node used to hold statistics for specific resource name in the specific context.Builder for a default
ProcessorSlotChain.
Degrade is used when the resources are in an unstable state, these resources
will be degraded within the next defined time window.
The rule manager for circuit breaking rules (
DegradeRule).A
ProcessorSlot dedicates to circuit breaking.Embedded token server interface that can work in embedded mode.
A
Node represents the entrance of the invocation tree.An enum marks resource invocation direction.
Sentinel Env.
Represents order mismatch of resource entry and resource exit (pair mismatch).
Registry for circuit breaker event observers.
Each flow rule is mainly composed of three factors: grade,
strategy and controlBehavior:
Rule checker for flow control rules.
Comparator for flow rules.
One resources can have multiple rules.
Combined the runtime statistics collected from the previous
slots (NodeSelectorSlot, ClusterNodeBuilderSlot, and StatisticSlot), FlowSlot
will use pre-set rules to decide whether the incoming requests should be
blocked.
Holds the results of formatting done by
MessageFormatter.Function functional interface from JDK 8.
A kind of
BucketLeapArray that only reserves for future buckets.Get host name and ip of the host.
Load registered init functions and execute in order.
QPS statistics interval.
JUL adapter for Sentinel
Logger SPI.
Basic data structure for statistic metrics in Sentinel.
JUL logging levels.
The base config class for logging.
The loader that responsible for loading Sentinel log configurations.
The universal logger SPI interface.
SPI provider of Sentinel
Logger.A
ProcessorSlot that is response for logging block exceptions
to provide concrete logs for troubleshooting.Formats messages according to very simple substitution rules.
Resource wrapper for method invocation.
Util class for processing
Method.Represents a basic structure recording invocation metrics of protected resources.
Represents metrics data in a period of time span.
Register callbacks for metric extension.
Metric extension entry callback.
Metric extension exit callback.
This interface provides extension to Sentinel internal statistics.
Get all
MetricExtension via SPI.Metrics data for a specific resource at given
timestamp.从指定目录下找出所有的metric文件,并按照指定时间戳进行检索,参考
MetricSearcher.find(long, int)。
会借助索引以提高检索效率,参考MetricWriter;还会在内部缓存上一次检索的文件指针,以便下一次顺序检索时
减少读盘次数。This class is responsible for writing
MetricNode to disk:
metric with the same second should write to the same file;
single file size must be controlled;
file name is like: ${appName}-metrics.log.pid${pid}.yyyy-MM-dd.[number]
metric of different day should in different file;
every metric file is accompanied with an index file, which file name is ${metricFileName}.idx
Wrapped thread factory for better use.
Holds real-time statistics for resources.
已过时。
This class will try to build the calling traces via
adding a new
DefaultNode if needed as the last child in the context.A
SentinelProperty that will never inform the PropertyListener on it.If total
Context exceed Constants.MAX_CONTEXT_NAME_SIZE, a
NullContext will get when invoke ContextUtil.enter(), means
no rules checking will do.Util class providing pid of current process.
Predicate functional interface from JDK 8.
An exception that marks previous prioritized request has been waiting till now, then should pass.
A container of some process and ways of notification when the process is finished.
Link all processor slots as a chain.
Callback for entering
StatisticSlot (passed and blocked).Callback for exiting
StatisticSlot (passed and blocked).This class holds callback method when
SentinelProperty.updateValue(Object) need inform the listenerThe basic biz logger of Sentinel.
A wrapper of resource name and type.
Base interface of all rules.
Unified rule management tool, mainly used for matching and caching of regular rules and simple rules.
Holds statistic buckets count per second.
The universal local configuration center of Sentinel.
The loader that responsible for loading Sentinel common configurations.
This class holds current value of the config, and is responsible for informing all
PropertyListeners
added on this when the config is updated.The annotation indicates a definition of Sentinel resource.
A
RuntimeException marks sentinel RPC exception.The builder for processor slot chain.
A provider for creating slot chains via resolved slot chain builder SPI.
The basic interface for recording statistics and performing rule checking for resources.
Conceptually, physical or logical resource that need protection should be
surrounded by an entry.
The fundamental Sentinel API for recording statistics and performing rule checking for resources.
Annotation for Provider class of SPI.
A simple SPI loading facility (refactored since 1.8.1).
Error thrown when something goes wrong while loading Provider via
SpiLoader.The statistic node keep three kinds of real-time statistics metrics:
A processor slot that dedicates to real time statistics.
Callback registry for
StatisticSlot.Common string resource wrapper.
Util class providing operations on
String.Supplier functional interface from JDK 8.
Sentinel System Rule makes the inbound traffic and capacity meet.
Sentinel System Rule makes the inbound traffic and capacity meet.
A
ProcessorSlot that dedicates to SystemRule checking.Provides millisecond-level time of OS.
Provider for a universal
ClusterTokenClient instance.Result entity of acquiring cluster flow token.
A simple descriptor for Sentinel token server.
Service interface of flow control.
This class is used to record other exceptions except block exception.
A universal interface for traffic shaping controller.
A tuple of 2 elements.
Get version of Sentinel from
MANIFEST.MF file.
The principle idea comes from Guava.
Wrapper entity class for a period of time window.