This directory contains the primary collector components for using OpenTelemetry Protocol with Apache Arrow as well as a number of useful accessory components that were developed to assist the project.
The primary components (now included in the upstream Collector-Contrib repository) are:
- OTel Arrow Exporter: for sending OpenTelemetry Protocol with Apache Arrow data
- OTel Arrow Receiver: for receiving OpenTelemetry Protocol with Apache Arrow data
Note that the exporter and receiver components have been included in the official OpenTelemetry Collector-Contrib release images since v0.105.0.
See Building.
Several components were developed to facilitate testing and debugging the primary OpenTelemetry Protocol with Apache Arrow components. Most importantly, these tools can be used to report problematic data to the maintainers. These components are:
processor/concurrentbatchprocessor
: Derived from the upstream batchprocessor, this component is enhanced with the ability to send batches concurrently, with an overall in-flight-bytes limit.
processor/obfuscationprocessor
: Supports obfuscation of OpenTelemetry data using a Feistel cipher.
Several Collector-Contrib extensions are included in the build:
- basicauth: Allows use of username and password for authorization.
- headersetter: Allows propagating headers through a pipeline
- pprof: Allows use of Golang profiling tools.
- fileexporter: Writes telemetry data to files on disk.
- otlpjsonfilereceiver: Reads telemetry data from JSON files.
Note that while previously this repository had its own local versions of a basic fileexporter and filereceiver derived from upstream, it is now recommended to use the upstream fileexporter and otlpjsonfilereceiver instead.
From the core collector repository:
- otelhttpexporter: Useful for debugging, sends standard OTLP over HTTP
- debugexporter: Useful for debugging, prints OTLP data to the console