라이브러리

[PHP] MongoDBDriverMonitoringaddSubscriber - 모니터링 이벤트 구독자를 전역적으로 등록합니다.




MongoDB Driver Monitoring

MongoDB Driver Monitoring은 MongoDB Driver에서 제공하는 모니터링 기능입니다. 이 기능을 사용하면 MongoDB Driver의 활동을 모니터링하고, 성능을 개선할 수 있습니다.

MongoDBDriverMonitoring 클래스

`MongoDBDriverMonitoring` 클래스는 `MongoDBDriver` 클래스의 하위 클래스입니다. 이 클래스는 `addSubscriber` 메서드를 제공하며, 모니터링을 위한 서브스크라이버를 등록할 수 있습니다.

addSubscriber 메서드

`addSubscriber` 메서드는 모니터링을 위한 서브스크라이버를 등록합니다. 이 메서드는 `MongoDBDriverMonitoringSubscriber` 인터페이스를 구현한 객체를 인수로 받습니다.

#hostingforum.kr
php

use MongoDBDriverMonitoringSubscriber;



class MySubscriber implements Subscriber

{

    public function startMonitoring()

    {

        echo "Monitoring started
";

    }



    public function commandStarted(MongoDBDriverCommand $command)

    {

        echo "Command started: " . $command->getOperationName() . "
";

    }



    public function commandSucceeded(MongoDBDriverCommand $command)

    {

        echo "Command succeeded: " . $command->getOperationName() . "
";

    }



    public function commandFailed(MongoDBDriverCommand $command, MongoDBDriverException $exception)

    {

        echo "Command failed: " . $command->getOperationName() . "
";

        echo "Exception: " . $exception->getMessage() . "
";

    }



    public function serverHeartbeat(MongoDBDriverServer $server)

    {

        echo "Server heartbeat: " . $server->getHost() . "
";

    }



    public function serverClosed(MongoDBDriverServer $server)

    {

        echo "Server closed: " . $server->getHost() . "
";

    }

}



위의 예제는 `MySubscriber` 클래스를 정의합니다. 이 클래스는 `MongoDBDriverMonitoringSubscriber` 인터페이스를 구현하며, 각 메서드를 오버라이딩합니다.

MongoDBDriverMonitoring 사용 예제

#hostingforum.kr
php

use MongoDBDriverMonitoringSubscriber;

use MongoDBDriverMonitoringaddSubscriber;



$mongo = new MongoDBDriverManager("mongodb://localhost:27017");

$monitoring = $mongo->getMonitoring();



$subscriber = new MySubscriber();

$monitoring->addSubscriber($subscriber);



// MongoDB Driver의 활동을 모니터링합니다.

$mongo->executeCommand("admin", new MongoDBDriverCommand(["ping" => 1]));



// 서브스크라이버를 등록한 후 MongoDB Driver의 활동을 모니터링합니다.

$mongo->executeCommand("admin", new MongoDBDriverCommand(["ping" => 1]));



위의 예제는 `MongoDBDriverMonitoring` 클래스를 사용하여 MongoDB Driver의 활동을 모니터링합니다. `MySubscriber` 클래스를 정의하고, `addSubscriber` 메서드를 사용하여 서브스크라이버를 등록합니다. 그 후, MongoDB Driver의 활동을 모니터링합니다.

결론

MongoDB Driver Monitoring은 MongoDB Driver의 활동을 모니터링하고, 성능을 개선할 수 있는 기능입니다. `MongoDBDriverMonitoring` 클래스와 `addSubscriber` 메서드를 사용하여 서브스크라이버를 등록하고, MongoDB Driver의 활동을 모니터링할 수 있습니다.
  • profile_image
    나우호스팅 @pcs8404 

    호스팅포럼 화이팅!

    댓글목록

    등록된 댓글이 없습니다.

  • 전체 10,077건 / 397 페이지

검색

게시물 검색