Skip to content
Get Started

Quickstart ​

The fastest path to seeing a trace in Boidra Platform: start the servers, POST a single OpenTelemetry span, and find it in the dashboard.

1. Start the backend and dashboard ​

Follow Installation to get the backend on :3010 and the dashboard on :5173. You do not need to seed demo data for this.

2. Send one span ​

Boidra Platform ingests OTLP/HTTP. The endpoint is POST /otel/v1/traces and it accepts OTLP JSON (as well as protobuf). Send a single invoke_agent span with the GenAI attributes Boidra Platform reads:

bash
curl -X POST http://localhost:3010/otel/v1/traces \
  -H "Content-Type: application/json" \
  -d '{
    "resourceSpans": [{
      "resource": { "attributes": [
        { "key": "service.name", "value": { "stringValue": "quickstart-agent" } }
      ]},
      "scopeSpans": [{
        "spans": [{
          "traceId": "5b8efff798038103d269b633813fc60c",
          "spanId": "eee19b7ec3c1b174",
          "name": "invoke_agent quickstart-agent",
          "startTimeUnixNano": "1710000000000000000",
          "endTimeUnixNano":   "1710000001500000000",
          "attributes": [
            { "key": "gen_ai.operation.name", "value": { "stringValue": "invoke_agent" } },
            { "key": "gen_ai.agent.name",     "value": { "stringValue": "quickstart-agent" } },
            { "key": "gen_ai.request.model",  "value": { "stringValue": "gpt-4o" } },
            { "key": "gen_ai.usage.input_tokens",  "value": { "intValue": "1200" } },
            { "key": "gen_ai.usage.output_tokens", "value": { "intValue": "340" } }
          ],
          "status": { "code": 1 }
        }]
      }]
    }]
  }'

A 200 response with { "partialSuccess": {} } means the span was accepted.

Timestamps

startTimeUnixNano / endTimeUnixNano are nanoseconds since the Unix epoch. Use a recent timestamp so the span falls inside the dashboard's default time window (e.g. in your own scripts, Date.now() * 1e6).

3. Find it in the dashboard ​

Open http://localhost:5173, go to Traces, and you'll see a trace for quickstart-agent with model gpt-4o and ~1,540 tokens. Click it to inspect the span.

Watch it live

The Live tab on the Traces page streams ingest as it happens — leave it open and fire the curl again to watch spans arrive.

What just happened ​

  • gen_ai.operation.name = invoke_agent → Boidra Platform classified this as an agent turn.
  • gen_ai.agent.name → the service identity in the dashboard.
  • gen_ai.request.model + gen_ai.usage.* → the model and token counts (which drive cost).

That's the whole contract. Next, wire it up from a real SDK instead of curl:

Boidra — multi-agent AI systems in the SAP ecosystem.