View Javadoc

1   package fr.in2p3.jsaga.impl.resource.task;
2   
3   import fr.in2p3.jsaga.impl.monitoring.MetricImpl;
4   import fr.in2p3.jsaga.impl.monitoring.MetricMode;
5   import fr.in2p3.jsaga.impl.monitoring.MetricType;
6   import org.ogf.saga.resource.task.ResourceTask;
7   import org.ogf.saga.task.State;
8   
9   /* ***************************************************
10   * *** Centre de Calcul de l'IN2P3 - Lyon (France) ***
11   * ***             http://cc.in2p3.fr/             ***
12   * ***************************************************/
13  public class ResourceMetrics implements Cloneable {
14      MetricImpl<State> m_State;
15      MetricImpl<String> m_StateDetail;
16  
17      /** constructor */
18      ResourceMetrics(AbstractResourceTaskImpl resource) {
19          m_State = new ResourceStateMetricFactoryImpl<State>(resource).createAndRegister(
20                  ResourceTask.RESOURCE_STATE,
21                  "fires on state changes of the resource, and has the literal value of the resource state enum.",
22                  MetricMode.ReadOnly,
23                  "1",
24                  MetricType.Enum,
25                  State.NEW);
26          m_StateDetail = new ResourceStateMetricFactoryImpl<String>(resource).createAndRegister(
27                  ResourceTask.RESOURCE_STATEDETAIL,
28                  "fires as a resource changes its state detail",
29                  MetricMode.ReadOnly,
30                  "1",
31                  MetricType.String,
32                  "Unknown:Unknown");
33      }
34  
35      /** clone */
36      public ResourceMetrics clone() throws CloneNotSupportedException {
37          ResourceMetrics clone = (ResourceMetrics) super.clone();
38          clone.m_State = m_State.clone();
39          clone.m_StateDetail = m_StateDetail.clone();
40          return clone;
41      }
42  }