Skip to Content
🎉 Welcome to handit.ai Documentation!
GuidesMonitoringAdvanced

Advanced Setup

Node-by-node monitoring for specialized use cases. This guide covers the advanced approach for granular control over individual operations.

Recommended: Use Manual Setup with the @tracing decorator for most use cases. This advanced approach is only for very specific scenarios.

When to use advanced setup

Use this only when:

  • You need to monitor individual LLM calls separately from agent workflows
  • You’re building custom monitoring tools that require granular operation data
  • You have complex agent architectures that don’t fit the standard pattern
  • You need backward compatibility with existing implementations

For most use cases, the simplified agent-level monitoring is recommended.

What you’re doing

You’re manually tracking each operation in your agent workflow, including individual LLM calls and tool executions.

Why this is complex: You must manually track every operation, manage execution IDs, and handle session lifecycle. The @tracing decorator does all this automatically.

Migration to simplified approach

Before (Advanced):

# Complex manual tracking tracing_response = tracker.start_tracing(agent_name="agent") execution_id = tracing_response.get("executionId") try: result = await my_function() tracker.track_node(input=input_data, output=result, ...) finally: tracker.end_tracing(execution_id=execution_id, agent_name="agent")

After (Simplified):

# Simple decorator @tracing(agent="agent") async def my_agent_function(): result = await my_function() return result

Benefits:

  • 90% less code
  • Automatic operation capture
  • No manual session management

Next steps

Set up evaluation: Add Quality Assessment so your engineer can detect quality issues.

Enable fixes: Connect GitHub Integration so your engineer can create pull requests with improvements.

Last updated on