HdrHistogram HdrHistogram,可以用较少的资源,来计算平均值、中位数等,且拥有较高的精度。 认识HdrHistogram,是从Hytrix依赖中发现的,Hytrix用它来统计latency。 要使用它,我们只需要在pom中引入maven坐标即可。 <dependency> <groupId>org.hdrHistogram</groupId> <artifactId>HdrHistogram</artifactId> <version 至于最后的Buckets和SubBuckets,就涉及到HdrHistogram的一些内部原理,也就是内部的一些参数,我们倒可以不用关注它。 End HdrHistogram是为了追求性能和稳定性的代码而生的,它才是真正的平均主义--希望所有的请求尽量的平均,没有长尾请求。
errors multierr gods go-datastructures golang-set stream操作 go-funk go-linq 依赖注入 di dig fx 微服务相关 viper hdrhistogram-go
分布/直方图:用t-digest或HDRhistogram表示分位数,不必保留所有样本。标签稀疏化:把高基数标签(user_id)从主时间序列表剥离,存为索引表或按需要联查。
chengyq\.m2\repository\com\tdunning\t-digest\3.2\t-digest-3.2.jar;C:\Users\chengyq\.m2\repository\org\hdrhistogram \HdrHistogram\2.1.9\HdrHistogram-2.1.9.jar;C:\Users\chengyq\.m2\repository\org\elasticsearch\jna\4.5.1
elasticsearch.in.sh /usr/share/elasticsearch/bin/plugin /usr/share/elasticsearch/lib /usr/share/elasticsearch/lib/HdrHistogram
apache-cassandra-thrift-3.11.1.jar /usr/share/cassandra/cassandra.in.sh /usr/share/cassandra/lib /usr/share/cassandra/lib/HdrHistogram futures-2.1.6.txt /usr/share/cassandra/lib/licenses/guava-18.0.txt /usr/share/cassandra/lib/licenses/hdrhistogram /share/cassandra/lib/ecj-4.4.2.jar:/usr/share/cassandra/lib/guava-18.0.jar:/usr/share/cassandra/lib/HdrHistogram
mavenstorage\io\micrometer\micrometer-core\1.0.7\micrometer-core-1.0.7.jar;D:\soft\mavenstorage\org\hdrhistogram \HdrHistogram\2.1.10\HdrHistogram-2.1.10.jar;D:\soft\mavenstorage\org\latencyutils\LatencyUtils\2.0.3
io/micrometer/micrometer-core/1.5.6/micrometer-core-1.5.6.jar, file:/C:/Users/hp/.m2/repository/org/hdrhistogram /HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar, file:/C:/Users/hp/.m2/repository/org/latencyutils/LatencyUtils
Tene 提出了 HdrHistogram 来解决这个问题,使人们能够记录数据并将数据区间累积在一起以获得准确的“九”的数量。
repository/io/micrometer/micrometer-core/1.14.11/micrometer-core-1.14.11.jar:/Users/varya/.m2/repository/org/hdrhistogram /HdrHistogram/2.2.2/HdrHistogram-2.2.2.jar:/Users/varya/.m2/repository/org/latencyutils/LatencyUtils/
它内部集成使用度量工具org.HdrHistogram.Histogram来统计分析指标数据,并且给出非常详细的分位数数据(最高达四个9 -> p9999)。它还有如下子类: ?
micrometer/micrometer-observation/1.12.2/micrometer-observation-1.12.2.jar:/Users/achao/.m2/repository/org/hdrhistogram /HdrHistogram/2.1.12/HdrHistogram-2.1.12.jar:/Users/achao/.m2/repository/org/latencyutils/LatencyUtils
/com/netflix/hystrix/hystrix-core/1.5.18/hystrix-core-1.5.18.jar:/Users/bryantmo/.m2/repository/org/hdrhistogram /HdrHistogram/2.1.9/HdrHistogram-2.1.9.jar:/Users/bryantmo/.m2/repository/com/netflix/hystrix/hystrix-serialization
若这种方式效率太低,可采用一些近似法(如正向表减、t-digest或HdrHistogram)来计算百分位数,其CPU和内存开销很低。
license-com.github.luben-zstd-jni.txt x apache-streampark_2.11-2.1.4-incubating-bin/licenses/license-org.hdrhistogram-HdrHistogram.txt 2.1.4-incubating-bin/lib/micrometer-core-1.9.10.jar x apache-streampark_2.11-2.1.4-incubating-bin/lib/HdrHistogram license-com.github.luben-zstd-jni.txt x apache-streampark_2.12-2.1.4-incubating-bin/licenses/license-org.hdrhistogram-HdrHistogram.txt 2.1.4-incubating-bin/lib/micrometer-core-1.9.10.jar x apache-streampark_2.12-2.1.4-incubating-bin/lib/HdrHistogram
license-com.github.luben-zstd-jni.txt x apache-streampark_2.11-2.1.4-incubating-bin/licenses/license-org.hdrhistogram-HdrHistogram.txt 2.1.4-incubating-bin/lib/micrometer-core-1.9.10.jar x apache-streampark_2.11-2.1.4-incubating-bin/lib/HdrHistogram license-com.github.luben-zstd-jni.txt x apache-streampark_2.12-2.1.4-incubating-bin/licenses/license-org.hdrhistogram-HdrHistogram.txt 2.1.4-incubating-bin/lib/micrometer-core-1.9.10.jar x apache-streampark_2.12-2.1.4-incubating-bin/lib/HdrHistogram
这个也是Netflix开源出来的一套异步编程库,问下会有介绍 HdrHistogram这个依赖,用于分析采样的数据,方便画直方图等等,和它的metric有关,一般不用太关注 ---- 有何用?
Wrapper around the gpgme library php71-php-pecl-hdr-histogram.x86_64 : PHP extension wrapper for the C hdrhistogram
repository/io/micrometer/micrometer-core/1.14.11/micrometer-core-1.14.11.jar:/Users/varya/.m2/repository/org/hdrhistogram /HdrHistogram/2.2.2/HdrHistogram-2.2.2.jar:/Users/varya/.m2/repository/org/latencyutils/LatencyUtils/
构建的系统应当能够在运行时收集自身指标,将这些指标发送给中央点执行进一步分析,查看Gil Tene在HdrHistogram上的工作,并利用这个工具。