Fault Injection

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

Fault Injection 기능은 System의 안정성과 오류 처리 능력을 검증하기 위해 의도적으로 실패를 발생시키는 API입니다. 이를 통해 특정 Module을 사용하는 Decoder, Filter, Encodoer의 초기화 실패, 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

chevron-rightPOST /v2/internals/tests:setFaultInjecthashtag

Header

Body

Responses

chevron-right200 Okhashtag

The request has succeeded

Header

Body

chevron-right400 Bad Requesthashtag

Fault injection module is not enabled in the server configuration

chevron-right400 Bad Requesthashtag

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

chevron-rightPOST /v2/internals/tests:setFaultInjecthashtag

Header

Body

Responses

chevron-right200 Okhashtag

The request has succeeded

Header

Body

Last updated