Skip to main content
HoneyHive replaces Langfuse with a purpose-built observability platform for production AI. This guide covers both live instrumentation migration (updating your code) and the data field mapping for migrating historical Langfuse traces.

Why teams switch to HoneyHive

Built for agentic AI

Multi-agent workflows, tool orchestration, and reasoning traces - HoneyHive handles the complexity that Langfuse was not designed for. Get per-span latency, per-agent costs, and full reasoning paths out of the box.

Zero-dependency SDK (BYOI)

Bring Your Own Instrumentor. Use any version of openai, anthropic, or langchain with no SDK conflicts. HoneyHive never patches your clients.

Enterprise-grade security

SOC 2, SSO, and RBAC built in. Dedicated cloud and self-hosted deployment options for regulated industries.

Production monitoring

Real-time alerts, anomaly detection, and custom dashboards purpose-built for AI workloads, not retrofitted from generic APM.

Migration overview

1

Install HoneyHive SDK

Add HoneyHive alongside Langfuse with no conflicts.
2

Configure API keys

Set up your HoneyHive project and credentials.
3

Update tracing code

Replace Langfuse decorators and callbacks with HoneyHive equivalents.
4

Migrate evaluations

Move scoring logic to HoneyHive evaluators.
5

Validate and remove Langfuse

Confirm traces appear correctly, then uninstall Langfuse.

Step 1: Install HoneyHive SDK

HoneyHive installs cleanly alongside your existing stack:
Run pip list | grep -E "honeyhive|langfuse|openai" to verify all packages coexist.

Step 2: Configure API keys

Get your HoneyHive API key

  1. Log in to HoneyHive
  2. Go to Settings > API Keys
  3. Click Create New Key and copy it

Set environment variables


Step 3: Update tracing code

Basic decorator tracing

Nested spans with metadata

OpenAI integration (BYOI pattern)

Langfuse patches the OpenAI client. HoneyHive uses the BYOI pattern instead: you choose the instrumentor, and your OpenAI client stays standard.
BYOI means freedom. Use any OpenAI SDK version, swap instrumentors without changing application code, and never worry about SDK conflicts.

Step 4: Migrate evaluations

Langfuse uses client-side scoring. HoneyHive supports both client-side enrichment and server-side evaluators that run automatically on every trace.
Server-side evaluators run asynchronously on all traces. Configure them once in the HoneyHive dashboard and they apply to every session with no code changes required.

Step 5: Validate and remove Langfuse

Validate traces

  1. Run your application with typical workloads
  2. Compare traces side by side:
  3. Verify that spans, metadata, and timing match

Complete the switch

Confirm traces and evaluations appear correctly in HoneyHive after removing Langfuse.

API mapping quick reference


Data migration field reference

When migrating historical Langfuse data to HoneyHive, each Langfuse object type maps to a HoneyHive equivalent. Use this reference alongside your migration script.

Object type mapping

Event type mapping


Trace to Session

Langfuse traces become HoneyHive sessions.

Generation to Event (model)

Langfuse generations become HoneyHive model events. LLM-specific fields like model name, token counts, and cost are preserved.
Input transformation:Output transformation:

Span / Event to Event (chain or tool)

Langfuse spans become HoneyHive chain events; Langfuse events become tool events.

Score to Session metadata

Langfuse scores are stored as session metadata. HoneyHive does not persist top-level feedback or metrics via /session/start, so scores are placed in the metadata object. Derived fields:

Data type transformations

Timestamps: ISO 8601 strings are converted to Unix milliseconds. Token fields (camelCase to snake_case): Status mapping:

ID management

The migration script maintains an in-memory trace_id_to_session_id dictionary that maps each Langfuse trace_id to its generated HoneyHive session_id. This mapping links events to sessions and attaches scores to the correct sessions.

Known limitations

  • In-memory mapping: Scores can only attach to sessions migrated in the same run.
  • Separate pagination: Traces and scores use independent pagination. A trace on page 19 may have scores on page 39.
  • No native score storage: Scores are stored in metadata since HoneyHive does not persist feedback/metrics at the top level via /session/start.

Troubleshooting

Traces not appearing

Symptom: Application runs but no traces show in HoneyHive.
  1. Verify your API key is set:
  2. Check initialization order. HoneyHive must initialize before other imports:

Missing child spans

Symptom: Parent traces appear but nested spans are missing. Use nested @trace decorators:

Evaluation scores not syncing

Symptom: Langfuse scores do not appear in HoneyHive. Langfuse scores are not migrated automatically. Recreate them using one of these approaches:
  1. Simple metrics: enrich_span(metrics={...}) in your code
  2. LLM evaluations: Configure server-side evaluators in the HoneyHive dashboard
  3. Human review: Set up annotation queues in HoneyHive

Next steps

LLM evaluators

Set up LLM-as-judge evaluators for automated quality scoring

Annotation queues

Create human review workflows for expert evaluation

Alerts and monitoring

Configure production alerts for quality degradation

Custom dashboards

Build custom metrics dashboards
Self-hosting Langfuse? HoneyHive offers dedicated cloud and self-hosted options with enterprise support. Contact sales@honeyhive.ai for migration assistance.