Java 无法在stackdriver中查看跟踪

Java 无法在stackdriver中查看跟踪,java,google-cloud-platform,stackdriver,google-cloud-trace,Java,Google Cloud Platform,Stackdriver,Google Cloud Trace,我使用以下Java代码向stackdriver发送测试跟踪 HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport(); JsonFactory jsonFactory = JacksonFactory.getDefaultInstance(); GoogleCredential cred = GoogleCredential .fromStream( getClass().get

我使用以下Java代码向stackdriver发送测试跟踪

HttpTransport httpTransport = GoogleNetHttpTransport.newTrustedTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();

GoogleCredential cred = GoogleCredential
    .fromStream(
        getClass().getClassLoader().getResourceAsStream("appengineServiceAccountKey.json"),
        httpTransport,
        jsonFactory)
    .createScoped(CloudTraceScopes.all());

CloudTrace gceTrace = new CloudTrace.Builder(httpTransport, jsonFactory, cred)
    .setApplicationName("Google Cloud Trace test app")
    .build();


TraceSpan span = new TraceSpan();
span.setName("foo-bar");
span.setSpanId(new BigInteger("1"));
span.setStartTime("2017-04-02T16:12:03.636Z");
span.setEndTime("2017-04-02T16:12:04.636Z");
Trace trace = new Trace();
trace.setTraceId(UUID.randomUUID().toString().replaceAll("-","")); // Mandatory
trace.setSpans(Collections.singletonList(span));
Traces traces = new Traces();
traces.setTraces(Collections.singletonList(trace)); // Mandatory
cloudTraceService.projects().patchTraces("myproject", traces);
但是,当我从控制台访问跟踪时,我看不到任何东西

我是不是遗漏了什么

注意-我遵循中提到的代码

更新

我尝试了来自的等效负载,它给了我200个响应,在Stackdriver控制台中仍然没有跟踪的迹象

下面是我的有效载荷

PATCH https://cloudtrace.googleapis.com/v1/projects/myproject/traces?key={YOUR_API_KEY}

{
 "traces": [
  {
   "projectId": "myproject",
   "spans": [
    {
     "startTime": "2017-04-03T16:12:03.636Z",
     "endTime": "2017-04-03T16:12:04.636Z",
     "spanId": "2"
     "name": "bar-foo"
    }
   ],
   "traceId": "8289f38bcb6e44c5b30c98953bee0018"
  }
 ]
}
回应

控制台

更新:

感谢GCP社区slack中的某个人指出,有效负载中缺少Span名称,以便能够在跟踪控制台中看到它。我已经在这里更新了代码。但是,当我从java代码发送一个跟踪时,即使在设置了跨度名称之后,我仍然无法看到跟踪


当触发上述java代码时,有什么方法可以检查发送的有效负载吗?

最后,我发现在构建请求之后,我没有调用pt.execute()

PatchTraces pt =cloudTraceService.projects().patchTraces("myproject", traces);

pt.execute()

reference

最后我发现我在构建请求之后并没有调用pt.execute()

PatchTraces pt =cloudTraceService.projects().patchTraces("myproject", traces);

pt.execute()
参考文献