Stackdriver Trace PHP:如何在后台发送 span?
Stackdriver Trace PHP: How to send spans in the background?
根据 https://cloud.google.com/trace/docs/setup/php,PHP 的 App Engine 灵活环境可以 运行 一个守护进程,它在后台向 Stackdriver 发送跟踪跨度,而不是作为请求处理的一部分(这可能会导致响应延迟增加)。
我运行正在使用 Kubernetes Engine,但仍想在后台发送跟踪请求。因此:
- 我可以运行那个批处理守护进程吗?
- 出于好奇,Stackdriver PHP Exporter 如何将这些跨度传递给守护进程?我试图在源代码中搜索它,但找不到它是如何完成的。
- 如果#1 不可行,是否有其他方法在后台执行跨度发送?
似乎涵盖了类似的主题,但没有解决如何手动 运行 守护进程。
如果其他人正在寻找这个,我能够 运行 批处理守护程序如下:
sudo -u www-data -E vendor/bin/google-cloud-batch daemon
请注意,守护程序本身 必须 与您的“服务” PHP 进程 运行 是同一用户,以便访问共享的 SysV 内存两者,因此 sudo
。
您还需要启用 PHP sysv 和 pcntl 扩展。
根据 https://cloud.google.com/trace/docs/setup/php,PHP 的 App Engine 灵活环境可以 运行 一个守护进程,它在后台向 Stackdriver 发送跟踪跨度,而不是作为请求处理的一部分(这可能会导致响应延迟增加)。
我运行正在使用 Kubernetes Engine,但仍想在后台发送跟踪请求。因此:
- 我可以运行那个批处理守护进程吗?
- 出于好奇,Stackdriver PHP Exporter 如何将这些跨度传递给守护进程?我试图在源代码中搜索它,但找不到它是如何完成的。
- 如果#1 不可行,是否有其他方法在后台执行跨度发送?
如果其他人正在寻找这个,我能够 运行 批处理守护程序如下:
sudo -u www-data -E vendor/bin/google-cloud-batch daemon
请注意,守护程序本身 必须 与您的“服务” PHP 进程 运行 是同一用户,以便访问共享的 SysV 内存两者,因此 sudo
。
您还需要启用 PHP sysv 和 pcntl 扩展。