gpt4 book ai didi

java - 无法在 stackdriver 中看到痕迹

转载 作者:行者123 更新时间:2023-12-02 02:55:29 26 4
gpt4 key购买 nike

我使用以下 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);

但是,当我从控制台访问跟踪时,我没有看到任何内容。

https://console.cloud.google.com/traces/details/8289f38bcb6e44c5b30c98953bee0018?project=myproject

我是否遗漏了一些明显的东西?

注意 - 我正在遵循 How to do a simple Google Cloud Trace request in Java 中提到的代码

更新

我尝试了 API explorer 中的等效有效负载它给了我 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"
}
]
}

响应

200

- Show headers -

{
}

控制台

enter image description here

更新:

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

enter image description here

有什么方法可以检查当上面的java代码被触发时正在发送什么有效负载?

最佳答案

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

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

pt.execute()

引用patchTraces#examples

关于java - 无法在 stackdriver 中看到痕迹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43158634/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com