text: Title: [Metric]Add metrics
  Body: <!--
  Thank you for your contribution!
  
  Please review https://github.com/mars-project/mars/blob/master/CONTRIBUTING.rst before opening an issue.
  -->
  
  ## Background
  There is no metrics in mars and it's useful and necessary to add a simple and convenient metric framework.
  
  ## Design
  ![image](https://user-images.githubusercontent.com/5388750/235863794-1e8dce73-646b-49df-8273-938e8c300f95.png)
  
  `Counter`, `Gauge`, `Meter` and `Histogram` are the most commonly used metrics. 
  * `Counter` is a cumulative type of data which represents a monotonically increasing number
  * `Gauge` is a single numerical value
  * `Meter` is the rate at which a set of events occur. we can use it as qps or tps
  * `Histogram` records the average value of a window data
  
  And we can use these four types of metrics as follows:
  ```
  # Counter can be declared as `Counter(name, description: str = "", tag_keys: Optional[Tuple[str]] = None)` 
  # and the others  are similar.
  
  c1 = Counter('counter1', 'A counter')
  c1.record(1)
  
  c2 = Counter('counter2', 'A counter', ('service', 'tenant'))
  c2.record(1, {'service': 'mars', 'tenant': 'test'})
  
  g1 = Gauge('gauge1')
  g1.record(1)
  
  m1 = Meter('meter1')
  m1.record(1)
  
  h1 = Histogram('histogram1')
  h1.record(1)
  ```
  
  We'll implement 3 types backends of metrics including console which just log the value and can be used to debug, ray and prometheus.
  
  And there will be 4 PRs:
  - [x] First pr adds metrics framework and console backend(#2742)
  - [x] Second pr adds ray implementation(#2749)
  - [x] Third pr adds prometheus implementation(#2752)
  - [x] The last pr adds common metrics for mars like tileable graph building time and subtask execution time(#2760)
  
  And we propose a naming convention for metrics as follows:
  `[namespace].[component]_name[_units]`
  namespace could be mars, component could be supervisor or worker and can be omitted.
  For example, we can naming a `mars.subtask_execution_time_secs` to present the subtask execution time.