Package com.dianping.cat.demo

Source Code of com.dianping.cat.demo.TestBusinessMessage

package com.dianping.cat.demo;

import org.junit.Test;

import com.dianping.cat.Cat;
import com.dianping.cat.message.Event;
import com.dianping.cat.message.Transaction;
import com.dianping.cat.message.spi.MessageTree;
import com.dianping.cat.message.spi.internal.DefaultMessageTree;

public class TestBusinessMessage {
  private static final String TuanGou = "TuanGouWeb";

  private static final String PayOrder = "PayOrder";

  @Test
  public void testEvent() throws Exception {
    for (int i = 0; i < 1000; i++) {
      Cat.logError(new NullPointerException());
    }
   
    Thread.sleep(10000);
  }
 
  @Test
  public void test() throws Exception {
    while (true) {
      for (int i = 0; i < 1000; i++) {
        Transaction t = Cat.newTransaction("URL", "/index");
        Cat.logEvent("RemoteLink", "sina", Event.SUCCESS, "http://sina.com.cn/");
        t.addData("channel=channel" + i % 5);
       
        Cat.logMetricForCount("Receipt Verify Success");

        MessageTree tree = (MessageTree) Cat.getManager().getThreadLocalMessageTree();
        tree.setDomain(TuanGou);
        t.complete();
      }

      for (int i = 0; i < 900; i++) {
        Transaction t = Cat.newTransaction("URL", "/detail");
        MessageTree tree = (MessageTree) Cat.getManager().getThreadLocalMessageTree();

        tree.setDomain(TuanGou);
        t.addData("channel=channel" + i % 5);
        t.complete();
      }

      for (int i = 0; i < 500; i++) {
        Transaction t = Cat.newTransaction("URL", "/order/submitOrder");
        MessageTree tree = (MessageTree) Cat.getManager().getThreadLocalMessageTree();

        tree.setDomain(PayOrder);
        Cat.logMetric("order", "quantity", 1, "channel", "channel" + i % 5);
        Cat.logMetric("payment.pending", "amount", i, "channel", "channel" + i % 5);
        Cat.logMetric("payment.success", "amount", i, "channel", "channel" + i % 5);
        t.addData("channel=channel" + i % 5);
        t.complete();
      }

      for (int i = 0; i < 1000; i++) {
        Transaction t = Cat.newTransaction("URL", "t");
        Cat.logEvent("RemoteLink", "sina", Event.SUCCESS, "http://sina.com.cn/");
        t.complete();
      }
      for (int i = 0; i < 900; i++) {
        Transaction t = Cat.newTransaction("URL", "e");
        t.complete();
      }
      for (int i = 0; i < 500; i++) {
        Transaction t = Cat.newTransaction("URL", "home");
        Cat.logMetric("order", "quantity", 1, "channel", "channel" + i % 5);
        Cat.logMetric("payment.pending", "amount", i, "channel", "channel" + i % 5);
        Cat.logMetric("payment.success", "amount", i, "channel", "channel" + i % 5);
        t.complete();
      }

      Thread.sleep(1000);
    }
  }

  @Test
  public void test2() throws Exception {
    while (true) {

      for (int i = 0; i < 1000; i++) {
        Transaction t = Cat.newTransaction("URL", "/index");
        Cat.logEvent("RemoteLink", "sina", Event.SUCCESS, "http://sina.com.cn/");
        t.addData("channel=channel" + i % 5);

        t.complete();
      }
      for (int i = 0; i < 900; i++) {
        Transaction t = Cat.newTransaction("URL", "/detail");
        t.addData("channel=channel" + i % 5);
        t.complete();
      }
      for (int i = 0; i < 500; i++) {
        Transaction t = Cat.newTransaction("URL", "/order/submitOrder");
        Cat.logMetric("order", "quantity", 1, "channel", "channel" + i % 5);
        Cat.logMetric("payment.pending", "amount", i, "channel", "channel" + i % 5);
        Cat.logMetric("payment.success", "amount", i, "channel", "channel" + i % 5);
        t.addData("channel=channel" + i % 5);
        t.complete();
      }

      Thread.sleep(1000);
      break;
    }
  }

  @Test
  public void test3() throws InterruptedException {
    for (int i = 0; i < 500; i++) {
      Transaction t = Cat.newTransaction("test", "test");

      Cat.logMetricForCount("MemberCardSuccess");
      Cat.logMetricForCount("MemberCardFail", 2);

      MessageTree tree = Cat.getManager().getThreadLocalMessageTree();
      ((DefaultMessageTree) tree).setDomain("MobileMembercardMainApiWeb");
      t.complete();
    }
    Thread.sleep(100000);
  }

  public void sample() {
    String pageName = "";
    String serverIp = "";
   
    Transaction t = Cat.newTransaction("URL", pageName); //创建一个Transaction

    try {
      //记录一个事件
      Cat.logEvent("URL.Server", serverIp, Event.SUCCESS, "ip=" + serverIp + "&...");
      //记录一个业务指标,记录订单次数
      Cat.logMetricForCount("OrderCount");
      //记录一个业务指标,记录支付次数
      Cat.logMetricForCount("PayCount");
     
      yourBusiness();//自己业务代码
     
      t.setStatus(Transaction.SUCCESS);//设置状态
    } catch (Exception e) {
      t.setStatus(e);//设置错误状态
    } finally {
      t.complete();//结束Transaction
    }
  }
 
  private void yourBusiness(){
   
  }

}
TOP

Related Classes of com.dianping.cat.demo.TestBusinessMessage

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.