TheDocumentation Index
Fetch the complete documentation index at: https://docs.honeyhive.ai/llms.txt
Use this file to discover all available pages before exploring further.
honeyhive-logger package is a lightweight API wrapper with start(), log(), and update() functions. The v1 honeyhive package adds OpenTelemetry tracing, automatic context propagation, decorators, instrumentors, and evaluation support.
Use this guide when moving Python code from honeyhive-logger to honeyhive>=1.0.0.
The logger package is useful when you need a dependency-free client. Migrate to the v1 SDK when you want automatic spans, nested trace trees, framework integrations, or
evaluate().Use a coding agent to migrate
Use a coding agent to migrate
API mapping
| Logger API | v1 SDK replacement | Notes |
|---|---|---|
start(...) | HoneyHiveTracer.init(...), tracer.create_session(...), or tracer.with_session(...) | Initialize once, then create scoped sessions when needed |
log(...) | @trace, enrich_span_context(...), or tracer.enrich_span(...) | Prefer decorators for function-level tracing |
update(event_id=...) | tracer.enrich_span(event_id=...) | Updates a specific existing event |
update(event_id=session_id, ...) | tracer.enrich_session(session_id=...) | Updates a session |
duration_ms | Captured by spans automatically | Use metrics only if you need custom duration fields |
1. Replace the package
2. Migrate session creation
Logger code usually starts a session and passessession_id to every event. In v1, initialize a tracer once and use session helpers to scope work.
with_session() keeps session setup close to the work:
3. Replace log() with @trace
Use @trace when the event maps to a Python function.
tracer.enrich_span(...) inside the function for extra metadata, metrics, feedback, config, or a custom output shape.
4. Replace log() with manual spans when decorators do not fit
Use enrich_span_context() for loops, conditional blocks, or code that is not cleanly wrapped by a function.
tracer.start_span() only when you need raw OpenTelemetry control:
5. Replace update() for events
When you need to update a known event ID, pass it to tracer.enrich_span().
Use
event_id when you want to update an existing event in HoneyHive. If you are updating the current active span, omit event_id.event_id:
6. Replace update() for sessions
Logger uses update(event_id=session_id, ...) for session updates. In v1, use session enrichment.
create_session() in the active request, you can omit session_id:
7. Add automatic provider instrumentation
After migrating logger calls, you can add automatic model or framework spans.Complete before and after
Migration checklist
- Replace
honeyhive-loggerwithhoneyhive>=1.0.0 - Initialize one
HoneyHiveTracerat startup - Replace
start()withcreate_session()orwith_session() - Replace function-level
log()calls with@trace - Replace block-level
log()calls withenrich_span_context() - Replace event
update()calls withtracer.enrich_span(event_id=...) - Replace session
update()calls withtracer.enrich_session(...) - Add provider instrumentors where automatic tracing is useful
- Confirm traces show nested spans and session outputs in HoneyHive
Related
Custom Spans
Learn decorator and manual span patterns.
Tracer Initialization
Place tracer initialization correctly for your runtime.
Enriching Traces
Add metadata, metrics, feedback, and outputs.
OpenAI Integration
Add automatic model call tracing.

