Global
The line enables counting the duration of an outbound SMTP transaction — from MAIL FROM to the end of DATA in the conversation with the receiver. The default is false.
🔴 Like its pair, it is useful only together with <prometheus-listener>: the value goes only into the pmta_smtp_request_duration_seconds metric with the direction=”out” label.
This is not the message delivery time. It is the duration of one conversation: a message may have sat in the queue for a day while the transaction took half a second. The delay before the first attempt is the job of another line — track-time-first-attempt.
The practical point is telling your own trouble from someone else’s. Growing delay in outbound transactions with inbound unchanged means receivers are slow to respond, not that the node is overloaded. These call for different cures.
🔎 The fleet dashboard answers an indirectly similar question from accounting — by the share of transient errors and the queue depth. But the conversation duration itself is something we do not have, and it is what tells “the receiver is slow” from “the node cannot cope.”
Enabled together with the acceptance half:
| Value | When |
|---|---|
| false (default) | there is no metrics listener |
| true | the listener is configured, and the “acceptance — sending” pair is needed |
Separately the values are almost useless: their value is in the comparison.
# a pair of values that are compared with each other track-inbound-perf-stats true track-outbound-perf-stats true <prometheus-listener 0/0:9090> </prometheus-listener>
what people get wrong and how it ends1 mistake▶
our experience
2 relations
curl -s http://NODE:9090/metrics | grep pmta_smtp_request_duration_seconds
3 articles
◇What the node tells about itself and through which channelsSeven observation surfaces: the web monitor, the console in four formats, the log, accounting, accounting search, metrics and export to external analytics.◇The watchdog that restarts the engineKeeps an eye on the engine and brings it back up after a crash by itself, sending a crash report to the postmaster address.◇How the policy for a receiver is assembledSettings are assembled from the most general pattern to the most precise; the order of blocks in the file means nothing.