监听OnPipeMessage事件异常

Open
#13 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
20/100
Issue type
Bug
Clarity
Needs clarification
Activity status
Stale
Tech stack
php

Research direction

Start by reading vendor/hyperf/metric/src/Adapter/RemoteProxy/MetricCollector.php around lines 34 and 43, then trace the calls from OnPipeMessage.php lines 59 and 74. Reproduce the reported Resource temporarily unavailable and socket output buffer overflow conditions; the issue does not define an expected fix or a clear done condition.

Written by the indexing model from the issue text.

Description

WARNING Socket::send_blocking(): send 48164 bytes failed, Error: Resource temporarily unavailable[11]
[WARNING] ErrorException: Swoole\Process::write(): write() failed, Error: Resource temporarily unavailable[11] in /app/wechat/uat/vendor/hyperf/metric/src/Adapter/RemoteProxy/MetricCollector.php:43
Stack trace:
#0 [internal function]: Hyperf\ExceptionHandler\Listener\ErrorExceptionHandler::Hyperf\ExceptionHandler\Listener{closure}()
#1 /app/wechat/uat/vendor/hyperf/metric/src/Adapter/RemoteProxy/MetricCollector.php(43): Swoole\Process->write()
#2 /app/wechat/uat/vendor/hyperf/metric/src/Adapter/RemoteProxy/MetricCollector.php(34): Hyperf\Metric\Adapter\RemoteProxy\MetricCollector->flush()
#3 /app/wechat/uat/vendor/hyperf/metric/src/Adapter/RemoteProxy/Gauge.php(47): Hyperf\Metric\Adapter\RemoteProxy\MetricCollector->add()
#4 /app/wechat/uat/vendor/hyperf/metric/src/Listener/OnPipeMessage.php(74): Hyperf\Metric\Adapter\RemoteProxy\Gauge->set()
#5 /app/wechat/uat/vendor/hyperf/metric/src/Listener/OnPipeMessage.php(59): Hyperf\Metric\Listener\OnPipeMessage->processData()
#6 /app/wechat/uat/runtime/container/proxy/Hyperf_Coroutine_Coroutine.proxy.php(82): Hyperf\Metric\Listener\OnPipeMessage->Hyperf\Metric\Listener{closure}()
#7 [internal function]: Hyperf\Coroutine\Coroutine::Hyperf\Coroutine{closure}()
#8 {main}
[DEBUG] Event Hyperf\Process\Event\PipeMessage handled by Hyperf\Metric\Listener\OnPipeMessage listener.
[2024-04-02 10:38:34 *828196.1] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:34 *828197.2] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:34 *828198.3] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:35 *828195.0] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:39 *828196.1] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:39 *828197.2] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow
[2024-04-02 10:38:39 *828198.3] WARNING write_func() (ERRNO 1009): socket#8 output buffer overflow

Dominant language
PHP
Stars
5
Forks
15
PR merge metrics
No merged PRs in 30d

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from hyperf/metric

All issues in hyperf/metric

Similar issues

More PHP issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.