mirror of
https://github.com/prometheus/prometheus.git
synced 2025-02-02 08:31:11 -08:00
less context cancellation check for series API
Signed-off-by: Ben Ye <benye@amazon.com>
This commit is contained in:
parent
0a19f1268e
commit
e1324112aa
|
@ -68,6 +68,9 @@ const (
|
|||
// Non-standard status code (originally introduced by nginx) for the case when a client closes
|
||||
// the connection while the server is still processing the request.
|
||||
statusClientClosedConnection = 499
|
||||
|
||||
// checkContextEveryNIterations is used in some tight loops to check if the context is done.
|
||||
checkContextEveryNIterations = 128
|
||||
)
|
||||
|
||||
type errorType string
|
||||
|
@ -962,10 +965,15 @@ func (api *API) series(r *http.Request) (result apiFuncResult) {
|
|||
|
||||
warnings := set.Warnings()
|
||||
|
||||
i := 1
|
||||
for set.Next() {
|
||||
if err := ctx.Err(); err != nil {
|
||||
return apiFuncResult{nil, returnAPIError(err), warnings, closer}
|
||||
if i%checkContextEveryNIterations == 0 {
|
||||
if err := ctx.Err(); err != nil {
|
||||
return apiFuncResult{nil, returnAPIError(err), warnings, closer}
|
||||
}
|
||||
}
|
||||
i++
|
||||
|
||||
metrics = append(metrics, set.At().Labels())
|
||||
|
||||
if limit > 0 && len(metrics) > limit {
|
||||
|
|
Loading…
Reference in a new issue