MMP.Herald.Sinks.OtlpGrpc
0.2.0
See the version list below for details.
dotnet add package MMP.Herald.Sinks.OtlpGrpc --version 0.2.0
NuGet\Install-Package MMP.Herald.Sinks.OtlpGrpc -Version 0.2.0
<PackageReference Include="MMP.Herald.Sinks.OtlpGrpc" Version="0.2.0" />
<PackageVersion Include="MMP.Herald.Sinks.OtlpGrpc" Version="0.2.0" />
<PackageReference Include="MMP.Herald.Sinks.OtlpGrpc" />
paket add MMP.Herald.Sinks.OtlpGrpc --version 0.2.0
#r "nuget: MMP.Herald.Sinks.OtlpGrpc, 0.2.0"
#:package MMP.Herald.Sinks.OtlpGrpc@0.2.0
#addin nuget:?package=MMP.Herald.Sinks.OtlpGrpc&version=0.2.0
#tool nuget:?package=MMP.Herald.Sinks.OtlpGrpc&version=0.2.0
Herald.Sinks.OtlpGrpc
Exports Herald log events to an OpenTelemetry collector over OTLP/gRPC. Calls opentelemetry.proto.collector.logs.v1.LogsService/Export with the standard ExportLogsServiceRequest payload. Reuses the hand-rolled protobuf writer from Herald.Sinks.Otlp so payload shape stays identical across HTTP and gRPC transports — no proto codegen, no generated message types.
Part of Herald — high-performance structured logging for .NET 8, 9, and 10.
Install
dotnet add package Herald.Sinks.OtlpGrpc
The sink auto-registers into LogSinkProviderRegistry.Default via a [ModuleInitializer] on assembly load. No manual RegisterAll(...) or With*SinkProviders() call is required — dotnet add package is the whole workflow.
Sink kind: otlp_grpc (the identifier the Dashboard form and JSON config use to reference this sink).
Capabilities
- OTLP/gRPC log export to any compliant collector (OpenTelemetry Collector, Tempo, Honeycomb, Grafana Agent, etc.)
- Reuses OtlpProtobufLogSerializer from Herald.Sinks.Otlp — identical wire payload to the HTTP-OTLP sibling sink
- Raw byte marshallers on the gRPC method descriptor — no proto-codegen step, no generated IMessage types, AOT-clean
- Batched delivery via IBatchedLogSink
- Configurable per-call deadline (default 30s)
Limitations
- No compression on the request body (matches the HTTP-OTLP sibling)
- No mTLS / custom credentials configurable through runtime-definition today — construct OtlpGrpcLogSink directly with a configured GrpcChannel for advanced auth scenarios
- Resource attributes configurable at construction only
Tier & runtime
- Edition: Community — works on the free Apache 2.0 Herald.Core. No license key required.
- AOT-compatible: yes
- Targets: .NET 8 / 9 / 10
- Thread safety: Thread-safe — GrpcChannel is shared across calls and is itself thread-safe per gRPC contract.
Vendor
OpenTelemetry — https://opentelemetry.io/docs/specs/otlp/
Configuration
Per-sink config form lives in configuration*.mmpform at the package root and inside the assembly as an embedded resource. The Herald Dashboard renders it at runtime; JSON config follows the same shape. See CAPABILITY.yaml shipped at the package root for the full manifest (schema reference: CAPABILITY-SCHEMA.md).
License
Apache 2.0. Copyright (c) 2026 MMPWorks LLC. See LICENSE shipped at the package root.
Generated from CAPABILITY.yaml. Re-run Modules/Herald.Sinks/tools/generate-readmes.cjs after manifest edits to refresh.
| 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 is compatible. 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. |
-
net10.0
- Grpc.Net.Client (>= 2.66.0)
- Herald.OSS (>= 0.10.0)
- MMP.Herald.Sinks.Otlp (>= 0.2.0)
-
net8.0
- Grpc.Net.Client (>= 2.66.0)
- Herald.OSS (>= 0.10.0)
- MMP.Herald.Sinks.Otlp (>= 0.2.0)
-
net9.0
- Grpc.Net.Client (>= 2.66.0)
- Herald.OSS (>= 0.10.0)
- MMP.Herald.Sinks.Otlp (>= 0.2.0)
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 |
|---|---|---|
| 0.2.1 | 86 | 5/30/2026 |
| 0.2.0 | 99 | 5/26/2026 |
| 0.2.0-alpha.3 | 66 | 5/13/2026 |
| 0.2.0-alpha.2 | 48 | 5/13/2026 |
| 0.2.0-alpha.1 | 48 | 5/13/2026 |