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


Java Tracer.startSpan方法代码示例

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


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

示例1: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException, SQLException {
  checkNotNull(args);
  checkArgument(
      args.length == 1, "Expected exactly one command line argument, the cloud project ID");

  String projectId = args[0];
  Tracer tracer = TraceGrpcApiService.builder().setProjectId(projectId).build().getTracer();

  // Make the Tracer available to Stackdriver Trace for JDBC.
  // TODO: Replace this with the upcoming mechanism in the Cloud Trace for Java SDK.
  ThreadLocalTracerStore.setCurrent(tracer);

  TraceContext traceContext = tracer.startSpan("example request");

  System.out.println("Hello Stackdriver Trace for JDBC!");
  System.out.println("Your lucky number is " + doStuff());
  System.out.println("Help me find out why this request is so slow!");
  System.out.println(
      "Hint: https://console.cloud.google.com/traces/overview?project=" + projectId);

  tracer.endSpan(traceContext);
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java-instrumentation,代码行数:23,代码来源:Main.java

示例2: SpanImpl

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
SpanImpl(Tracer tracer, String name) {
  checkNotNull(tracer);
  checkNotNull(name);

  this.tracer = tracer;
  this.traceContext = tracer.startSpan(name);
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java-instrumentation,代码行数:8,代码来源:CloudTraceSdkTraceService.java

示例3: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
  String projectId = System.getProperty("projectId");
  String clientSecretsFile = System.getProperty("clientSecretsFile");

  // Create the trace sink.
  TraceProducer traceProducer = new TraceProducer();
  TraceConsumer traceConsumer = GrpcTraceConsumer.createWithCredentials(
      GoogleCredentials.fromStream(new FileInputStream(clientSecretsFile))
          .createScoped(Arrays.asList("https://www.googleapis.com/auth/trace.append")));
  FlushableTraceConsumer flushableSink = new SimpleBufferingTraceConsumer(traceConsumer);
  TraceSink traceSink = new TraceSinkV1(projectId, traceProducer, flushableSink);

  // Create the tracer.
  SpanContextFactory spanContextFactory = new SpanContextFactory(
      new ConstantTraceOptionsFactory(true, false));
  TimestampFactory timestampFactory = new JavaTimestampFactory();
  SpanContextHandler contextHandler = new GrpcSpanContextHandler(spanContextFactory.initialContext());
  Tracer tracer = new SpanContextHandlerTracer(traceSink, contextHandler, spanContextFactory, timestampFactory);

  // Create a span using the given timestamps.
  TraceContext context1 = tracer.startSpan("my span 1");

  TraceContext context2 = tracer.startSpan("my span 2");

  StackTrace.Builder stackTraceBuilder = ThrowableStackTraceHelper.createBuilder(new Exception());
  tracer.setStackTrace(context2, stackTraceBuilder.build());
  tracer.endSpan(context2);

  tracer.endSpan(context1);

  flushableSink.flush();
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java,代码行数:33,代码来源:SimpleBufferingGrpc.java

示例4: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
  String projectId = System.getProperty("projectId");

  // Create the trace sink.
  TraceProducer traceProducer = new TraceProducer();
  TraceConsumer traceConsumer = GrpcTraceConsumer.create();
  TraceSink traceSink = new TraceSinkV1(projectId, traceProducer, traceConsumer);

  // Create the tracer.
  SpanContextFactory spanContextFactory = new SpanContextFactory(
      new ConstantTraceOptionsFactory(true, false));
  TimestampFactory timestampFactory = new JavaTimestampFactory();
  SpanContextHandler spanContextHandler = new GrpcSpanContextHandler(
      spanContextFactory.initialContext());
  Tracer tracer = new SpanContextHandlerTracer(traceSink, spanContextHandler, spanContextFactory, timestampFactory);

  // Create some trace data.
  TraceContext context1 = tracer.startSpan("my span 1");

  TraceContext context2 = tracer.startSpan("my span 2");

  StackTrace.Builder stackTraceBuilder = ThrowableStackTraceHelper.createBuilder(new Exception());
  tracer.setStackTrace(context2, stackTraceBuilder.build());
  tracer.endSpan(context2);

  tracer.endSpan(context1);
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java,代码行数:28,代码来源:ManagedGrpc.java

示例5: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) {
  Tracer tracer = Trace.getTracer();

  // Create a span using the given timestamps.
  TraceContext context = tracer.startSpan("my span 1");
  StackTrace.Builder stackTraceBuilder = ThrowableStackTraceHelper.createBuilder(new Exception());
  tracer.setStackTrace(context, stackTraceBuilder.build());
  tracer.endSpan(context);
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java,代码行数:10,代码来源:BasicLogging.java

示例6: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) {
  Injector injector = Guice.createInjector(
      new SpanContextHandlerTracerModule(),
      new JavaTimestampFactoryModule(),
      new GrpcSpanContextHandlerModule(),
      new TraceSinkV1Module(),
      new ConstantTraceOptionsFactoryModule(),
      new ProjectIdPropertiesModule(),
      new ScheduledBufferingTraceSinkModule(),
      new TraceEnabledModule(),
      new StackTraceDisabledModule(),
      new GrpcTraceSinkModule(),
      new RoughTraceSizerModule(),
      new SinkBufferSizePropertiesModule(),
      new SinkScheduledDelayPropertiesModule(),
      new SingleThreadScheduledExecutorModule(),
      new ClientSecretsGoogleCredentialsModule(),
      new ClientSecretsFilePropertiesModule(),
      new TraceAppendScopesModule());

  Tracer tracer = injector.getInstance(Tracer.class);

  TraceContext context1 = tracer.startSpan("my span 1",
      new StartSpanOptions().setEnableTrace(true));
  TraceContext context2 = tracer.startSpan("my span 2");

  StackTrace.Builder stackTraceBuilder = ThrowableStackTraceHelper.createBuilder(new Exception());
  tracer.setStackTrace(context2, stackTraceBuilder.build());
  tracer.endSpan(context1);

  tracer.endSpan(context1);

  FlushableTraceConsumer flushableSink = injector.getInstance(FlushableTraceConsumer.class);

  flushableSink.flush();
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java,代码行数:37,代码来源:ScheduledBufferingGrpc.java

示例7: main

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
public static void main(String[] args) throws IOException {
  String projectId = System.getProperty("projectId");

  // Initialize the Tracer.
  TraceService traceService =
      TraceGrpcApiService.builder()
          // Set the projectId.
          .setProjectId(projectId)
          // Uncomment this if you want to provide your own credentials for the Stackdriver Trace
          // API.
          // On GCE, this is optional because the Application Default Credentials are used by
          // default.
          // .setCredentials(
          //    GoogleCredentials.fromStream(new FileInputStream("/path/to/my/credentials.json")))
          // Use a short delay of 1 second for this example. In production, you may want to use a
          // higher value so that more trace events are batched together in a single request to
          // the
          // Stackdriver Trace API. By default, the delay is 15 seconds.
          .setScheduledDelay(1)
          .build();
  Trace.init(traceService);

  Tracer tracer = Trace.getTracer();
  // Force tracing for this span to see the trace in Stackdriver console.
  StartSpanOptions startSpanOptions = new StartSpanOptions().setEnableTrace(true);
  TraceContext context = tracer.startSpan("test-span", startSpanOptions);
  tracer.annotateSpan(
      context, Labels.builder().add("MyTestLabelKey", "MyTestLabelValue").build());
  tracer.endSpan(context);
}
 
开发者ID:GoogleCloudPlatform,项目名称:cloud-trace-java,代码行数:31,代码来源:StackdriverTraceApi.java

示例8: invoke

import com.google.cloud.trace.Tracer; //导入方法依赖的package包/类
/**
 * {@inheritDoc}
 *
 * <p>Create a new trace containing information about the requests.
 *    The traces are buffered by the TraceService and regularly sent to Stackdriver</p>
 */
@Override
public void invoke(Request request, Response response) throws IOException, ServletException {
  Tracer tracer = traceService.getTracer();
  SpanContextHandle contextHandle = null;

  String traceHeader = request.getHeader(X_CLOUD_TRACE_HEADER);
  if (traceHeader != null) {
    SpanContext spanContext = traceService
        .getSpanContextFactory()
        .fromHeader(traceHeader);
    contextHandle = traceService.getSpanContextHandler().attach(spanContext);
    log.debug("Tracing request with header: " + request.getHeader(X_CLOUD_TRACE_HEADER));
  }

  TraceContext context = tracer.startSpan(request.getRequestURI());

  getNext().invoke(request, response);

  tracer.annotateSpan(context, createLabels(request, response));

  tracer.endSpan(context);
  if (contextHandle != null) {
    contextHandle.detach();
  }

}
 
开发者ID:GoogleCloudPlatform,项目名称:tomcat-runtime,代码行数:33,代码来源:TraceValve.java


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