From 7039390a8510c35e6fce6cd5cac9b2800fb2e965 Mon Sep 17 00:00:00 2001 From: forge-bot Date: Tue, 14 Jul 2026 04:55:51 +0000 Subject: [PATCH] =?UTF-8?q?=EC=97=90=EC=9D=B4=EC=A0=84=ED=8A=B8=20?= =?UTF-8?q?=EB=9F=B0=ED=83=80=EC=9E=84=20=EB=B6=84=EC=84=9D=20=EC=82=B0?= =?UTF-8?q?=EC=B6=9C=EB=AC=BC=20=EC=83=9D=EC=84=B1=20(runtime-analysis-001?= =?UTF-8?q?)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- runtime-analysis/INVENTORY.json | 140 ++++++++++++++++++++++++++++++++ 1 file changed, 140 insertions(+) create mode 100644 runtime-analysis/INVENTORY.json diff --git a/runtime-analysis/INVENTORY.json b/runtime-analysis/INVENTORY.json new file mode 100644 index 0000000..0c6fbc3 --- /dev/null +++ b/runtime-analysis/INVENTORY.json @@ -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"] + } + } +}