Profiler类图
2016-12-14 15:58:36 0 举报
Profiler类图展示了一个用于分析程序性能的工具。它包含了多个类和接口,如CPUProfiler、MemoryProfiler、IOProfiler等,这些类分别用于收集和分析CPU使用情况、内存占用以及I/O操作等方面的信息。Profiler类图中还包含了一些辅助类,如Timer、Counter等,用于计算时间间隔和计数器值。此外,Profiler类图还包括了一些接口,如ProfilerListener,用于在分析过程中通知用户有关性能数据的变化。总之,Profiler类图展示了一个用于评估和优化程序性能的复杂系统,包括了多种工具和技术。
作者其他创作
大纲/内容
Profiler
- int : size- ThreadData[] : threadProfile+ SlowQueryData[] : slowQueryProfile+ AtomicInteger : instrumentClassCount+ AtomicInteger : instrumentMethodCount
4. 空间互换
InnerControlTime
Main
ProfStack
* Object[] : elementData* int : elementCount
+ ProfStack()+ E : push(E item)+ E : pop()+ E : peek()+ E : elementAt(int index)+ void : clear()+ void : removeElementAt(int index)+ int : size()- void : ensureCapacityHelper(int minCapacity)
RecordSlowQuery
SlowQueryData
+ void : clear()
ThreadData
+ ProfStack : profileData+ ProfStack : stackFrame+ int : stackNum
from
2.将存活对象复制到to
SamplerThread
- DailyRollingFileWriter : fileWriter- int : samplerIntervalTime
+ SamplerThread()+ void : run()
ClassFileTransformer
1.检查存活对象
3.清除非存活对象
InnerSocketThread
- ServerSocket:socket
- String:read()- String:write()+ void:main()+ void:run()
to
ProfConfig
+ attribute1:type = defaultValue+ attribute2:type- attribute3:type
+ operation1(params):returnType- operation2(params)- operation3()
DataDumpThread
- DailyRollingFileWriter : fileWriter- DailyRollingFileWriter : mysqlFileWriter- int : eachProfUseTime- int : eachProfIntervalTime
- void : dumpProfileData()- void : dumpMysqlData()+ DataDumpThread()+ void : run()
Thread
Manager
+ int : PORT+ Boolean : METHOD_LOG_PATH- Boolean : NEED_NANO_TIME- Boolean : IGNORE_GETSET_METHOD...
+ void : initialization()+ Manager : instance()+ Boolean : isNeedNanoTime()...- void:setProfFilter()+ void:startupThread()
ProfTransformer
- Boolean:isBlank(String str)- byte[] transform4Mysql(...)+ byte[] transform(...)
TimeControlThread
- Object:lock- InnerControlTime:startTime- InnerControlTime:endTime
- void : await()+ TimeControlThread(ProfConfig config)+ long : waitTime(InnerControlTime time)+ long : nextStartTime(InnerControlTime time)+ void : run()+ InnerControlTime : parse(String time)
DailyRollingFileWriter
- String : fileName- String : rollingFileName- BufferedWriter : bufferedWriter
0 条评论
回复 删除
下一页