Metric详细设计
2016-10-10 10:44:35 0 举报
Metric是一种可扩展的、开源的度量收集和存储系统,用于处理大规模的分布式系统。它主要用于收集时间序列数据,如CPU使用率、内存使用量、网络吞吐量等。Metric的设计目标是提供一种简单、灵活且高效的方式来收集、查询和分析这些数据。 在详细设计上,Metric采用了标签(labels)来组织数据,每个度量都可以有多个标签,这使得数据的筛选和聚合变得非常方便。同时,Metric还支持自定义聚合函数,可以根据实际需求对数据进行复杂的计算和分析。此外,Metric还提供了丰富的API,可以方便地与各种监控系统和告警系统集成。
作者其他创作
大纲/内容
RemoveReporter
RequestJobMetrics
MetricManager
+ registerActiveMetric(metric)+ registerInActiveMetric(metric)+ unregisterMetric(metric)+ stateChange(metricStateUpdate)
UserMetricSlotInfo
Alertor
+ alert(Alert)
AlertMessage
Alert模块
Histogram
+ updateValue(value)+ getValue(): MetricValue
HistoryServerSender
+ notifyMetric(MetricValue)
MetricReporter
JobMetricsCollector
ListUserMetricSlot
UpdateRule
Throughoutput
+ markEvent()+ markEvent(n)+ getValue(): MetricValue
Metric
+ getValue(): MetricValue+ stop()
MetricStateUpdate
MetricsSlaveService
+ handleMesage(msg)+ reportMessageToScheduler(msg)
ExpertRule Module
Rule
- ruleName- params- alertors
MetricValue
+ getValue(): Any
LogAlertor
KafkaSender
UserDefined
+ updateValue(value: Any)+ getValue(): MetricValue
MetricCollector
+ registerMetric(metric): MetricValueReader+ unregisterMetric(metricId)
RegisterMetric
UnregisterRule
RulesManagerCenter
+ registerRule(RuleInfo)+ registerExecutor(): AllRules+ unregisterRule(ruleId)
registerRule
Gauge
- getValueFunc
+ getValue(): MetricValue
AddUserDefineMetric
MetricsMasterService
+ registerMetric(metric)+ unregisterMetric(metric)
JobMetricsReport
ReportersManager
MetricValueReader
+ getValue(): MetricValue+ addListener(MetricListener) - onValueUpdated()
UserMetricSlot
+ addMetric(UserDefined): MetricValue+ removeMetric(metricId)
MetricListener
RemoveUserDefineMetric
KafkaAlertor
Counter
+ inc()+ inc(n)+ dec()+ dec(n)+ getValue(): MetricValue
UnregisterMetric
MetricsRestHandler
+ handleRequest(request)
SystemMetricsRestService
Metric Module
AddReporter
UserDefinedMetricManager
RulesManager
0 条评论
下一页