Files
loki/vendor/github.com/go-openapi/validate/debug.go
Peter Štibraný e60164bef6 Convert Loki modules to services (#1804)
* Loki now uses module services to start and stop its work.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use services methods to initialize some components.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use Cortex' NewModuleService.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted server to a service.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted distributor to service.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use table manager service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* querier service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* query-frontend service

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Merged stopping method into shutdown

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Converted ingester to a service.

It now starts all background tasks in Starting state.
Stopping needs little work, as does reacting on lifecycler errors.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Loki

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* If lifecycler fails, ingester fails too.

It now doesn't call os.Exit, but shuts down gracefully and enters Failed state.
That triggers Loki to shutdown completely.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Ignore ErrStopProcess errors from services

This is a signal that Loki should stop.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Use single /ready handler

It checks the state of all services, and asks ingester for its own check as well.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Removed unused value.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Lint

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Fix test.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Go mod tidy, vendor

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Tailers, not trailers.

Signed-off-by: Peter Štibraný <peter.stibrany@grafana.com>

* Adds return for the healtcheck in case of error.

Signed-off-by: Cyril Tovena <cyril.tovena@gmail.com>

Co-authored-by: Cyril Tovena <cyril.tovena@gmail.com>
2020-04-23 12:21:51 -04:00

48 lines
1.3 KiB
Go

// Copyright 2015 go-swagger maintainers
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package validate
import (
"fmt"
"log"
"os"
"path/filepath"
"runtime"
)
var (
// Debug is true when the SWAGGER_DEBUG env var is not empty.
// It enables a more verbose logging of validators.
Debug = os.Getenv("SWAGGER_DEBUG") != ""
// validateLogger is a debug logger for this package
validateLogger *log.Logger
)
func init() {
debugOptions()
}
func debugOptions() {
validateLogger = log.New(os.Stdout, "validate:", log.LstdFlags)
}
func debugLog(msg string, args ...interface{}) {
// A private, trivial trace logger, based on go-openapi/spec/expander.go:debugLog()
if Debug {
_, file1, pos1, _ := runtime.Caller(1)
validateLogger.Printf("%s:%d: %s", filepath.Base(file1), pos1, fmt.Sprintf(msg, args...))
}
}