mirror of
https://github.com/hoshikawa2/first_contas.git
synced 2026-07-09 18:24:20 +00:00
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
"""Exemplos de NOC.
|
|
|
|
NOC representa telemetria operacional. O workflow do template já emite NOC.001,
|
|
NOC.005 e NOC.006. Estes exemplos mostram eventos adicionais que a squad pode
|
|
emitir em pontos críticos.
|
|
"""
|
|
|
|
from typing import Any
|
|
|
|
|
|
async def exemplo_api_invalida(observer: Any, state: dict[str, Any], api_url: str, status_code: int, latency_ms: int) -> None:
|
|
await observer.emit_noc(
|
|
"002",
|
|
{
|
|
"session_id": state.get("conversation_key") or state.get("session_id"),
|
|
"tenant_id": state.get("tenant_id"),
|
|
"agent_id": state.get("agent_id"),
|
|
"apiUrl": api_url,
|
|
"statusCode": status_code,
|
|
"latencyMs": latency_ms,
|
|
},
|
|
component="examples.noc",
|
|
)
|
|
|
|
|
|
async def exemplo_latencia_banco(observer: Any, state: dict[str, Any], resource_name: str, latency_ms: int) -> None:
|
|
await observer.emit_noc(
|
|
"003",
|
|
{
|
|
"session_id": state.get("conversation_key") or state.get("session_id"),
|
|
"tenant_id": state.get("tenant_id"),
|
|
"agent_id": state.get("agent_id"),
|
|
"resourceName": resource_name,
|
|
"latencyMs": latency_ms,
|
|
},
|
|
component="examples.noc",
|
|
)
|