Fault Injection

OvenMediaEngine Enterprise 0.20.2.0-1 버전부터 Fault Injection 기능을 사용할 수 있습니다.

Fault Injection 기능은 System의 안정성과 오류 처리 능력을 검증하기 위해 의도적으로 실패를 발생시키는 API입니다. 이를 통해 특정 Module을 사용하는 Decoder, Filter, Enocdoer의 초기화 실패, Frame 처리 실패, 지연을 발생시킬 수 있으며, 실제 장애 상황과 유사한 환경을 조성하여 테스트를 진행할 수 있습니다.

Fault Injection 활성화하기

Fault Injection은 아래와 같이 Server.xml<Server><Module>에서 설정할 수 있습니다:

<Server>
    ...
    <Modules>
        ...
        <FaultInject>
            <Enable>true</Enable>
        </FaultInject>
        ...
    </Modules>
    ...
</Server>

API Interface

Fault Injection 설정하기

transcoder 하위에 배열로 설정할 수 있습니다. 신규 설정 시 기존 설정은 모두 해제되며, 마찬가지로 OvenMediaEngine이 재시작되면 관련된 모든 설정이 초기화됩니다.

Request

POST /v2/internals/tests:setFaultInject

Header

Body

Responses

200 Ok

The request has succeeded

Header

Body

400 Bad Request

Fault injection module is not enabled in the server configuration

400 Bad Request

Invalid request

Parameter
Input Range
Description

targetModule

Codec Module

Fault Injection의 대상이 될 Module을 지정합니다.

  • default, openh264, x264, libvpx, nv, xmav2/internals/codecsname 값을 참조하십시오.

targetDeviceId

0~

(Device ID)

Fault Injection의 대상이 될 Module에 지정된 ID입니다.

targetComponent

decoder, encoder, filter

Fault Injection의 대상이 될 Module의 Component Type을 지정합니다.

faultType

initFailed, processFailed, lagging

진행할 Fault Testing의 종류를 지정합니다.

  • initFailed: Module 초기화 실패를 재현합니다.

  • processFailed: Decoding, Filtering, Encoder 실패를 재현합니다.

  • lagging: 처리 지연 (300ms)을 재현합니다.

faultRate

0.01~100.0

Fault Testing이 발생할 확율 (%)을 지정합니다.

Fault Injection 해제하기

transcoder 배열에 값을 지정하지 않으면 관련된 모든 설정이 해제됩니다.

Request

POST /v2/internals/tests:setFaultInject

Header

Body

Responses

200 Ok

The request has succeeded

Header

Body

Last updated

Was this helpful?