lib/httpserver: log the client address additionally to the requestURI in the SendPrometheusError()

This should allow detecting the client, which led to the error logged via SendPrometheusError() function,
e.g. this improves troubleshooting of the logged errors.

This is a follow-up for c9bb4ddeed
This commit is contained in:
Aliaksandr Valialkin
2025-07-05 23:49:02 +02:00
parent e4fc202ab8
commit 524f58c78c
2 changed files with 11 additions and 7 deletions

View File

@@ -3,15 +3,14 @@ package httpserver
import (
"errors"
"net/http"
"github.com/VictoriaMetrics/VictoriaMetrics/lib/logger"
)
// SendPrometheusError sends err to w in Prometheus querying API response format.
//
// See https://prometheus.io/docs/prometheus/latest/querying/api/#format-overview for more details
func SendPrometheusError(w http.ResponseWriter, r *http.Request, err error) {
logger.WarnfSkipframes(1, "error in %q: %s", GetRequestURI(r), err)
errStr := err.Error()
logHTTPError(r, errStr)
w.Header().Set("Content-Type", "application/json")
statusCode := http.StatusUnprocessableEntity