에이전트 런타임 분석 산출물 생성 (runtime-analysis-001)

This commit is contained in:
forge-bot 2026-07-14 04:55:51 +00:00
parent 25635137c9
commit 7039390a85

View file

@ -0,0 +1,140 @@
{
"inventory_version": "1.0.0",
"last_updated": "2026-07-10",
"components": {
"MiniMaxConnector": {
"type": "connector",
"description": "MiniMax API와의 HTTP/WebSocket 연결 관리",
"dependencies": ["ConnectionPool", "RetryHandler"],
"observation_points": ["request.start", "request.duration"]
},
"ConnectionPool": {
"type": "pool",
"description": "연결 풀링 및 리소스 관리",
"dependencies": [],
"observation_points": ["connection.acquired", "connection.wait_time", "connection.released"]
},
"HealthChecker": {
"type": "monitor",
"description": "연결 상태 모니터링 및 헬스 체크",
"dependencies": ["MetricsCollector"],
"observation_points": ["health.status"]
},
"ContractEmitter": {
"type": "validator",
"description": "출력 계약 검증 및 에미터",
"dependencies": [],
"observation_points": ["contract.validation"]
},
"RetryHandler": {
"type": "handler",
"description": "재시도 정책 및 지연 관리",
"dependencies": [],
"observation_points": ["retry.attempt", "retry.success", "retry.exhausted"]
},
"CircuitBreaker": {
"type": "protection",
"description": "서킷 브레이커 상태 관리",
"dependencies": ["MiniMaxConnector"],
"observation_points": ["circuit.state", "circuit.transitions", "circuit.rejected"]
}
},
"metrics": [
{
"name": "request.start",
"type": "Counter",
"labels": ["endpoint", "method"],
"description": "API 요청 시작 카운터"
},
{
"name": "request.duration",
"type": "Histogram",
"labels": ["endpoint", "status"],
"description": "API 요청 소요 시간"
},
{
"name": "connection.acquired",
"type": "Gauge",
"labels": ["pool_name"],
"description": "현재 획득된 연결 수"
},
{
"name": "connection.wait_time",
"type": "Histogram",
"labels": ["pool_name"],
"description": "연결 대기 시간"
},
{
"name": "connection.released",
"type": "Gauge",
"labels": ["pool_name"],
"description": "반환된 연결 수"
},
{
"name": "retry.attempt",
"type": "Counter",
"labels": ["endpoint", "error_type"],
"description": "재시도 발생 횟수"
},
{
"name": "retry.success",
"type": "Counter",
"labels": ["endpoint"],
"description": "재시도 후 성공 횟수"
},
{
"name": "retry.exhausted",
"type": "Counter",
"labels": ["endpoint"],
"description": "재시도 횟수 소진 횟수"
},
{
"name": "contract.validation",
"type": "Counter",
"labels": ["schema_version", "result"],
"description": "계약 검증 결과 카운터"
},
{
"name": "circuit.state",
"type": "Gauge",
"labels": ["endpoint"],
"description": "서킷 브레이커 상태 (0=CLOSED, 1=OPEN, 2=HALF_OPEN)"
},
{
"name": "circuit.transitions",
"type": "Counter",
"labels": ["from_state", "to_state"],
"description": "서킷 브레이커 상태 전이 횟수"
},
{
"name": "circuit.rejected",
"type": "Counter",
"labels": ["endpoint"],
"description": "차단된 요청 수"
},
{
"name": "health.status",
"type": "Gauge",
"labels": ["component"],
"description": "컴포넌트 헬스 상태"
}
],
"observation_points": {
"Tracer": {
"description": "분산 추적 수집기",
"spans": ["request.start", "connection.acquired", "contract.validation"]
},
"MetricsCollector": {
"description": "메트릭 수집 및 집계",
"metrics": ["request.*", "connection.*", "retry.*", "contract.*", "circuit.*", "health.*"]
},
"LogEmitter": {
"description": "로그 출력",
"events": ["request.start", "retry.attempt", "contract.validation"]
},
"AlertManager": {
"description": "알림 및 경고 관리",
"triggers": ["circuit.state", "retry.exhausted", "health.status"]
}
}
}