reef-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Julia (JIRA)" <>
Subject [jira] [Created] (REEF-1732) Build IMRU Metrics System
Date Thu, 02 Feb 2017 02:07:51 GMT
Julia created REEF-1732:

             Summary: Build IMRU Metrics System
                 Key: REEF-1732
             Project: REEF
          Issue Type: New Feature
          Components: IMRU, REEF
            Reporter: Julia

IMRU Metrics is to provide metrics data to the system so that it can be shown to the user
for monitoring or diagnosis. The goal is to build an E2E flow with simple/basic metrics data.
We can then add more data later. 

* IMetricsProvider - there are multiple sources of metrics data:
  1.Task metrics. This is in particular for IMRU task such as current iteration, progress.
Each task can send task state back to driver and let driver to aggregate it. Alternatively,
as UpdateTask knows current iterations and progress, to start with, we can just get task status
from update task. The task metrics can be provided by task function like IUpdateFunction and
send to driver by task host as TaskMessage with heartbeat. 
  2. Driver metrics – For IMRU driver, it can be system state such as WaitingForEvaluator
or TasksRunning, current retry number, etc. Those driver states are maintained inside IMRU

* IMetricsSink – the metrics data will be output somewhere so that it can be consumed by
a monitoring tool. An interface IMetricsSink will be defined to sink metrics data. An implementation
of the interface can store the data to a remote storage. Multiple sinks can be injected. 

* MetricsManager – It schedules a timer to get metrics from IMetricsProviders and output
the metrics data with IMetricsSinks

Attached file shows the diagram of the design. 

This message was sent by Atlassian JIRA

View raw message