当前位置: 首页>>代码示例>>Java>>正文


Java Span.logEvent方法代码示例

本文整理汇总了Java中org.springframework.cloud.sleuth.Span.logEvent方法的典型用法代码示例。如果您正苦于以下问题:Java Span.logEvent方法的具体用法?Java Span.logEvent怎么用?Java Span.logEvent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.springframework.cloud.sleuth.Span的用法示例。


在下文中一共展示了Span.logEvent方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onAfterCommit

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public void onAfterCommit(ConnectionInformation connectionInformation, long timeElapsedNanos, SQLException e) {
    Span connectionSpan = connectionSpans.get(connectionInformation);
    if (e != null) {
        connectionSpan.tag(Span.SPAN_ERROR_TAG_NAME, ExceptionUtils.getExceptionMessage(e));
    }
    connectionSpan.logEvent("commit");
}
 
开发者ID:gavlyukovskiy,项目名称:spring-boot-data-source-decorator,代码行数:9,代码来源:TracingJdbcEventListener.java

示例2: onAfterRollback

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public void onAfterRollback(ConnectionInformation connectionInformation, long timeElapsedNanos, SQLException e) {
    Span connectionSpan = connectionSpans.get(connectionInformation);
    if (e != null) {
        connectionSpan.tag(Span.SPAN_ERROR_TAG_NAME, ExceptionUtils.getExceptionMessage(e));
    }
    else {
        connectionSpan.tag(Span.SPAN_ERROR_TAG_NAME, "Transaction rolled back");
    }
    connectionSpan.logEvent("rollback");
}
 
开发者ID:gavlyukovskiy,项目名称:spring-boot-data-source-decorator,代码行数:12,代码来源:TracingJdbcEventListener.java

示例3: afterHandle

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public void afterHandle(Exception ex) {
  final Span currentSpan = tracer.getCurrentSpan();
  if (currentSpan != null) {
    currentSpan.logEvent(Span.SERVER_SEND);
    addErrorTag(ex);
  }
  if (tracer.isTracing()) {
    tracer.detach(currentSpan);
  }
}
 
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:12,代码来源:DefaultAmqpMessagingSpanManager.java

示例4: beforeHandle

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public Span beforeHandle(Message message, String[] queues) {
  final Span span = extractor.joinTrace(message);
  if (span != null) {
    span.logEvent(Span.SERVER_RECV);
  }
  return tracer.continueSpan(span);
}
 
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:9,代码来源:DefaultAmqpMessagingSpanManager.java

示例5: beforeSend

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public Span beforeSend(Message message, String spanName) {
  final Span parentSpan = tracer.isTracing() ? tracer.getCurrentSpan() : buildSpan(message);
  final Span span = tracer.createSpan(spanName, parentSpan);
  final AmqpMessageHeaderAccessor accessor = AmqpMessageHeaderAccessor.getAccessor(message);
  if (accessor.hasHeader(MESSAGE_SENT_FROM_CLIENT)) {
    span.logEvent(Span.SERVER_RECV);
  } else {
    span.logEvent(Span.CLIENT_SEND);
    accessor.setHeader(MESSAGE_SENT_FROM_CLIENT, Boolean.TRUE.toString());
  }
  injector.inject(span, message);
  return span;
}
 
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:15,代码来源:DefaultAmqpMessagingSpanManager.java

示例6: afterSend

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@Override
public void afterSend(Exception ex) {
  final Span currentSpan = tracer.getCurrentSpan();
  if (containsServerReceived(currentSpan)) {
    currentSpan.logEvent(Span.SERVER_SEND);
  } else if (currentSpan != null) {
    currentSpan.logEvent(Span.CLIENT_RECV);
  }
  addErrorTag(ex);
  tracer.close(currentSpan);
}
 
开发者ID:netshoes,项目名称:spring-cloud-sleuth-amqp,代码行数:12,代码来源:DefaultAmqpMessagingSpanManager.java

示例7: invoke

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
public Result invoke(Invoker<?> invoker, Invocation invocation) throws RpcException {
    boolean isTraceDubbo = false;
    Tracer tracer = null;
    SpanInjector spanInjector = null;
    try {
        tracer = ApplicationContextAwareBean.CONTEXT.getBean(Tracer.class);
        spanInjector = ApplicationContextAwareBean.CONTEXT.getBean(DubboSpanInjector.class);
        isTraceDubbo = (tracer != null && spanInjector != null);
        if (isTraceDubbo) {
            String spanName = invoker.getUrl().getParameter("interface") + ":" + invocation.getMethodName() + ":" + invoker.getUrl().getParameter("version") + "(" + invoker.getUrl().getHost() + ")";
            Span newSpan = tracer.createSpan(spanName);
            spanInjector.inject(newSpan, RpcContext.getContext());
            newSpan.logEvent(Span.CLIENT_SEND);

        }

        Result result = invoker.invoke(invocation);
        return result;

    } finally {
        if (isTraceDubbo) {
            if (tracer.isTracing()) {
                tracer.getCurrentSpan().logEvent(Span.CLIENT_RECV);
                tracer.close(tracer.getCurrentSpan());
            }

        }
    }
}
 
开发者ID:threeq,项目名称:dubbo-zipkin,代码行数:30,代码来源:ConsumerSpanFilter.java

示例8: checkoutOrder

import org.springframework.cloud.sleuth.Span; //导入方法依赖的package包/类
@RequestMapping(method = RequestMethod.POST, value = "/checkout")
public ShoppingCart checkoutOrder(@RequestBody ShoppingCart cart) throws InterruptedException {
	
	Span newSpan = this.tracer.createSpan("orderCheckout");
	try {
		
		System.out.println(cart);
		LOG.info("order chechout for cart id: {}",cart.getId());
		Map<String, String> params = new HashMap<String, String>();
	    params.put("cartId", Long.toString(cart.getId()));
	    // ...
	 	// You can tag a span
	 	this.tracer.addTag("cartId", Long.toString(cart.getId()));
	    // Place order
		String orderId = restTemplate().getForObject("http://localhost:9001/placeOrder/{cartId}", String.class,params);
		this.tracer.addTag("orderId", orderId);
		newSpan.logEvent("order creation complete");
		cart.setCheckedOut(true);
		cart.setOrderId(orderId);
		List<MediaType> acceptableMediaTypes = new ArrayList<MediaType>();
		acceptableMediaTypes.add(MediaType.APPLICATION_JSON_UTF8);
		// Introduce Sleep
	/*	newSpan.logEvent("Added delay start");
		Thread.sleep(500);
		newSpan.logEvent("Added delay end");*/
		// Save cart state
		HttpHeaders headers = new HttpHeaders();
		headers.setAccept(acceptableMediaTypes);
		headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
		restTemplate().postForObject("http://localhost:9002/saveCart", cart, ShoppingCart.class);
		
		
		// ...
		// You can log an event on a span
		newSpan.logEvent("cart checkout complete");
	} finally {
		// Once done remember to close the span. This will allow collecting
		// the span to send it to Zipkin
		this.tracer.close(newSpan);
	}
	
	
	return cart;
}
 
开发者ID:ERS-HCL,项目名称:trace-demo,代码行数:45,代码来源:CartService.java


注:本文中的org.springframework.cloud.sleuth.Span.logEvent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。