Сбой newrelic агента для приложения Yii2 с `Неверный сегмент '<unknown>': время начала (#####) после времени остановки (0)` - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь интегрировать Newrelic в приложение Yii2, и кажется, что есть некоторые проблемы с захватом некоторых транзакций / трассировок, особенно если они занимают больше времени.

Из / var / log / newrelic / php_agent. log

2019-11-06 14:28:53.243 +0000 (42171 42171) warning: Invalid segment '<unknown>': start time (10097053) after stop time (0)
2019-11-06 14:28:53.243 +0000 (42171 42171) warning: Invalid segment '<unknown>': start time (10424999) after stop time (0)
2019-11-06 14:28:53.243 +0000 (42171 42171) warning: Segment iteration failed; no trace or span events will be generated for this transaction

Из /var/log/newrelic/newrelic-daemon.log

2019/11/06 14:01:11.380047 (45) Info: Reporting to: https://rpm.eu.newrelic.com/accounts/###/applications/###
2019/11/06 14:01:11.380571 (45) Info: app 'local-rest-api' connected with run id 'BMay...waQ'
2019/11/06 14:50:08.040596 (45) Info: removing "local-rest-api" with run id "BMay...waQ" for lack of activity within 10m0s
2019/11/06 14:50:08.046068 (45) Info: removing "local-rest-api" with run id "BMay...waQ" for lack of activity within 10m0s

Другие подробности env:

  • Docker 2.1.0.4 запущенна MacOS
  • ОТ php: 7.2.14-fpm с Xdebug v2.7.2
  • Новая версия Relic daemon 9.2.0.247-51143810a9c6
  • Yii2 v2.0.14

Установить скрипт в Docker:

RUN \
  curl -L "https://download.newrelic.com/php_agent/release/newrelic-php5-9.2.0.247-linux.tar.gz" | tar -C /tmp -zx && \
   export NR_INSTALL_USE_CP_NOT_LN=1 && \
    export NR_INSTALL_SILENT=1 && \
     /tmp/newrelic-php5-*/newrelic-install install && \
      rm -rf /tmp/newrelic-php5-* /tmp/nrinstall* && \
        sed -i -e 's/"REPLACE_WITH_REAL_KEY"/"xxxxxxxxxxxx"/' \
     -e 's/newrelic.appname = "PHP Application"/newrelic.appname = "local-rest-api"/' \
         /usr/local/etc/php/conf.d/newrelic.ini

Текущее решение:

Добавление newrelic_end_of_transaction() до окончания yii\base\Application::run(), но оно не работает для более длинных транзакций (например, дажеесли я добавлю 10 секунд сна).

Любые предложения о том, как решить или отладить проблему?

Спасибо!

...