-
Notifications
You must be signed in to change notification settings - Fork 543
LinShunkang edited this page Sep 6, 2018
·
47 revisions
MyPerf4J默认提供了以下几个参数,用于控制MyPerf4J的行为:
属性 | 类型 | 必填 | 默认值 | 说明 |
---|---|---|---|---|
AppName | String | Yes | 配置应用名称 | |
MetricsProcessorType | int | No | 0 | 配置用于处理监控指标的Processor的类型 0:以标准格式化结构输出到stdout.log 1:以标准格式化结构输出到磁盘 2:以InfluxDB格式输出到磁盘 |
MethodMetricsFile | String | No | /data/logs/MyPerf4J/metrics.log | 配置方法性能监控指标的日志路径,NULL表示丢弃收集到的监控指标 |
ClassMetricsFile | String | No | NULL | 配置类加载监控指标的日志路径,NULL表示丢弃收集到的监控指标 |
GCMetricsFile | String | No | NULL | 配置GC监控指标的日志路径,NULL表示丢弃收集到的监控指标 |
MemMetricsFile | String | No | NULL | 配置内存监控指标的日志路径,NULL表示丢弃收集到的监控指标 |
ThreadMetricsFile | String | No | NULL | 配置线程监控指标的日志路径,NULL表示丢弃收集到的监控指标 |
RecorderMode | String | No | rough | 配置RecordMode,包含accurate和rough两个模式 |
MillTimeSlice | int | No | 30000 | 配置统计时间片,单位为ms,最小1s,最大600s |
ShowMethodParams | boolean | No | false | 是否展示方法参数类型 |
BackupRecordersCount | Int | No | 1 | 配置备用Recorders的数量,最小1,最大8;当你的应用程序拥有非常多的方法需要监控并且你配置的MillTimeSlice比较小时,可以适当的提高BackupRecordersCount的数值。 |
IncludePackages | String | Yes | 配置需要进行监控的包的前缀,支持多个包路径,每个包路径用英文';'分隔 | |
ExcludePackages | String | No | 配置不需要进行监控的包的前缀,支持多个包路径,每个包路径用英文';'分隔 | |
Debug.PrintDebugLog | boolean | No | false | 配置是否打印debug日志,可配置为true/false |
ExcludeMethods | String | No | 配置不需要进行监控的方法名,每个方法名用英文';'分隔 | |
ExcludePrivateMethod | boolean | No | true | 配置是否要排除私有方法,可配置为true/false |
ExcludeClassLoaders | String | No | 配置不需要进行监控的ClassLoader,支持多个ClassLoader,每个ClassLoader路径用英文';'分隔 | |
ProfilingParamsFile | String | No | 配置ProfilingParamsFile文件的路径;用于对MyPerf4J进行内存占用调优;形如: /your/path/to/myPerf4J.profilingParams | |
ProfilingTimeThreshold | int | No | 1000 | 配置通用的方法响应时间阈值,单位为ms |
ProfilingOutThresholdCount | int | No | 16 | 配置通用的 方法响应时间超出指定阈值的次数,仅在RecorderMode=accurate时有效 |
-
Rough模式
- 精度略差,会把响应时间超过指定阈值的记录为'阈值+1'
- 更加节省内存,只使用数组来记录响应时间
- 速度略快一些
- 默认
-
Accurate模式
- 精度高,会记录所有的响应时间
- 相对耗费内存,使用数组+Map来记录响应时间
- 速度略慢一些
- 在
MyPerf4JPropFile
配置文件中指定RecorderMode=accurate
-
建议
- 对于有以下特征的应用,推荐使用Rough模式
- 内存敏感
- 精度要求不是特别高
- 对于有以下特征的应用,推荐使用Accurate模式
- 内存不敏感
- 精度要求特别高
- 方法响应时间范围比较广
- 对于有以下特征的应用,推荐使用Rough模式
ProfilingParamsFile用于指定每个具体方法的响应时间阈值以及超出阈值次数,让MyPerf4J以更少的内存统计更多的方法。
-
在
/your/path/to/myPerf4J.properties
中指定ProfilingParamsFile=/your/path/to/myPerf4J.profilingParams
-
在
/your/path/to/myPerf4J.profilingParams
配置如下:#配置的格式为: #fullClassName.methodName=方法响应时间阈值(ms):超出阈值的次数 cn.perf4j.demo.DemoServiceImpl.getId1=1000:10 cn.perf4j.demo.DemoServiceImpl.getId2=2000:20
* Home
- Chinese-Doc
-
English Doc
- MyPerf4J
- Time Series Database
- Log Collector
- Visualization Platform