堆栈驱动程序跟踪 PHP:如何在后台发送跨度?



根据 https://cloud.google.com/trace/docs/setup/php,适用于PHP的App Engine灵活环境可以运行一个守护程序,该守护程序在后台将跟踪跨度发送到Stackdriver,而不是作为请求处理的一部分(这可能会导致响应延迟增加(。

我正在运行 Kubernetes 引擎,但仍然想在后台发送跟踪请求。因此:

  1. 是否可以自己运行该批处理守护程序?
  2. 出于好奇,Stackdriver PHP Exporter 如何将这些跨度传递给守护进程?我试图在源代码中搜索它,但找不到它是如何完成的。
  3. 如果 #1 是不可能的,有没有另一种方法可以在后台执行跨度发送?

Stackdriver Trace with Google Cloud Run 似乎涵盖了类似的主题,但没有解决如何手动运行守护程序。

如果其他人正在寻找这个,我能够按如下方式运行批处理守护程序:

sudo -u www-data -E vendor/bin/google-cloud-batch daemon

请注意,守护进程本身必须以与"服务"PHP 进程相同的用户身份运行,才能访问两者之间共享的 SysV 内存,因此sudo. 您还需要启用 PHP sysv 和 pcntl 扩展。

最新更新