feat(monitorizacao): scripts de saúde e telemetria do Gemini CLI
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
#!/usr/bin/env python3
|
||||
import sys
|
||||
import json
|
||||
import os
|
||||
import time
|
||||
|
||||
def pre_tool_hook():
|
||||
try:
|
||||
# Lê o input do Gemini
|
||||
hook_input = json.load(sys.stdin)
|
||||
session_id = hook_input.get("session_id", "unknown")
|
||||
|
||||
# Cria um ficheiro temporário para guardar o tempo de início desta sessão
|
||||
# Nota: O Gemini CLI executa ferramentas de forma sequencial ou paralela,
|
||||
# mas os hooks AfterTool recebem o contexto necessário.
|
||||
temp_dir = os.path.expanduser("~/.gemini/tmp/telemetry")
|
||||
os.makedirs(temp_dir, exist_ok=True)
|
||||
|
||||
# Guardamos o tempo de início num ficheiro nomeado pela sessão
|
||||
# Para maior precisão em chamadas paralelas, o ideal seria um tool_call_id,
|
||||
# mas o session_id é a base comum.
|
||||
with open(os.path.join(temp_dir, f"{session_id}.start"), "w") as f:
|
||||
f.write(str(time.time()))
|
||||
|
||||
print(json.dumps({}))
|
||||
except Exception:
|
||||
print(json.dumps({}))
|
||||
|
||||
if __name__ == "__main__":
|
||||
pre_tool_hook()
|
||||
Reference in New Issue
Block a user