# Observability

Logging, tracing, and debugging for agents

Monitor and debug your agents with built-in observability tools.

- [Logging](/services/observability/logging): Structured logging with context
- [Tracing](/services/observability/tracing): Distributed tracing with OpenTelemetry
- [Sessions & Debugging](/services/observability/sessions-debugging): Debug sessions and inspect state
## Quick Reference

### Logging

```typescript
ctx.logger.info('Processing request', { userId, action });
ctx.logger.error('Failed to process', { error: err.message });
```

### Tracing

```typescript
await ctx.tracer.withSpan('fetch-data', async (span) => {
  span.setAttribute('source', 'api');
  return await fetchData();
});
```

### Sessions

```typescript
// Access session ID for debugging
const sessionId = ctx.session.id;
ctx.logger.info('Session started', { sessionId });
```

## Access Patterns

| Context | Logger | Tracer |
|---------|--------|--------|
| Agents | `ctx.logger` | `ctx.tracer` |
| Routes | `c.var.logger` | `c.var.tracer` |

All logs and traces are automatically correlated with session IDs for easy debugging in the Agentuity dashboard.