|
|
|
|
|
by technimad
2053 days ago
|
|
I don’t like the devaluation of the word observability. A chart like this used to be called something like ‘tools to monitor and understand postgres’.
Observability is the ability to derive the internal state of a system from the outside. Usually done through traces. It would be great if Postgres could emit a trace per query, showing in real-time which internal components were hit by this query. A sort of continuous query explain service. Combine these traces to database clients and other front end services and you’ll be able to point to the front end service version which causes cache misses deep inside postgres. |
|
“PostgreSQL provides facilities to support dynamic tracing of the database server. This allows an external utility to be called at specific points in the code and thereby trace execution.
A number of probes or trace points are already inserted into the source code. These probes are intended to be used by database developers and administrators. By default the probes are not compiled into PostgreSQL; the user needs to explicitly tell the configure script to make the probes available.
Currently, the DTrace utility is supported, which, at the time of this writing, is available on Solaris, macOS, FreeBSD, NetBSD, and Oracle Linux. The SystemTap project for Linux provides a DTrace equivalent and can also be used. Supporting other dynamic tracing utilities is theoretically possible by changing the definitions for the macros in src/include/utils/probes.h.”