{"schemaVersion":1,"id":"https://lucioduran.com/es/projects/agent-trace-observability","url":"https://lucioduran.com/es/projects/agent-trace-observability","title":"Agent Trace Observability","description":"Instrumentación con OpenTelemetry para un flujo local propio de agentes, con exportaciones limitadas a campos permitidos y pruebas de exclusión de contenido sensible.","language":"es","datePublished":"2026-11-09","dateModified":"2026-11-09","contentFormat":"text/markdown","content":"[Proyectos](<https://lucioduran.com/es/projects>) / Agent Trace Observability\n\n# Agent Trace Observability\n\nInstrumentación con OpenTelemetry para un flujo local propio de agentes, con exportaciones limitadas a campos permitidos y pruebas de exclusión de contenido sensible.\n\nAutor: [Lucio Durán](<https://lucioduran.com/es>) · Python 3.11.13 y OpenTelemetry SDK 1.39.1 · Licencia: [MIT](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE>)\n\nFicha publicada: 2026-11-09 · Ficha actualizada: 2026-11-09\n\n[Repositorio](<https://github.com/lucioduran/agent-trace-observability>) · [Evidencia original](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json>) · [Release v0.1.0](<https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0>)\n\n## Problema y utilidad para agentes\n\nLas trazas de agentes pueden filtrar prompts, credenciales y documentos a través de atributos, eventos, excepciones y descripciones de estado. Eliminar únicamente el campo del prompt no alcanza.\n\nUn contrato de exportación restringido conserva las relaciones operativas y excluye el contenido arbitrario antes de que llegue al destino local.\n\n## Arquitectura\n\n1. **Instrumentar un flujo propio.** La recuperación por coincidencia de tokens, un clasificador bayesiano ingenuo entrenado y una herramienta de catálogo emiten spans reales de OpenTelemetry.\n2. **Seleccionar los campos aprobados.** Los nuevos registros conservan nombres fijos de componentes, versiones, latencia, categorías de error e identificadores de correlación. Se excluyen el contenido arbitrario y el texto de las excepciones.\n3. **Limitar exportaciones y fallos.** Un exportador JSONL síncrono dedicado aplica límites acumulados de bytes y registros durante su vida útil y se detiene definitivamente ante un fallo del destino, sin reintentos.\n\n- [Diseño y límites de confianza](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md>)\n\n## Qué demuestra\n\n- Relaciones padre-hijo en tareas asíncronas, aislamiento de contextos concurrentes y transferencia explícita de contexto W3C entre hilos.\n- Pruebas de atributos, eventos, excepciones, contenido anidado y errores del destino.\n- Vinculación de versiones, causas de fallo y latencias en 400 ejecuciones locales reales.\n\n## Resultados publicados\n\nUna ejecución breve en CPU Xeon procesó 400 solicitudes con una concurrencia de cuatro y OpenTelemetry SDK 1.39.1.\n\nLa ejecución alterna de manera uniforme entre éxito, fallo de recuperación, fallo del modelo y vencimiento del tiempo de la herramienta. Los fallos son inyectados; la ejecución y los tiempos son reales. La latencia incluye la exportación síncrona, pero excluye la espera por el semáforo de solicitudes.\n\n### Evidencia de trazas locales\n\n| Medición | Resultado observado |\n| --- | --- |\n| Solicitudes / concurrencia | 400 / 4 |\n| Éxitos | 100 |\n| Fallos inyectados de recuperación / modelo / herramienta | 100 / 100 / 100 |\n| Spans exportados | 1,300 |\n| Spans descartados / fallos de exportación | 0 / 0 |\n| Bytes exportados | 463,011 |\n| Mediana / máximo de latencia por solicitud | 1.388 / 4.380 ms |\n| Costo / energía | No medido / no medida |\n\nLa ejecución demuestra la vinculación de trazas y la atribución de fallos en este flujo propio. No mide el costo adicional del trazado, la capacidad de procesamiento en producción, la calidad de un LLM ni la interoperabilidad con recolectores remotos.\n\n## Reproducir\n\nPython 3.11 y OpenTelemetry SDK fijado en 1.39.1. La instalación accede a PyPI; la evaluación no necesita credenciales, descarga de pesos de modelos ni servicios externos.\n\nEjecutá las mediciones en una carpeta de salida nueva y los trabajos pesados de a uno. Dentro de la serie original de proyectos, usá el ejecutor compartido benchmark\\_lock.py. Los comandos siguientes usan sintaxis de shell POSIX.\n\n### Verificar la evidencia guardada\n\n```\ngit clone https://github.com/lucioduran/agent-trace-observability.git\ncd agent-trace-observability\ngit checkout b5d9d3465507d050a82839b7655cc6a0bb67f345\npython -m venv .venv\n. .venv/bin/activate\npython -m pip install -r requirements-dev.txt\npython -m agent_trace verify --output results/local\n```\n\n### Repetir el experimento local\n\n```\nOMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 MKL_NUM_THREADS=1 python -m agent_trace run --output build/new-run --runs 400 --concurrency 4\npython -m agent_trace verify --output build/new-run\n```\n\n## Alcance y límites\n\n- El límite de exportación no protege la memoria del proceso, los registros de la aplicación, otros exportadores ni el código malicioso de la aplicación.\n- Los identificadores de traza son pistas de correlación, no una identidad autenticada. Omitir el contenido reduce deliberadamente las posibilidades de depurarlo.\n- Un destino lento puede bloquear la ejecución; no se proporciona un tiempo máximo estricto de entrada y salida, garantía de entrega remota, reintentos, rotación ni durabilidad en disco. Las escrituras parciales pueden dejar incompleta la última línea.\n- Solo se evaluaron un clasificador local y un destino JSONL. No se midieron costo ni energía; no hubo revisión humana ni de seguridad independiente.\n\n- [Artículo de arquitectura relacionado](<https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices>)\n\n## Fuentes y revisión\n\nLa release incluye el informe y las trazas originales con hashes de los casos de prueba y las trazas, además de versiones del entorno de ejecución. El informe no registra un commit ni una fecha de ejecución; la revisión y la fecha de la release identifican la publicación, no el momento de la medición.\n\n- Revisión consultada: [` b5d9d3465507d050a82839b7655cc6a0bb67f345 `](<https://github.com/lucioduran/agent-trace-observability/commit/b5d9d3465507d050a82839b7655cc6a0bb67f345>)\n- Release publicada: [v0.1.0](<https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0>) · 2026-11-09T18:46:18Z\n- [Registros originales de spans](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl>) SHA-256: ` 060760b9d196dd12375aab0d8b7baf9c25c39e251fdc919f394030a0a3ef7a00 `\n\n- [README y uso](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/README.md>)\n- [Evidencia original](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json>)\n- [Licencia MIT](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE>)\n- [Diseño y límites de confianza](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md>)\n- [Metodología de medición](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/reproduction.md>)\n- [Registros originales de spans](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl>)","headings":[{"level":1,"text":"Agent Trace Observability","url":"https://lucioduran.com/es/projects/agent-trace-observability#title"},{"level":2,"text":"Problema y utilidad para agentes","url":"https://lucioduran.com/es/projects/agent-trace-observability#problem"},{"level":2,"text":"Arquitectura","url":"https://lucioduran.com/es/projects/agent-trace-observability#architecture"},{"level":2,"text":"Qué demuestra","url":"https://lucioduran.com/es/projects/agent-trace-observability#demonstrates"},{"level":2,"text":"Resultados publicados","url":"https://lucioduran.com/es/projects/agent-trace-observability#results"},{"level":3,"text":"Evidencia de trazas locales","url":"https://lucioduran.com/es/projects/agent-trace-observability#results-Local%20trace%20evidence"},{"level":2,"text":"Reproducir","url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce"},{"level":3,"text":"Verificar la evidencia guardada","url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce-replay"},{"level":3,"text":"Repetir el experimento local","url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce-experiment"},{"level":2,"text":"Alcance y límites","url":"https://lucioduran.com/es/projects/agent-trace-observability#scope"},{"level":2,"text":"Fuentes y revisión","url":"https://lucioduran.com/es/projects/agent-trace-observability#sources"}],"sections":[{"heading":"Agent Trace Observability","level":1,"url":"https://lucioduran.com/es/projects/agent-trace-observability","content":"[Proyectos](<https://lucioduran.com/es/projects>) / Agent Trace Observability"},{"heading":"Agent Trace Observability","level":1,"url":"https://lucioduran.com/es/projects/agent-trace-observability#title","content":"Instrumentación con OpenTelemetry para un flujo local propio de agentes, con exportaciones limitadas a campos permitidos y pruebas de exclusión de contenido sensible.\n\nAutor: [Lucio Durán](<https://lucioduran.com/es>) · Python 3.11.13 y OpenTelemetry SDK 1.39.1 · Licencia: [MIT](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE>)\n\nFicha publicada: 2026-11-09 · Ficha actualizada: 2026-11-09\n\n[Repositorio](<https://github.com/lucioduran/agent-trace-observability>) · [Evidencia original](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json>) · [Release v0.1.0](<https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0>)"},{"heading":"Problema y utilidad para agentes","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#problem","content":"Las trazas de agentes pueden filtrar prompts, credenciales y documentos a través de atributos, eventos, excepciones y descripciones de estado. Eliminar únicamente el campo del prompt no alcanza.\n\nUn contrato de exportación restringido conserva las relaciones operativas y excluye el contenido arbitrario antes de que llegue al destino local."},{"heading":"Arquitectura","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#architecture","content":"1. **Instrumentar un flujo propio.** La recuperación por coincidencia de tokens, un clasificador bayesiano ingenuo entrenado y una herramienta de catálogo emiten spans reales de OpenTelemetry.\n2. **Seleccionar los campos aprobados.** Los nuevos registros conservan nombres fijos de componentes, versiones, latencia, categorías de error e identificadores de correlación. Se excluyen el contenido arbitrario y el texto de las excepciones.\n3. **Limitar exportaciones y fallos.** Un exportador JSONL síncrono dedicado aplica límites acumulados de bytes y registros durante su vida útil y se detiene definitivamente ante un fallo del destino, sin reintentos.\n\n- [Diseño y límites de confianza](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md>)"},{"heading":"Qué demuestra","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#demonstrates","content":"- Relaciones padre-hijo en tareas asíncronas, aislamiento de contextos concurrentes y transferencia explícita de contexto W3C entre hilos.\n- Pruebas de atributos, eventos, excepciones, contenido anidado y errores del destino.\n- Vinculación de versiones, causas de fallo y latencias en 400 ejecuciones locales reales."},{"heading":"Resultados publicados","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#results","content":"Una ejecución breve en CPU Xeon procesó 400 solicitudes con una concurrencia de cuatro y OpenTelemetry SDK 1.39.1.\n\nLa ejecución alterna de manera uniforme entre éxito, fallo de recuperación, fallo del modelo y vencimiento del tiempo de la herramienta. Los fallos son inyectados; la ejecución y los tiempos son reales. La latencia incluye la exportación síncrona, pero excluye la espera por el semáforo de solicitudes."},{"heading":"Evidencia de trazas locales","level":3,"url":"https://lucioduran.com/es/projects/agent-trace-observability#results-Local%20trace%20evidence","content":"| Medición | Resultado observado |\n| --- | --- |\n| Solicitudes / concurrencia | 400 / 4 |\n| Éxitos | 100 |\n| Fallos inyectados de recuperación / modelo / herramienta | 100 / 100 / 100 |\n| Spans exportados | 1,300 |\n| Spans descartados / fallos de exportación | 0 / 0 |\n| Bytes exportados | 463,011 |\n| Mediana / máximo de latencia por solicitud | 1.388 / 4.380 ms |\n| Costo / energía | No medido / no medida |\n\nLa ejecución demuestra la vinculación de trazas y la atribución de fallos en este flujo propio. No mide el costo adicional del trazado, la capacidad de procesamiento en producción, la calidad de un LLM ni la interoperabilidad con recolectores remotos."},{"heading":"Reproducir","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce","content":"Python 3.11 y OpenTelemetry SDK fijado en 1.39.1. La instalación accede a PyPI; la evaluación no necesita credenciales, descarga de pesos de modelos ni servicios externos.\n\nEjecutá las mediciones en una carpeta de salida nueva y los trabajos pesados de a uno. Dentro de la serie original de proyectos, usá el ejecutor compartido benchmark\\_lock.py. Los comandos siguientes usan sintaxis de shell POSIX."},{"heading":"Verificar la evidencia guardada","level":3,"url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce-replay","content":"```\ngit clone https://github.com/lucioduran/agent-trace-observability.git\ncd agent-trace-observability\ngit checkout b5d9d3465507d050a82839b7655cc6a0bb67f345\npython -m venv .venv\n. .venv/bin/activate\npython -m pip install -r requirements-dev.txt\npython -m agent_trace verify --output results/local\n```"},{"heading":"Repetir el experimento local","level":3,"url":"https://lucioduran.com/es/projects/agent-trace-observability#reproduce-experiment","content":"```\nOMP_NUM_THREADS=1 OPENBLAS_NUM_THREADS=1 MKL_NUM_THREADS=1 python -m agent_trace run --output build/new-run --runs 400 --concurrency 4\npython -m agent_trace verify --output build/new-run\n```"},{"heading":"Alcance y límites","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#scope","content":"- El límite de exportación no protege la memoria del proceso, los registros de la aplicación, otros exportadores ni el código malicioso de la aplicación.\n- Los identificadores de traza son pistas de correlación, no una identidad autenticada. Omitir el contenido reduce deliberadamente las posibilidades de depurarlo.\n- Un destino lento puede bloquear la ejecución; no se proporciona un tiempo máximo estricto de entrada y salida, garantía de entrega remota, reintentos, rotación ni durabilidad en disco. Las escrituras parciales pueden dejar incompleta la última línea.\n- Solo se evaluaron un clasificador local y un destino JSONL. No se midieron costo ni energía; no hubo revisión humana ni de seguridad independiente.\n\n- [Artículo de arquitectura relacionado](<https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices>)"},{"heading":"Fuentes y revisión","level":2,"url":"https://lucioduran.com/es/projects/agent-trace-observability#sources","content":"La release incluye el informe y las trazas originales con hashes de los casos de prueba y las trazas, además de versiones del entorno de ejecución. El informe no registra un commit ni una fecha de ejecución; la revisión y la fecha de la release identifican la publicación, no el momento de la medición.\n\n- Revisión consultada: [` b5d9d3465507d050a82839b7655cc6a0bb67f345 `](<https://github.com/lucioduran/agent-trace-observability/commit/b5d9d3465507d050a82839b7655cc6a0bb67f345>)\n- Release publicada: [v0.1.0](<https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0>) · 2026-11-09T18:46:18Z\n- [Registros originales de spans](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl>) SHA-256: ` 060760b9d196dd12375aab0d8b7baf9c25c39e251fdc919f394030a0a3ef7a00 `\n\n- [README y uso](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/README.md>)\n- [Evidencia original](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json>)\n- [Licencia MIT](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE>)\n- [Diseño y límites de confianza](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md>)\n- [Metodología de medición](<https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/reproduction.md>)\n- [Registros originales de spans](<https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl>)"}],"links":[{"text":"Proyectos","url":"https://lucioduran.com/es/projects"},{"text":"Lucio Durán","url":"https://lucioduran.com/es"},{"text":"MIT","url":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE"},{"text":"Repositorio","url":"https://github.com/lucioduran/agent-trace-observability"},{"text":"Evidencia original","url":"https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json"},{"text":"Release v0.1.0","url":"https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0"},{"text":"Diseño y límites de confianza","url":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md"},{"text":"Artículo de arquitectura relacionado","url":"https://lucioduran.com/es/blog/opentelemetry-distributed-tracing-microservices"},{"text":"b5d9d3465507d050a82839b7655cc6a0bb67f345","url":"https://github.com/lucioduran/agent-trace-observability/commit/b5d9d3465507d050a82839b7655cc6a0bb67f345"},{"text":"v0.1.0","url":"https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0"},{"text":"Registros originales de spans","url":"https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl"},{"text":"README y uso","url":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/README.md"},{"text":"Licencia MIT","url":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE"},{"text":"Metodología de medición","url":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/reproduction.md"}],"structuredData":[{"@context":"https://schema.org","@graph":[{"@type":"Person","@id":"https://lucioduran.com/#person","name":"Lucio Durán","url":"https://lucioduran.com/"},{"@type":"WebSite","@id":"https://lucioduran.com/#website","url":"https://lucioduran.com/","name":"Lucio Durán","inLanguage":["en","es"],"publisher":{"@id":"https://lucioduran.com/#person"}},{"@type":"WebPage","@id":"https://lucioduran.com/es/projects/agent-trace-observability#page","url":"https://lucioduran.com/es/projects/agent-trace-observability","name":"Agent Trace Observability","description":"Instrumentación con OpenTelemetry para un flujo local propio de agentes, con exportaciones limitadas a campos permitidos y pruebas de exclusión de contenido sensible.","inLanguage":"es","author":{"@id":"https://lucioduran.com/#person"},"publisher":{"@id":"https://lucioduran.com/#person"},"isPartOf":{"@id":"https://lucioduran.com/#website"},"isAccessibleForFree":true,"mainEntity":{"@id":"https://lucioduran.com/projects/agent-trace-observability#software"},"datePublished":"2026-11-09","dateModified":"2026-11-09","breadcrumb":{"@id":"https://lucioduran.com/es/projects/agent-trace-observability#breadcrumb"}},{"@type":"SoftwareSourceCode","@id":"https://lucioduran.com/projects/agent-trace-observability#software","name":"Agent Trace Observability","description":"Instrumentación con OpenTelemetry para un flujo local propio de agentes, con exportaciones limitadas a campos permitidos y pruebas de exclusión de contenido sensible.","inLanguage":"es","url":"https://lucioduran.com/es/projects/agent-trace-observability","codeRepository":"https://github.com/lucioduran/agent-trace-observability","programmingLanguage":"Python","runtimePlatform":"Python 3.11.13 y OpenTelemetry SDK 1.39.1","license":"https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/LICENSE","version":"v0.1.0","identifier":{"@type":"PropertyValue","propertyID":"git-commit","value":"b5d9d3465507d050a82839b7655cc6a0bb67f345"},"author":{"@type":"Person","@id":"https://lucioduran.com/#person","name":"Lucio Durán","url":"https://lucioduran.com"},"isAccessibleForFree":true,"citation":["https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/README.md","https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/report.json","https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/design.md","https://github.com/lucioduran/agent-trace-observability/blob/b5d9d3465507d050a82839b7655cc6a0bb67f345/docs/reproduction.md","https://raw.githubusercontent.com/lucioduran/agent-trace-observability/b5d9d3465507d050a82839b7655cc6a0bb67f345/results/local/traces.jsonl","https://github.com/lucioduran/agent-trace-observability/releases/tag/v0.1.0"],"publisher":{"@id":"https://lucioduran.com/#person"},"mainEntityOfPage":{"@id":"https://lucioduran.com/es/projects/agent-trace-observability#page"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Proyectos","item":"https://lucioduran.com/es/projects"},{"@type":"ListItem","position":2,"name":"Agent Trace Observability","item":"https://lucioduran.com/es/projects/agent-trace-observability"}],"@id":"https://lucioduran.com/es/projects/agent-trace-observability#breadcrumb"}]}],"contentHash":"6dddeca19d481f43afff639f4cfcda2330f7f9edb01c334d36d89ecb81855515","provenance":{"method":"Deterministic serialization of the server-rendered main element","source":"https://lucioduran.com/es/projects/agent-trace-observability","hashAlgorithm":"sha256","hashScope":"JSON document fields before contentHash and provenance","sourceHTMLBytes":46193,"contentBytes":7316}}
