问题标签 [google-cloud-trace]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
google-cloud-trace - 使用 REST api 创建不同的颜色范围
我看过一些跟踪截图,其中不同的跨度有不同的颜色(https://rakyll.org/grpc-trace/)。
我尝试使用 v2 rest api 跟踪我的代码,并且所有生成的跨度都是统一的蓝色阴影。
这些颜色是如何确定的?我在 v2 rest api 中没有看到明确的颜色属性。颜色是从其他属性推断出来的吗?它是被放弃的旧功能吗?
google-cloud-trace - 在 UI 中查看 stackTrace?
当我尝试将 stackTrace 添加到我的跨度时,我得到以下结果:
- 将 stackTrace 添加到父 span 会导致 UI 中出现空的“Callstack”部分(父 stackTrace)
- 将 stackTrace 添加到子跨度会导致 UI 中出现“/stackTrace”属性。属性值是一个非常难以阅读的未格式化的 json 转储(子 stackTrace)
这是错误调用 API 的结果,还是我应该从这个功能中得到的结果?
google-cloud-trace - 如何让谷歌跟踪直观地指示有错误的跨度
向谷歌跟踪报告的一些跨度表示以错误结束的方法调用。有没有办法让谷歌跟踪以视觉方式将这些跨度与成功跨度分开(不同的颜色,类似于 AWS xray 的错误图标......)?
我尝试设置这些属性,但在视觉上它们没有区别:
- 跨度状态
- /错误/消息属性
- /error/name 属性
- /http/status_code 属性
node.js - 谷歌云跟踪自定义跟踪只工作几次
我已经使用 nodejs & express 激活了 Google Cloud Tracer,在自动模式下运行良好,正确注册了对 api 的调用。
我尝试手动创建跟踪,以了解中间步骤的执行时间。
但 Google Cloud Trace 仅列出 1 或 2 个调用,而自动生成的调用显示数千个 API 调用。
我还阅读了文档以尝试获取 express.js 中间件的上下文,但我没有找到获取上下文的方法。
来自:谷歌云跟踪
每当收到传入请求时,都会自动启动根跨度(换句话说,所有中间件都已在根跨度内运行)。
更新基于@kjin评论:
在快递的控制器内你只需要
tracer.createChildSpan({name: 'name'})
google-cloud-trace - 允许的最大 span.status.message 大小是多少?
在尝试使用 v2 batchWrite API 时,我能够写入长达 5KB 的状态消息。谷歌是否强制执行最大值?其他所有跟踪字段似乎都非常严格地限制为 128B/256B。
node.js - 跟踪代理不接收 pubsub 订阅消息
我们正在尝试跨多个 node.js 微服务设置跟踪。
服务获得了 http 端点和 pubsub 集成。所有服务都通过 pubsub 相互通信。
Trace-agent 正确获取 http 请求和所有其他跟踪(即 mysql 和 pubsub.publish)。
但是,当服务在 pubsub 订阅上收到消息时,trace-agent 什么也看不到。
其他跟踪(mysql 和 pubsub.publishing)在第一次通过 pubsub.subscription 发出请求时也不会被拾取。
我们正在使用正在侦听消息的请求订阅:
subscription.on('message', processMessage);
如何启用 trace-agent 来获取那些通过 pubsub 订阅进行的跟踪?
更新 1:
启用日志以包含调试消息,start({ logLevel: 4 });
发现有很多跟踪消息,但未附加到根跨度:'Creating phantom child span because there is no root span.'
google-cloud-platform - 安装和使用 google cloud trace api 客户端版本 1 for python
我正在尝试编写一个脚本来提取 Stackdriver Trace 信息以加载到大查询中,但我在安装 python 客户端库时遇到了问题。我需要版本 1 的库来访问数据,但是当我安装 google-cloud-trace 时,它默认为版本 2。
https://googleapis.github.io/google-cloud-python/latest/trace/index.html上的说明建议我应该安装一个名为 gapic-google-cloud-trace-v1 的包,但这似乎没有存在。
有没有办法通过客户端访问版本1,是否有另一个包或者我应该放弃并直接使用http?
java - 如何使用 Stackdriver Trace 在 App Engine Standard 中创建自定义 Span?
我尝试将自定义跨度和注释添加到 AppEngine 标准应用程序。在 GCP 控制台的 Traces 页面中,我看到了默认跨度,但没有看到我添加的自定义跨度。
我遵循文档:https : //cloud.google.com/trace/docs/setup/java 我使用最新版本的 opencensus-api 0.23.0
Stackdrive Trace API 已启用,我在 API 的指标页面中看到应用程序成功google.devtools.cloudtrace.v2.TraceService.BatchWriteSpans
调用。
我基于重现此问题的官方helloworld应用程序创建了一个示例应用程序。
有趣的部分:
你可以在这里看到完整的代码
我发现了我的错误。这是我打开问题时看到的: 问题是选择了服务和版本。
这些自定义跨度看起来像一个单独的请求,我需要选择所有服务,否则它们会被隐藏。
所以至少我可以看到这在某种程度上是有效的,但这不是我想要的。我想实现这样的目标:
如何将我的自定义跨度附加到为请求显示的根跨度?
c# - 来自文件的 C# Stackdriver Trace 凭据
我使用带有 C#(dotnet 核心)的 Google Cloud Stackdriver Trace API 并根据本文工作。
我已经添加了所有需要的代码并想在本地尝试(在我的开发机器上)。由于我不是从 GCP 云运行,因此我创建了一个具有所需权限的新服务帐户。谷歌在文章中说:
GCP 客户端库使用应用程序默认凭据 (ADC) 来查找应用程序的凭据。您可以通过设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量来提供这些凭据:
现在我的代码在达到这一点时失败了:
随着消息:
System.InvalidOperationException:'从位置 C:******.json 读取凭据文件时出错:找不到文件。请检查环境变量 GOOGLE_APPLICATION_CREDENTIALS' 的值
由于许多原因,我不想使用名为GOOGLE_APPLICATION_CREDENTIALS
. 相反,我正在寻找一种方法来为其提供实际文件路径,而不使用环境变量。
我该怎么做?
go - 如何通过端到端的微服务链跟踪请求?
我在 Go 中使用 OpenCensus 将跟踪数据推送到 Stackdriver 以进行涉及 2 个或更多微服务链的调用,我注意到我得到了许多跟踪,其中包含仅针对某些服务的跨度,而不是整个端到端调用。
目前,我将此归因于并非所有调用都被跟踪(仅某个样本)并且每个服务都决定是否跟踪其当前跨度这一事实。
这是它的工作方式吗?有什么方法可以确保在对跟踪进行采样时,调用链中的所有服务都会这样做?