Skip to main content
Semantic Kernel is Microsoft’s open-source SDK for building AI agents and multi-agent systems. It provides a model-agnostic framework with plugins, function calling, and enterprise-ready orchestration. HoneyHive works best with Semantic Kernel when you combine SK’s native OpenTelemetry diagnostics with a provider-specific instrumentor. SK-native spans preserve agent names and orchestration structure, while the provider instrumentor adds richer model input/output payloads.

Quick Start

Recommended setup. Enable SK’s native diagnostics before imports, initialize HoneyHive, then instrument your model provider so model events include full chat history and responses.
The examples on this page use OpenAIChatCompletion, so they use OpenAIInstrumentor. If your Semantic Kernel app uses Anthropic, Bedrock, Gemini, or another provider, use the matching provider openinference instrumentor when one exists.
To see where to initialize the tracer for your environment, including AWS Lambda and long-running servers, see Tracer Initialization.
Last tested with semantic-kernel 1.36.0 (May 2026).

What Gets Traced

This integration uses dual-layer tracing. Semantic Kernel’s native OpenTelemetry diagnostics emit orchestration spans, while the provider instrumentor (e.g. OpenAIInstrumentor) adds detailed model payloads. From SK-native diagnostics:
  • Agent invocations - ChatCompletionAgent calls with agent name and instructions
  • Function / plugin calls - Each kernel function execution with arguments and results
  • Multi-agent orchestration - Agents-as-plugins routing with triage and delegation structure
From the provider instrumentor:
  • LLM calls with full payloads - Chat messages, completions, tool calls, and token usage (requires SEMANTICKERNEL_EXPERIMENTAL_GENAI_ENABLE_OTEL_DIAGNOSTICS_SENSITIVE)
No manual instrumentation required.

Example: Agent with Plugin


Example: Multi-Agent (Agents-as-Plugins)

Semantic Kernel supports using agents as plugins for orchestration patterns:

Troubleshooting

Traces not appearing

  1. Enable SK diagnostics first - Environment variables must be set before any imports:
  1. Check environment variables - Ensure HH_API_KEY is set
  2. Verify OpenAI credentials - Ensure OPENAI_API_KEY is configured
  3. Instrument your provider - Use the matching provider instrumentor if you need model events with full inputs and outputs in HoneyHive. This page uses OpenAIInstrumentor because the examples use OpenAIChatCompletion.

Missing prompts/completions in traces

Enable sensitive diagnostics and the matching provider instrumentor to capture full message content on model events. This OpenAI example uses OpenAIInstrumentor:

Enrich Your Traces

Add user IDs and custom metadata to Semantic Kernel traces

Custom Spans

Create spans for business logic around agent calls

Distributed Tracing

Trace agents across service boundaries

Query Trace Data

Export traces programmatically

Resources