PropertyListener to this SentinelProperty.WindowLeapArray internal.ProcessorSlot that dedicates to AuthorityRule checking.SystemRule to the resource.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 use to hold statistics for specific resource name in the specific context.ProcessorSlotChain.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.SystemRule checking.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() ()}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.EntryType of this wrapper.ResourceWrapper.getName() is considered.add(1).LongAdder.sum() as an int after a narrowing
primitive conversion.DegradeRules, former rules will be replaced.FlowRules, former rules will be replaced.SystemRules, former rules will be replaced.ProcessorSlot that is response for logging block exceptions
to provide concrete logs for troubleshooting.long sum.LongAdder.sum().Method.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}_pid-metrics.log.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
DefaultNode and ClusterNode.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.SentinelProperty.updateValue(Object) need inform the listenerSentinelProperty for DegradeRules.SentinelProperty for FlowRules.SentinelProperty for SystemRules.PropertyListener on this.EntryType.PropertyListeners
added on this when the config is updated.RuntimeException marks sentinel RPC exception.Entry for resource protection.String.LongAdder.sum() followed by LongAdder.reset().ProcessorSlot that dedicates to SystemRule checking.BlockException.BLOCK_EXCEPTION_FLAG that marks its name.LongAdder.sum().throwable is not BlockException.isBlockException(Throwable)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.Copyright © 2018 Alibaba Group. All rights reserved.