Status | |
---|---|
Stability | alpha: traces, logs |
Distributions | contrib |
Issues | |
Code Owners | @TylerHelmuth, @mterhar |
The Libhoney receiver will accept data for either Trace or Logs signals that are emitted from applications that were instrumented using Libhoney libraries.
The configuration has 2 parts, One is the HTTP receiver configuration and the rest is about mapping attributes from the freeform libhoney format into the more structured OpenTelemetry objects.
The following settings are required:
http
endpoint
must set an endpoint. Defaults to127.0.0.1:8080
resources
: if theservice.name
field is different, map it here.scopes
: to get thelibrary.name
andlibrary.version
set in the scope section, set them here.attributes
: if the other trace-related data have different keys, map them here, defaults are otlp-like field names.
The following setting is required for refinery traffic since:
auth_api
: should be set tohttps://api.honeycomb.io
or a proxy that forwards to that host. Some libhoney software checks/1/auth
to get environment names so it needs to be passed through.
libhoney:
http:
endpoint: 0.0.0.0:8088
traces_url_paths:
- "/1/events"
- "/1/batch"
include_metadata: true
auth_api: https://api.honeycomb.io
fields:
resources:
service_name: service_name
scopes:
library_name: library.name
library_version: library.version
attributes:
trace_id: trace_id
parent_id: parent_id
span_id: span_id
name: name
error: error
spankind: span.kind
durationFields:
- duration_ms
It will subscribe to the Traces and Logs signals but accept traffic destined for either pipeline using one http receiver component. Libhoney doesnot differentiate between the two so the receiver will identify which pipeline to deliver the spans or log records to.
No support for metrics since they'd look just like logs.