> ## Documentation Index
> Fetch the complete documentation index at: https://docs.devinenterprise.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Evalúa 30 bibliotecas de logging para tu stack tecnológico

export const UseCaseHero = ({title, description, prompt, category, features, devinUrl, agent, intent, playbookId, type}) => {
  const encodedPrompt = encodeURIComponent(prompt || '');
  const tag = 'docs-use-case-gallery';
  const utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=hero-cta';
  const agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  const devinHref = type === 'schedule' ? 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + (prompt ? '&prompt=' + encodedPrompt : '') : type === 'review' ? 'https://app.devin.ai/review?' + utm : agent === 'ada' ? 'https://app.devin.ai/search?' + utm + '&noSubmit=true' + (prompt ? '&prompt=' + encodedPrompt : '') : devinUrl ? devinUrl.includes('?') ? devinUrl + '&' + utm + agentParams : devinUrl + '?' + utm + agentParams : prompt ? 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encodedPrompt : 'https://app.devin.ai/?' + utm + agentParams;
  const buttonLabel = type === 'schedule' ? 'Schedule in Devin ↗' : type === 'review' ? 'Set Up Devin Review ↗' : agent === 'advanced' ? 'Try in Devin ↗' : agent === 'dana' ? 'Try in Dana ↗' : agent === 'ada' ? 'Try in Ask Devin ↗' : 'Try in Devin ↗';
  const featureList = features ? features.split(',').map(f => f.trim()) : [];
  return <div className="uc-hero">
      <div className="uc-hero-inner">
        <div className="uc-hero-left">
          <h1 className="uc-hero-title">{title}</h1>
          <p className="uc-hero-desc">{description}</p>
          <div>
            <a href={devinHref} target="_blank" rel="noopener noreferrer" className="try-in-devin-btn">
              {buttonLabel}
            </a>
          </div>
        </div>
        <div className="uc-hero-meta">
          <div className="uc-meta-item">
            <span className="uc-meta-label">Author</span>
            <span className="uc-meta-value">Cognition</span>
          </div>
          <div className="uc-meta-item">
            <span className="uc-meta-label">Category</span>
            <span className="uc-meta-value">{category}</span>
          </div>
          {featureList.length > 0 && <div className="uc-meta-item">
              <span className="uc-meta-label">Features</span>
              <span className="uc-meta-value">{featureList.join(', ')}</span>
            </div>}
        </div>
      </div>
    </div>;
};

export const PromptBlock = ({children, type, agent, intent, playbookId}) => {
  var utm = 'utm_source=docs&utm_medium=use-case-gallery&utm_campaign=prompt-block';
  var tag = 'docs-use-case-gallery';
  var agentParams = (agent ? '&agent=' + agent : '') + (intent ? '&intent=' + intent : '') + (playbookId ? '&playbookId=' + playbookId : '');
  var label = type === 'schedule' ? 'Schedule in Devin' : type === 'playbook' ? 'Create Playbook' : type === 'knowledge' ? 'Add to Knowledge' : agent === 'advanced' ? 'Try in Devin' : agent === 'dana' ? 'Try in Dana' : agent === 'ada' ? 'Try in Ask Devin' : 'Try in Devin';
  var buildUrl = function (text) {
    var encoded = encodeURIComponent(text);
    if (type === 'schedule') return 'https://app.devin.ai/settings/schedules/create?' + utm + agentParams + '&prompt=' + encoded;
    if (type === 'playbook') return 'https://app.devin.ai/settings/playbooks/create?' + utm + '&body=' + encoded;
    if (type === 'knowledge') return 'https://app.devin.ai/knowledge?' + utm + '&body=' + encoded;
    if (agent === 'ada') return 'https://app.devin.ai/search?' + utm + '&noSubmit=true&prompt=' + encoded;
    return 'https://app.devin.ai/?tags=' + tag + '&' + utm + agentParams + '&prompt=' + encoded;
  };
  const ref = React.useRef(null);
  const [href, setHref] = React.useState('#');
  React.useEffect(() => {
    if (!ref.current) return;
    var codeEl = ref.current.querySelector('pre code');
    if (codeEl) {
      var text = codeEl.textContent.trim();
      if (text) setHref(buildUrl(text));
    }
    var header = ref.current.querySelector('[data-component-part="code-block-header"]');
    if (header && !header.querySelector('.prompt-block-devin-link')) {
      var link = document.createElement('a');
      link.href = href;
      link.target = '_blank';
      link.rel = 'noopener noreferrer';
      link.className = 'prompt-block-devin-link';
      link.style.cssText = 'display:inline-flex;align-items:center;gap:6px;text-decoration:none;color:#fff;font-size:11px;font-weight:500;padding:4px 10px;border-radius:6px;white-space:nowrap;background:#317CFF;transition:background 0.2s;margin-left:8px;';
      link.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"/><polyline points="15 3 21 3 21 9"/><line x1="10" y1="14" x2="21" y2="3"/></svg> ' + label;
      link.onmouseenter = function () {
        link.style.background = '#2968D9';
      };
      link.onmouseleave = function () {
        link.style.background = '#317CFF';
      };
      header.appendChild(link);
    }
    var existingLink = ref.current.querySelector('.prompt-block-devin-link');
    if (existingLink && href !== '#') existingLink.href = href;
  });
  return <div className="prompt-block" ref={ref}>{children}</div>;
};

