You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@servicecomb.apache.org by "ASF GitHub Bot (JIRA)" <ji...@apache.org> on 2018/01/16 08:39:00 UTC

[jira] [Commented] (SCB-12) Support Custom Metrics

    [ https://issues.apache.org/jira/browse/SCB-12?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16326875#comment-16326875 ] 

ASF GitHub Bot commented on SCB-12:
-----------------------------------

zhengyangyong opened a new pull request #510: [SCB-12] Support Custom Metrics
URL: https://github.com/apache/incubator-servicecomb-java-chassis/pull/510
 
 
   Signed-off-by: zhengyangyong <ya...@huawei.com>
   
   Follow this checklist to help us incorporate your contribution quickly and easily:
   
    - [ ] Make sure there is a [JIRA issue](https://issues.apache.org/jira/browse/SCB) filed for the change (usually before you start working on it).  Trivial changes like typos do not require a JIRA issue.  Your pull request should address just this issue, without pulling in other changes.
    - [ ] Each commit in the pull request should have a meaningful subject line and body.
    - [ ] Format the pull request title like `[SCB-XXX] Fixes bug in ApproximateQuantiles`, where you replace `SCB-XXX` with the appropriate JIRA issue.
    - [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
    - [ ] Run `mvn clean install` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically.
    - [ ] If this contribution is large, please file an Apache [Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf).
   
   ---
   Add custom metrics interface for user define his/her own business metrics,also a sample in "custom-business-metrics"
   ```java
   @Component
   public class ShopDemoService {
   
     private final CounterService counterService;
   
     private final GaugeService gaugeService;
   
     private final WindowCounterService windowCounterService;
   
     //autowire metrics service
     @Autowired
     public ShopDemoService(CounterService counterService, GaugeService gaugeService,
         WindowCounterService windowCounterService) {
       this.counterService = counterService;
       this.gaugeService = gaugeService;
       this.windowCounterService = windowCounterService;
     }
   
     public void login(String name, String password) {
       counterService.increment("Active User");
     }
   
     public void logout(String session) {
       counterService.decrement("Active User");
     }
   
     public void order(String orderInfo) throws InterruptedException {
       long start = System.currentTimeMillis();
       //sim  do order process
       Thread.sleep(100);
   
       //sim record order process time
       windowCounterService.record("Order Latency", System.currentTimeMillis() - start);
   
       windowCounterService.record("Order Count", 1);
       //only support long
       windowCounterService.record("Order Amount", 66);
     }
   
     public void discount(double value) {
       //make a discount to Levis Jeans
   
       gaugeService.update("Levis Jeans", value);
     }
   }
   ```
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Support Custom Metrics
> ----------------------
>
>                 Key: SCB-12
>                 URL: https://issues.apache.org/jira/browse/SCB-12
>             Project: Apache ServiceComb
>          Issue Type: Sub-task
>          Components: Java-Chassis
>            Reporter: yangyongzheng
>            Assignee: yangyongzheng
>            Priority: Major
>             Fix For: java-chassis-1.0.0-m1
>
>
> User can inject custom business metrics into MetricsRegistry then get them back with build-in metrics together,need support this basic metric type:
> 1.Counter
> 2.Guage
> 3.Max
> 4.Min
> 5.Rate
> 6.Custom Callback with Fun0



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)