Observability as Code

Effortless Observability, Complete Clarity

Automate distributed tracing with a simple API. Understand request flows, diagnose performance bottlenecks, and resolve issues faster across your entire stack.

Join waitlist

trace.do

import { trace } from '@do/trace';

async function processOrder(orderId: string) {
  // Automatically trace the entire function execution
  return trace.span('processOrder', async (span) => {
    span.setAttribute('order.id', orderId);

    // The trace context is automatically propagated
    const payment = await completePayment(orderId);
    span.addEvent('Payment processed', { paymentId: payment.id });

    await dispatchShipment(orderId);
    span.addEvent('Shipment dispatched');

    return { success: true };
  });
}

Deliver economically valuable work

Frequently Asked Questions

Do Work. With AI.