<UseCaseHero title="Evalúa 30 bibliotecas de logging para tu stack" description="Ejecuta una sesión de Devin por biblioteca para evaluar precios, rendimiento y calidad del SDK; luego consolida todo en una tabla comparativa ordenada." prompt="Estamos reemplazando nuestro pipeline de logging. Inicia un lote de 30 sesiones paralelas de Devin — una por cada biblioteca de logging — para investigar benchmarks de rendimiento, planes de precios, calidad de los SDK por lenguaje y políticas de retención. Compila todos los resultados en una única hoja de cálculo comparativa, ordenada según el grado de adecuación global para un stack de microservicios con Node.js y Python." category="Optimización de Devin" features="Avanzado" agent="advanced" intent="batch" />

<div className="uc-detail-wrapper">
  <Tip>¿Prefieres no configurarlo manualmente? Pega un enlace a esta página en una sesión de Devin y pídele que lo configure todo por ti.</Tip>

  <Steps>
    <Step title="Escribe un prompt de investigación con una plantilla consistente">
      La clave para que la investigación en paralelo sea útil es dar a cada sesión la misma lista de comprobación. Cada sesión investiga una biblioteca de forma independiente, por lo que la plantilla garantiza que los resultados sean directamente comparables al unificarlos.

      Abre una nueva sesión de Devin desde la [página de inicio de Devin](https://app.devin.ai/?utm_source=docs\&utm_medium=use-case-gallery), o usa la página **Explore Advanced Capabilities** de la página de inicio de Devin para acceder a una plantilla de prompt para investigación en paralelo.

      <PromptBlock agent="advanced" intent="batch">
        ```txt Parallel logging library evaluation theme={null}
        We're replacing our ELK stack with a modern logging solution for a
        Node.js + Python microservices architecture (~50 services, ~2 TB logs/day).
        Research these logging libraries and platforms in parallel — one session
        per library:

        Datadog Logs, Grafana Loki, AWS CloudWatch Logs, Google Cloud Logging,
        Splunk, New Relic Logs, Axiom, Better Stack (Logtail), Mezmo (LogDNA),
        Logz.io, Papertrail, Sumo Logic, Elastic Cloud, Scalyr (Dataset),
        Timber.io, Seq, Graylog, Fluentd, Vector, Logstash, Syslog-ng,
        OpenTelemetry Collector, Cribl, Coralogix, Honeycomb, Baselime,
        Highlight.io, Signoz, Hyperdx, Last9

        For each library, fill in this template:
        - Type: SaaS platform, self-hosted, or agent/collector
        - Pricing model and estimated monthly cost for 2 TB/day ingestion
        - Log retention options (hot, warm, cold tiers)
        - Node.js SDK: quality 1-5, auto-instrumentation support (yes/no)
        - Python SDK: quality 1-5, auto-instrumentation support (yes/no)
        - Query language and avg query latency for 7-day window
        - Alerting: built-in rules, anomaly detection (yes/no)
        - Notable limitations or common complaints from developer forums

        Output as a markdown report with the template filled in.
        ```
      </PromptBlock>
    </Step>

    <Step title="Revisa y aprueba las sesiones propuestas">
      Después de enviarla, Devin analiza tu lista y propone una sesión por biblioteca. Verás una vista previa como esta:

      ```
      Proposed sessions (30):
        1. Research Datadog Logs — pricing, SDKs, retention, alerting...
        2. Research Grafana Loki — pricing, SDKs, retention, alerting...
        3. Research AWS CloudWatch Logs — pricing, SDKs, retention, alerting...
        ...
      ```

      Revisa la lista y haz clic en **Approve** para iniciar todas las sesiones simultáneamente. Cada sesión se ejecuta de forma independiente: navegando por el sitio web de la biblioteca, leyendo documentación, consultando foros de desarrolladores y completando la plantilla.

      Si quieres omitir o añadir bibliotecas, edita la lista antes de hacer clic en **Approve**. También puedes adjuntar un [playbook](/es/product-guides/creating-playbooks) para garantizar que todas las sesiones sigan la misma metodología de investigación.
    </Step>

    <Step title="Recopilar y comparar resultados">
      Una vez que se completen todas las sesiones, Devin fusiona automáticamente los informes individuales en una única comparación. El resultado sigue el formato que hayas solicitado; así es como se ve la comparación consolidada en formato de hoja de cálculo:

      ```
      ## Logging Library Comparison (Node.js + Python, 2 TB/day)

      | Library           | Type       | $/mo (2 TB/day) | Retention       | Node SDK | Python SDK | Query Lang   | Alerting     |
      |-------------------|------------|-----------------|-----------------|----------|------------|--------------|--------------|
      | Datadog Logs      | SaaS       | ~$5,400         | 15d hot, archive| 5/5      | 5/5        | Custom DSL   | Yes + anomaly|
      | Grafana Loki      | Self-host  | Infra only      | Configurable    | 4/5      | 4/5        | LogQL        | Via Grafana  |
      | Axiom              | SaaS       | ~$1,200         | 30d hot, 1yr    | 4/5      | 4/5        | APL          | Yes          |
      | Better Stack      | SaaS       | ~$890           | 30d default     | 5/5      | 4/5        | SQL-like     | Yes          |
      | Elastic Cloud     | SaaS/self  | ~$3,600         | ILM policies    | 5/5      | 5/5        | KQL / Lucene | Yes + ML     |
      | Signoz            | Self-host  | Infra only      | Configurable    | 4/5      | 4/5        | ClickHouse SQL| Yes         |
      | Coralogix         | SaaS       | ~$2,100         | Hot/warm/cold   | 4/5      | 3/5        | Lucene / SQL | Yes + anomaly|
      | ...               |            |                 |                 |          |            |              |              |

      ### Top 3 for a 50-service Node.js + Python stack:
      1. Axiom — lowest cost at scale, fast APL queries, solid SDKs
      2. Grafana Loki — zero license cost, pairs with existing Grafana dashboards
      3. Datadog Logs — best SDK auto-instrumentation, but expensive at 2 TB/day
      ```

      Puedes hacer preguntas adicionales en la misma sesión: esta tiene el contexto de todas las sesiones secundarias.

      Una vez que hayas elegido un ganador, puedes lanzar una sesión de Devin directamente desde esa misma sesión para configurar la biblioteca en tu repositorio:

      <PromptBlock>
        ```txt Set up Axiom logging in our monorepo theme={null}
        Set up Axiom as our logging solution across our Node.js Express and
        Python FastAPI services. Install the SDKs, configure structured
        logging with correlation IDs, add the AXIOM_API_TOKEN from env vars,
        and verify logs are flowing by hitting a test endpoint. Open a PR
        with the setup.
        ```
      </PromptBlock>
    </Step>

    <Step title="Profundiza en la lista de finalistas">
      Una vez que tengas una lista reducida, comienza sesiones de seguimiento específicas para una evaluación más profunda.

      <PromptBlock agent="advanced" intent="batch">
        ```txt Análisis en profundidad de las 3 principales soluciones de logging theme={null}
        Toma Axiom, Grafana Loki y Datadog Logs y haz una evaluación más profunda:
        - Crea una integración de prueba de concepto para cada una usando
          nuestro servicio Node.js Express y nuestro servicio Python FastAPI
        - Ingiere 10.000 líneas de logs de muestra y mide la latencia de ingesta
        - Ejecuta 5 consultas realistas (tasa de errores, latencia P99,
          correlación de trazas, búsqueda de texto libre, filtro regex) y registra los tiempos de respuesta
        - Documenta la fricción en la configuración (creación de cuenta, instalación del SDK,
          primer log visible)
        Indica cuál fue la más rápida de configurar y la que se pudo consultar de forma más confiable.
        ```
      </PromptBlock>

      <PromptBlock agent="advanced" intent="batch">
        ```txt Aplica el mismo patrón a herramientas de APM theme={null}
        Usa el mismo patrón de investigación en paralelo para evaluar 15 plataformas
        de APM / tracing: Datadog APM, New Relic, Dynatrace, Honeycomb, Lightstep,
        Jaeger, Zipkin, Signoz, Grafana Tempo, AWS X-Ray, Google Cloud Trace,
        Elastic APM, Splunk APM, Highlight.io, Last9. Mismo esquema: precios,
        calidad del SDK, lenguaje de consultas y limitaciones destacadas.
        ```
      </PromptBlock>
    </Step>

    <Step title="Consejos">
      ### Este patrón funciona para cualquier evaluación técnica

      La investigación en paralelo no se limita a las herramientas de logging. Úsala para cualquier evaluación en la que necesites las mismas métricas sobre muchas opciones: plataformas de CI/CD, servicios de feature flags, ORMs, proveedores de nube o marcos de cumplimiento. Ejemplo: "Investiga estas 20 plataformas de CI/CD y compara la velocidad de compilación, los precios, las opciones self-hosted y la calidad de la integración con GitHub."

      ### Limita cada sesión a 15-30 minutos

      Si una sola biblioteca requiere horas de investigación profunda, eso es una señal de que debería ser su propia sesión enfocada en lugar de formar parte de una ejecución en paralelo. Las sesiones en paralelo funcionan mejor cuando cada elemento requiere aproximadamente la misma cantidad de esfuerzo.
    </Step>
  </Steps>
</div>
