public abstract class AbstractSofaTracerStatisticReporter extends Object implements SofaTracerStatisticReporter
| 限定符和类型 | 字段和说明 |
|---|---|
protected TraceAppender |
appender
输出器
|
static int |
DEFAULT_CYCLE
默认的周期为0(从0开始),即输出间隔时间是一个周期时间(一个周期多长时间是可以设置的,默认是60s),
SofaTracerStatisticReporterManager.DEFAULT_CYCLE_SECONDS |
protected AtomicBoolean |
isClosePrint
是否关闭统计日志打印,默认不关闭
|
protected Map<StatKey,StatValues> |
statDatas
统计数据
|
protected String |
statTracerName
统计日志的名称
|
| 构造器和说明 |
|---|
AbstractSofaTracerStatisticReporter(String statTracerName,
long periodTime,
int outputCycle,
String rollingPolicy,
String logReserveConfig) |
AbstractSofaTracerStatisticReporter(String statTracerName,
String rollingPolicy,
String logReserveConfig) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addStat(StatKey keys,
long... values)
默认只提供累加的统计方法
向槽中更新数据 前面是唯一的key,后面是数值列 统计计算会对不同key的数值列进行加和
|
protected String |
buildString(String[] keys) |
void |
close()
关闭打印能力
|
abstract void |
doReportStat(SofaTracerSpan sofaTracerSpan)
|
AtomicBoolean |
getIsClosePrint() |
Map<StatKey,StatValues> |
getOtherStatData()
获取另一组非当前正在统计的数据,总共:两组数据进行统计和打印
|
long |
getPeriodTime()
获取周期时间,即多长时间调度一次
|
Map<StatKey,StatValues> |
getStatData()
返回当前被统计的数据
|
String |
getStatTracerName()
获取统计类型额唯一标示
|
void |
print(StatKey statKey,
long[] values)
打印,即可以打印到本地磁盘,也可以上报到远程服务器
|
void |
reportStat(SofaTracerSpan sofaTracerSpan)
向槽中更新数据 前面是唯一的key,后面是数值列 统计计算会对不同key的数值列进行加和
|
void |
setIsClosePrint(AtomicBoolean isClosePrint) |
Map<StatKey,StatValues> |
shiftCurrentIndex()
切换当前下标并返回切换前的统计数据
|
boolean |
shouldPrintNow()
当该方法被调用,说明已经过去了一个周期,要判断是否已经过去了足够的周期,是否需要flush
|
public static final int DEFAULT_CYCLE
SofaTracerStatisticReporterManager.DEFAULT_CYCLE_SECONDSprotected AtomicBoolean isClosePrint
protected TraceAppender appender
protected String statTracerName
protected Map<StatKey,StatValues> statDatas
public AbstractSofaTracerStatisticReporter(String statTracerName, String rollingPolicy, String logReserveConfig)
public long getPeriodTime()
SofaTracerStatisticReportergetPeriodTime 在接口中 SofaTracerStatisticReporterpublic String getStatTracerName()
SofaTracerStatisticReportergetStatTracerName 在接口中 SofaTracerStatisticReporterpublic void reportStat(SofaTracerSpan sofaTracerSpan)
SofaTracerStatisticReporterreportStat 在接口中 SofaTracerStatisticReportersofaTracerSpan - span 上下文public abstract void doReportStat(SofaTracerSpan sofaTracerSpan)
sofaTracerSpan - 要被统计的 spanprotected void addStat(StatKey keys, long... values)
keys - 被统计 key 的唯一标示values - 被统计的值public Map<StatKey,StatValues> shiftCurrentIndex()
shiftCurrentIndex 在接口中 SofaTracerStatisticReporterpublic Map<StatKey,StatValues> getStatData()
public Map<StatKey,StatValues> getOtherStatData()
public boolean shouldPrintNow()
SofaTracerStatisticReporterpublic void print(StatKey statKey, long[] values)
SofaTracerStatisticReporterprint 在接口中 SofaTracerStatisticReporterstatKey - 统计关键字values - 要打印的值public void close()
SofaTracerStatisticReporterclose 在接口中 SofaTracerStatisticReporterpublic AtomicBoolean getIsClosePrint()
public void setIsClosePrint(AtomicBoolean isClosePrint)
Copyright © 2018 Pivotal Software, Inc.. All rights reserved.