Files
fn_registry/python/functions/infra/registry_telemetry.md
T
egutierrez 47fac22230 chore: auto-commit (799 archivos)
- .claude/CLAUDE.md
- .claude/commands/subagentes.md
- .claude/rules/INDEX.md
- .mcp.json
- bash/functions/cybersecurity/analyze_dns.md
- bash/functions/cybersecurity/audit_http_headers.md
- bash/functions/cybersecurity/audit_ssh_config.md
- bash/functions/cybersecurity/check_firewall.md
- bash/functions/cybersecurity/detect_suspicious_users.md
- bash/functions/cybersecurity/encrypt_file.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-14 00:28:20 +02:00

2.4 KiB

name, lang, domain, version, purity, kind, description, tags, signature, error_type, returns_optional, params, output, uses_functions, uses_types, imports, example, file_path, tested, notes
name lang domain version purity kind description tags signature error_type returns_optional params output uses_functions uses_types imports example file_path tested notes
registry_telemetry py infra 0.1.0 impure function Telemetria de invocaciones del registry desde Python. Patchea via sys.meta_path los paquetes del registry (core, finance, metabase, etc.) y registra cada llamada en call_monitor.operations.db. Activable con FN_TELEMETRY=1. Issue 0085c.
telemetry
monitoring
registry
import-hook
pendiente-usar
install() -> bool error_go_core false
name desc
FN_TELEMETRY (env) Si vale '1', install() registra el meta_path finder y envuelve cada modulo del registry al importarse. Si no, no-op.
name desc
FN_REGISTRY_ROOT (env) Override de la raiz del registry. Si no se setea, se descubre walking up desde el archivo del modulo.
name desc
CLAUDE_SESSION_ID (env) ID de sesion Claude Code, persistido en cada fila de calls. Vacio si no se setea.
True si el finder se instalo, False si FN_TELEMETRY != '1' o si ya estaba instalado.
functools
importlib.abc
importlib.util
sqlite3
sys
time
# Activacion en heredoc o app import os os.environ["FN_TELEMETRY"] = "1" import sys, os.path as p sys.path.insert(0, p.join(os.environ["FN_REGISTRY_ROOT"], "python", "functions")) import infra.registry_telemetry # auto-install al importarse from core import filter_list, map_list # automaticamente envueltos filter_list(lambda x: x > 0, [1, -2, 3]) # registrado en calls python/functions/infra/registry_telemetry.py false Patron: meta_path importer (PEP 451). Cuando el agente importa `core`, `finance`, etc., el finder intercepta la carga del modulo, deja que el loader real ejecute, y luego envuelve cada callable definido en el modulo con un decorator que mide duration y registra en calls (con tool_used='python_wrapper'). Fail-safe: si la BD no existe, INSERT falla, o cualquier excepcion ocurre durante el wrap, se ignora silenciosamente. NUNCA rompe el codigo cliente. function_id heuristic: `{name}_py_{domain}` donde domain = nombre del paquete top-level (`core`, `finance`, etc.). Coincide con convencion del registry siempre que el paquete top-level se llame igual que el dominio. Privacidad: solo function_id, duration_ms, success, error_class, type_name del error. NUNCA args, kwargs, return values. error_snippet truncado a 240 chars.