PropertyListener to this SentinelProperty.BucketLeapArray internal.Rules about the asynchronous resource.Rules about the asynchronous resource.ProcessorSlot that dedicates to AuthorityRule checking.ClusterNode as universal statistic node for a single resource.DefaultNode as tree node.SystemRule to the resource.Entry.exit().ContextUtil.enter(String origin)value's load.SentinelProperty.updateValue(Object) need inform the listener.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.Context in current thread.add(-1).Node used to hold statistics for specific resource name in the specific context.ProcessorSlotChain.IntervalProperty.INTERVAL second(s).ProcessorSlot dedicates to DegradeRule checking.InitFunc throws an exception, the init process
will immediately be interrupted and the application will exit.LongAdder.sum() as a double after a widening
primitive conversion.Node represents the entrance of the invocation tree.Rules checking about the resource.Rules about the resource.Rules about the protected method.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the resource.Rules about the resource.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the resource.Rules about the protected method.Rules about the resource.Rules related the resource.Rules related the resource.ResourceWrapper.getName() is considered.Context in the
ThreadLocal.ProcessorSlot.exit(Context, ResourceWrapper, int, Object...).LongAdder.sum() as a float
after a widening primitive conversion.metricFileNameMetricNode from fat string, see MetricNode.toFatString()MetricNode from thin string, see MetricNode.toThinString()BucketLeapArray that only reserves for future buckets.ClusterNode of the resource of the specific type.ClusterNode of the resource name.ClusterNodes map, this map holds all ClusterNodes, it's key is resource name,
value is the related ClusterNode.Context of current thread.Node of the current.File.separatorNode of the specific origin.intervalInSec.EntryType of this wrapper.ResourceWrapper.getName() is considered.add(1).LongAdder.sum() as an int after a narrowing
primitive conversion.sampleCount = intervalInMs / windowLengthInMs.DegradeRules, former rules will be replaced.FlowRules, former rules will be replaced.SystemRules, former rules will be replaced.LogBase.LOG_DIR System property to override it.ProcessorSlot that is response for logging block exceptions
to provide concrete logs for troubleshooting.long sum.LongAdder.sum().Method.MetricFileNameComparator's implementation relays on the metric file name,
we should be careful when changing the metric file name.timestamp.MetricSearcher.find(long, int)。
会借助索引以提高检索效率,参考MetricWriter;还会在内部缓存上一次检索的文件指针,以便下一次顺序检索时
减少读盘次数。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
lookProcessChain in CtSph under lock.DefaultNode if needed as the last child in the context.SentinelProperty that will never inform the PropertyListener on it.Context exceed Constants.MAX_CONTEXT_NAME_SIZE, a
NullContext will get when invoke ContextUtil.enter(), means
no rules checking will do.StatisticSlot (passed and blocked).StatisticSlot (passed and blocked).SentinelProperty.updateValue(Object) need inform the listenerSentinelProperty for DegradeRules.SentinelProperty for FlowRules.SentinelProperty for SystemRules.PropertyListener on this.ClusterNodes.EntryType.PropertyListeners
added on this when the config is updated.RuntimeException marks sentinel RPC exception.Entry for resource protection.StatisticSlot.String.Entry.exit() request per second.LongAdder.sum() followed by LongAdder.reset().ProcessorSlot that dedicates to SystemRule checking.BlockException.BLOCK_EXCEPTION_FLAG that marks its name.ClusterTokenClient instance.LongAdder.sum().Node.passQps() + Node.blockQps() request per second.pass + block).Entry.exit() count per minute.throwable is not a BlockException.Throwable and increment exception count to entry in current context.Throwable and add exception count to entry in current context.Throwable and add exception count to current entry in provided context.Throwable and increment exception count to provided entry.Throwable and add exception count to provided entry.IntervalProperty.INTERVAL, All ClusterNodes will be reset if newInterval is
different from IntervalProperty.INTERVALSampleCountProperty.SAMPLE_COUNT.IntervalProperty.INTERVAL,
or it will be ignored.newValue as the current value of this property and inform all PropertyListeners
added on this only when new newValue is not Equals to the old value.MANIFEST.MF file.Copyright © 2019 Alibaba Group. All rights reserved.