Arinti.Langfuse.Tracing.SemanticKernel
1.0.0-alpha.2
dotnet add package Arinti.Langfuse.Tracing.SemanticKernel --version 1.0.0-alpha.2
NuGet\Install-Package Arinti.Langfuse.Tracing.SemanticKernel -Version 1.0.0-alpha.2
<PackageReference Include="Arinti.Langfuse.Tracing.SemanticKernel" Version="1.0.0-alpha.2" />
<PackageVersion Include="Arinti.Langfuse.Tracing.SemanticKernel" Version="1.0.0-alpha.2" />
<PackageReference Include="Arinti.Langfuse.Tracing.SemanticKernel" />
paket add Arinti.Langfuse.Tracing.SemanticKernel --version 1.0.0-alpha.2
#r "nuget: Arinti.Langfuse.Tracing.SemanticKernel, 1.0.0-alpha.2"
#:package Arinti.Langfuse.Tracing.SemanticKernel@1.0.0-alpha.2
#addin nuget:?package=Arinti.Langfuse.Tracing.SemanticKernel&version=1.0.0-alpha.2&prerelease
#tool nuget:?package=Arinti.Langfuse.Tracing.SemanticKernel&version=1.0.0-alpha.2&prerelease
Arinti.Langfuse.Tracing.SemanticKernel
A Semantic Kernel IAutoFunctionInvocationFilter that wraps every auto-invoked kernel-function call in a
Langfuse tool observation, shaped per the
OpenTelemetry GenAI execute_tool span convention
(SemConv 1.41).
Usage
using Arinti.Langfuse.Tracing.SemanticKernel;
using Microsoft.SemanticKernel;
Kernel kernel = …;
kernel.AddLangfuseToolObservationFilter();
That's all the wiring. Every auto-invoked kernel function now produces a Langfuse tool
observation parented under whatever Langfuse ancestor is current at invocation time — in
practice a chat {model} generation span emitted upstream by the sibling
Arinti.Langfuse.Tracing.MEAI package's
LangfuseGenerationChatClient.
Sensitive data
By default the filter records the serialized KernelArguments and FunctionResult on
gen_ai.tool.call.arguments and gen_ai.tool.call.result. The OTel GenAI SemConv flags
both as potentially sensitive — tool inputs and outputs frequently carry PII, API keys,
or user content. Suppress either tag via LangfuseToolObservationFilterOptions:
kernel.AddLangfuseToolObservationFilter(new LangfuseToolObservationFilterOptions
{
RecordArguments = false,
RecordResult = false,
});
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Arinti.Langfuse.Abstractions (>= 1.0.0-alpha.1)
- Arinti.Langfuse.Tracing.ContextPropagation (>= 1.0.0-alpha.1)
- Arinti.Langfuse.Tracing.SemanticConventions (>= 1.0.0-alpha.1)
- Microsoft.Extensions.AI (>= 10.6.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 9.0.0)
- Microsoft.SemanticKernel.Abstractions (>= 1.70.0)
- OpenTelemetry.Api (>= 1.15.3)
-
net9.0
- Arinti.Langfuse.Abstractions (>= 1.0.0-alpha.1)
- Arinti.Langfuse.Tracing.ContextPropagation (>= 1.0.0-alpha.1)
- Arinti.Langfuse.Tracing.SemanticConventions (>= 1.0.0-alpha.1)
- Microsoft.Extensions.AI (>= 10.6.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options (>= 9.0.0)
- Microsoft.SemanticKernel.Abstractions (>= 1.70.0)
- OpenTelemetry.Api (>= 1.15.3)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.0.0-alpha.2 | 447 | 7/10/2026 |
| 1.0.0-alpha.1 | 177 | 6/22/2026 |
| 1.0.0-alpha.0 | 74 | 6/21/2026 |