Skip to content

Output from the OTLP service displayed in the log file #85

@ivucica

Description

@ivucica

Example:

2025-08-31 13:34:57 UTC [4109375-1753] LOG:  checkpoint starting: time
":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess":{}}{"partialSuccess"2025-08-31 13:35:30 UTC [4109375-1754] LOG:  checkpoint complete: wrote 324 buffers (2.0%); 0 WAL file(s) added, 0 removed, 1 recycled; write=32.299 s, sync=0.011 s, total=32.365 s; sync files=138, longest=0.003 s, average=0.001 s; distance=7068 kB, estimate=11213 kB
2025-08-31 13:39:57 UTC [4109375-1755] LOG:  checkpoint starting: time
2025-08-31 13:40:53 UTC [4109375-1756] LOG:  checkpoint complete: wrote 562 buffers (3.4%); 0 WAL file(s) added, 0 removed, 0 recycled; write=56.536 s, sync=0.016 s, total=56.572 s; sync files=159, longest=0.004 s, average=0.001 s; distance=8786 kB, estimate=10971 kB

The JSON seems like it might be HTTP response body from the otel collector. My guess is that it's coming out of pg_tracing_otel.c's send_json_trace(); specifically, if I understand correctly, libcurl is outputting to stderr by default.

It looks like https://github.com/ivucica/pg_tracing/tree/sinkhole-libcurl resolved the issue (ccbad8b). If it does not look to hacky, I can create a pull request.

Let me know if this makes sense.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions