Skip to content

Commit 9fc58b4

Browse files
Fix: Metric Listener (#1)
1 parent 6998714 commit 9fc58b4

File tree

2 files changed

+5
-19
lines changed

2 files changed

+5
-19
lines changed

src/Listener/MetricFlushListener.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
use Hyperf\Event\Contract\ListenerInterface;
1414
use Hyperf\Framework\Event\BeforeWorkerStart;
1515
use OpenTelemetry\SDK\Metrics\MetricReaderInterface;
16+
use Hyperf\Command\Event\BeforeHandle;
1617

1718
class MetricFlushListener implements ListenerInterface
1819
{
@@ -29,15 +30,12 @@ public function listen(): array
2930
{
3031
return [
3132
BeforeWorkerStart::class,
33+
BeforeHandle::class,
3234
];
3335
}
3436

3537
public function process(object $event): void
3638
{
37-
if ($event->workerId === null) {
38-
return;
39-
}
40-
4139
$timerInterval = (int) $this->config->get(
4240
'open-telemetry.exporter.metrics.flush_interval',
4341
5

tests/Unit/Listener/MetricFlushListenerTest.php

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44

55
namespace Tests\Unit\Listener;
66

7+
use Hyperf\Command\Event\BeforeHandle;
78
use Hyperf\Contract\ConfigInterface;
89
use Hyperf\Contract\ContainerInterface;
910
use Hyperf\Coordinator\Constants;
1011
use Hyperf\Coordinator\CoordinatorManager;
1112
use Hyperf\Coordinator\Timer;
1213
use Hyperf\Framework\Event\BeforeWorkerStart;
14+
use Hyperf\OpenTelemetry\Listener\MetricFlushListener;
1315
use OpenTelemetry\SDK\Metrics\MetricReaderInterface;
1416
use PHPUnit\Framework\TestCase;
15-
use Hyperf\OpenTelemetry\Listener\MetricFlushListener;
16-
use stdClass;
1717
use Swoole\Server;
1818

1919
/**
@@ -55,19 +55,7 @@ public function testListenReturnsCorrectEvents(): void
5555
{
5656
$listener = new MetricFlushListener($this->container, $this->config);
5757

58-
$this->assertEquals([BeforeWorkerStart::class], $listener->listen());
59-
}
60-
61-
public function testProcessWithNullWorkerIdShouldDoNothing(): void
62-
{
63-
$event = new stdClass();
64-
$event->workerId = null;
65-
66-
$this->config->expects($this->never())->method('get');
67-
$this->container->expects($this->never())->method('has');
68-
69-
$listener = new MetricFlushListener($this->container, $this->config);
70-
$listener->process($event);
58+
$this->assertEquals([BeforeWorkerStart::class, BeforeHandle::class], $listener->listen());
7159
}
7260

7361
public function testProcessWithValidWorkerIdSetsUpTimer(): void

0 commit comments

Comments
 (0)