DUE TO SPAM, SIGN-UP IS DISABLED. Goto Selfserve wiki signup and request an account.
Status
...
| Page properties | |||
|---|---|---|---|
|
...
|
...
|
...
|
Please keep the discussion on the mailing list rather than commenting on the wiki (wiki discussions get unwieldy fast).
...
The MetricRegistry will contain a MetricQueryService, which acts like an unscheduled reporter.
The service is a separate actor that creates and returns a Key-Value representation of the entire metric space when queried.
The keys represent the name of the metric; formatted according to the following scope format strings:
| metrics.scope.jm | 0:<user_scope>.<name> |
| metrics.scope.tm | 1:<tm_id>:<user_scope>.<name> |
| metrics.scope.jm.job | 2:<job_id>:<user_scope>.<name> |
| metrics.scope.tm.job | 2:<job_id>:<user_scope>.<name> |
| metrics.scope.tm.task | 3:<job_id>:<task_id>:<subtask_index>:<user_scope>.<name> |
| metrics.scope.tm.operator | 4:<job_id>:<task_id>:<subtask_index>:<operator_name>:<user_scope>.<name> |
The initial number serves as a category for the WebInterface, and allows for faster handling as we don't have to parse the entire string before deciding what category it belongs to.
0 = JobManager
1 = TaskManager
2 = Job
3 = Task
4 = Operator
...
MetricStore {
void addMetric(String name, Object value);
JobManagerMetricStore jobMan
class JobManagerMetricStore {
Map<String, Object> metrics;
}
} Map<String, TaskManagerMetricStore> taskmanagers;
class TaskManagerMetricStore {
Map<String, Object> metrics;
}
} Map<String, JobMetricStore> jobs;
class JobMetricStore {
Map<String, Object> metrics;
Map<String, TaskMetricStore > tasks;
}
} class TaskMetricStore {
Map<String, Object> metrics;
Map<String, SubtaskMetricStore>;
}
} class SubtaskMetricStore {
Map<String, Object> metrics;
}
}...
Note that at any given time only one of these objects will exist.
...