This is an automated email from the ASF dual-hosted git repository.

ningjiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-pack.git

commit 031fbff51aa00315e7b171cd41362d4341d53966
Author: Lei Zhang <[email protected]>
AuthorDate: Mon Jul 15 14:08:36 2019 +0800

    SCB-1372 Add query RESTful API for alpha metrics
---
 .../alpha/server/api/v1/MetricsController.java}    | 33 +++++++++-------------
 .../alpha/server/fsm/FsmSagaDataController.java    |  4 +--
 .../pack/alpha/server/metrics/AlphaMetrics.java}   | 32 +++++++++++----------
 3 files changed, 33 insertions(+), 36 deletions(-)

diff --git 
a/alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/v1/MetricsController.java
similarity index 54%
copy from 
alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
copy to 
alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/v1/MetricsController.java
index 511daf5..c3aea5c 100644
--- 
a/alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
+++ 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/api/v1/MetricsController.java
@@ -15,30 +15,25 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.pack.alpha.server.actuate.endpoint;
+package org.apache.servicecomb.pack.alpha.server.api.v1;
 
-import org.apache.servicecomb.pack.alpha.core.NodeStatus;
-import org.apache.servicecomb.pack.alpha.core.actuate.endpoint.AlphaStatus;
+import org.apache.servicecomb.pack.alpha.server.metrics.AlphaMetrics;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
-import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.context.annotation.Lazy;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
 
-
-@Configuration
-@Endpoint(id = "alpha")
-public class AlphaEndPoint {
-
-  private AlphaStatus alphaStatus = new AlphaStatus();
+@RestController
+@RequestMapping("/alpha/api/v1")
+public class MetricsController {
 
   @Autowired
-  @Lazy
-  private NodeStatus nodeStatus;
+  org.apache.servicecomb.pack.alpha.server.metrics.AlphaMetrics AlphaMetrics;
 
-  @ReadOperation
-  public AlphaStatus endpoint() {
-    alphaStatus.setNodeType(nodeStatus.getTypeEnum());
-    return alphaStatus;
+  @GetMapping(value = "/metrics")
+  ResponseEntity<AlphaMetrics> metrics() {
+    return ResponseEntity.ok(AlphaMetrics);
   }
+
 }
diff --git 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/FsmSagaDataController.java
 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/FsmSagaDataController.java
index c1976a5..3e28e42 100644
--- 
a/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/FsmSagaDataController.java
+++ 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/fsm/FsmSagaDataController.java
@@ -61,13 +61,13 @@ class FsmSagaDataController {
     List<Map> eventVos = new LinkedList<>();
     SagaData data = 
SagaDataExtension.SAGA_DATA_EXTENSION_PROVIDER.get(system).getLastSagaData();
     data.getEvents().forEach(event -> {
-      LOG.info(event.toString());
       Map<String,String> obj = new HashMap();
       obj.put("serviceName",event.getServiceName());
       obj.put("type",event.getClass().getSimpleName());
       eventVos.add(obj);
     });
-    LOG.info("Get the event size " + eventVos.size());
+    LOG.info("Get the event size {}",eventVos.size());
+    LOG.info("Get the event data {}",eventVos);
 
     return ResponseEntity.ok(eventVos);
   }
diff --git 
a/alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/metrics/AlphaMetrics.java
similarity index 63%
rename from 
alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
rename to 
alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/metrics/AlphaMetrics.java
index 511daf5..1b4a1ca 100644
--- 
a/alpha/alpha-spring-boot-compatibility/alpha-spring-boot-2-starter/src/main/java/org/apache/servicecomb/pack/alpha/server/actuate/endpoint/AlphaEndPoint.java
+++ 
b/alpha/alpha-server/src/main/java/org/apache/servicecomb/pack/alpha/server/metrics/AlphaMetrics.java
@@ -15,30 +15,32 @@
  * limitations under the License.
  */
 
-package org.apache.servicecomb.pack.alpha.server.actuate.endpoint;
+package org.apache.servicecomb.pack.alpha.server.metrics;
 
 import org.apache.servicecomb.pack.alpha.core.NodeStatus;
-import org.apache.servicecomb.pack.alpha.core.actuate.endpoint.AlphaStatus;
+import org.apache.servicecomb.pack.alpha.core.NodeStatus.TypeEnum;
+import org.apache.servicecomb.pack.alpha.fsm.metrics.MetricsBean;
+import org.apache.servicecomb.pack.alpha.fsm.metrics.MetricsService;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.boot.actuate.endpoint.annotation.Endpoint;
-import org.springframework.boot.actuate.endpoint.annotation.ReadOperation;
-import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
 
-
-@Configuration
-@Endpoint(id = "alpha")
-public class AlphaEndPoint {
-
-  private AlphaStatus alphaStatus = new AlphaStatus();
+@Component
+public class AlphaMetrics {
 
   @Autowired
   @Lazy
   private NodeStatus nodeStatus;
 
-  @ReadOperation
-  public AlphaStatus endpoint() {
-    alphaStatus.setNodeType(nodeStatus.getTypeEnum());
-    return alphaStatus;
+  @Autowired(required = false)
+  MetricsService metricsService;
+
+  public MetricsBean getMetrics() {
+    return metricsService != null ? metricsService.metrics() : null;
   }
+
+  public TypeEnum getNodeType(){
+    return nodeStatus.getTypeEnum();
+  }
+
 }

Reply via email to