The pgotel
project is a Postgres extension that allows other extensions to export observability signals (metrics, traces, logs, etc) with Open Telemetry. pgotel
includes and exposes in a more Postgres-way (and in plain C, not C++) the Open Telemetry C++ SDK.
The OpenTelemetry Protocol (OTLP in short) defines two possible transports: gRPC and HTTP (supporting both 1.1 and 2.0 for the latter). The HTTP transport was added to OTLP after the gRPC transport with one of the main motivations being that "gRPC is a relatively big dependency, which some clients are not willing to take. Plain HTTP is a smaller dependency and is built in the standard libraries of many programming languages" (source). For this reason, only the HTTP transport has been chosen to be implemented into this extension.