首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Opencensus Stackdriver跟踪Python应用程序未出现在GCP中的跟踪列表中

Opencensus Stackdriver跟踪Python应用程序未出现在GCP中的跟踪列表中
EN

Stack Overflow用户
提问于 2020-07-01 10:32:00
回答 2查看 384关注 0票数 3

我正在使用OpenCensus比较不同的跟踪后端。我已经有了使用Zipkin和Azure运行良好的简单OpenCensus.io python示例。

现在我试着用GCP的Stackdriver测试.

我已经设置了来自Opencensus https://opencensus.io/exporters/supported-exporters/python/stackdriver/的测试代码如下:

代码语言:javascript
复制
#!/usr/bin/env python

import os

from opencensus.common.transports.async_ import AsyncTransport
from opencensus.ext.stackdriver.trace_exporter import StackdriverExporter
from opencensus.trace.tracer import Tracer

def main():
    sde = StackdriverExporter(
        project_id=os.environ.get("GCP_PROJECT_ID"),
        transport=AsyncTransport)

    tracer = Tracer(exporter=sde)
    with tracer.span(name="doingWork") as span:
        for i in range(10):
            pass

if __name__ == "__main__":
    main()

我已经为GCP_PROJECT_ID设置了环境变量,并且在GOOGLE_APPLICATION_CREDENTIALS.中设置了服务帐户JSON文件的键文件路径

服务帐户具有“云跟踪代理”角色。

我的代码在没有错误的情况下运行,但在跟踪下的GCP控制台或监视仪表板中看不到任何信息。

我是不是遗漏了什么?

环境注意事项:我正在使用Python3.7.2在本地Windows机器上测试这一点

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-24 09:13:36

在文档中不太清楚的一点是,默认情况下,跟踪被采样为(参见源文件这里),因此每个调用都被正确地记录下来,但是只存储了1e-4跟踪。它有助于降低成本,但它是调试过程中的一个主要难点。

如果要记录所有跟踪,可以使用AlwaysOnSampler并将其传递给跟踪程序:

代码语言:javascript
复制
import os

from opencensus.common.transports.async_ import AsyncTransport
from opencensus.ext.stackdriver.trace_exporter import StackdriverExporter
from opencensus.trace.tracer import Tracer
from opencensus.trace.samplers import AlwaysOnSampler

def main():
    sde = StackdriverExporter(
        project_id=os.environ.get("GCP_PROJECT_ID"),
        transport=AsyncTransport)

    tracer = Tracer(exporter=sde, sampler=AlwaysOnSampler())
    with tracer.span(name="doingWork") as span:
        for i in range(10):
            pass

if __name__ == "__main__":
    main()

希望它能解决你的问题!

票数 1
EN

Stack Overflow用户

发布于 2020-07-06 12:42:41

通过遵循OpenCensus步骤,我能够在GCP中(在项目的一个实例中)设置这里提到的

为了快速设置它,下面是我在一个全新的Ubuntu实例中运行的命令

代码语言:javascript
复制
sudo apt-get install python3
sudo apt install python3-pip
wget https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/opencensus/requirements.txt
pip3 install -r requirements.txt
wget https://raw.githubusercontent.com/GoogleCloudPlatform/python-docs-samples/master/opencensus/metrics_quickstart.py
python3 metrics_quickstart.py
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62674846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档