Documentation ¶
Index ¶
- func CheckPort(port string) error
- func CheckTCPAddress(address string) error
- func HashIDToString(hash string) (string, error)
- func Healthz() http.HandlerFunc
- func InitTracer(serviceName string, logger *Logger) (ot.Tracer, io.Closer, error)
- func LoggerMiddleware(inner http.Handler, logger *Logger) http.HandlerFunc
- func NewRouter() *mux.Router
- func PrometheusMiddleware(h http.Handler, handler string, rm *RequestMetricHistogram) http.Handler
- func StringToHashID(str string) (string, error)
- func TracerMiddleware(inner http.Handler, route Route) http.HandlerFunc
- type Logger
- func (l *Logger) Debug(args ...interface{})
- func (l *Logger) Debugf(msg string, args ...interface{})
- func (l *Logger) Debugw(msg string, kv ...interface{})
- func (l *Logger) Error(msg string)
- func (l *Logger) Errorw(msg string, kv ...interface{})
- func (l *Logger) Fatal(args ...interface{})
- func (l *Logger) Fatalf(msg string, args ...interface{})
- func (l *Logger) Fatalw(msg string, kv ...interface{})
- func (l *Logger) Info(args ...interface{})
- func (l *Logger) Infof(msg string, args ...interface{})
- func (l *Logger) Infow(msg string, kv ...interface{})
- func (l *Logger) Panic(args ...interface{})
- func (l *Logger) Panicf(msg string, args ...interface{})
- func (l *Logger) Panicw(msg string, kv ...interface{})
- func (l *Logger) Sync()
- func (l *Logger) Warn(args ...interface{})
- func (l *Logger) Warnf(msg string, args ...interface{})
- func (l *Logger) Warnw(msg string, kv ...interface{})
- type RequestMetricHistogram
- type Route
- type Routes
- type Server
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CheckTCPAddress ¶
CheckTCPAddress checks if a passed TCP address is a valid listening address
func HashIDToString ¶
HashIDToString decodes a HashID-encoded string into a normal string
func InitTracer ¶
InitTracer returns an instance of Jaeger Tracer that samples 100% of traces and logs all spans to stdout.
func LoggerMiddleware ¶
func LoggerMiddleware(inner http.Handler, logger *Logger) http.HandlerFunc
LoggerMiddleware is a decorator for a HTTP Request, adding structured logging functionality
func PrometheusMiddleware ¶
PrometheusMiddleware wraps a request for monitoring via Prometheus.
func StringToHashID ¶
StringToHashID converts a UTF-8 string into a HashID.
func TracerMiddleware ¶
func TracerMiddleware(inner http.Handler, route Route) http.HandlerFunc
TracerMiddleware adds a Span to the request Context ready for other handlers to use it.
Types ¶
type Logger ¶
type Logger struct {
// contains filtered or unexported fields
}
Logger is an adapter type for zap's SugaredLogger
func (*Logger) Debug ¶
func (l *Logger) Debug(args ...interface{})
Debug uses fmt.Sprint to log a templated message.
func (*Logger) Debugw ¶
Debugw logs a message with some additional context. The variadic key-value pairs are treated as they are in With.
func (*Logger) Errorw ¶
Errorw logs a message with some additional context. The variadic key-value pairs are treated as they are in With.
func (*Logger) Fatal ¶
func (l *Logger) Fatal(args ...interface{})
Fatal uses fmt.Sprint to log a templated message, then calls os.Exit.
func (*Logger) Fatalw ¶
Fatalw logs a message with some additional context, then calls os.Exit. The variadic key-value pairs are treated as they are in With.
func (*Logger) Info ¶
func (l *Logger) Info(args ...interface{})
Info uses fmt.Sprint to log a templated message.
func (*Logger) Infow ¶
Infow logs a message with some additional context. The variadic key-value pairs are treated as they are in With.
func (*Logger) Panic ¶
func (l *Logger) Panic(args ...interface{})
Panic uses fmt.Sprint to log a templated message, then panics.
func (*Logger) Panicw ¶
Panicw logs a message with some additional context, then panics The variadic key-value pairs are treated as they are in With.
func (*Logger) Warn ¶
func (l *Logger) Warn(args ...interface{})
Warn uses fmt.Sprint to log a templated message.
type RequestMetricHistogram ¶
type RequestMetricHistogram struct { InFlightGauge prometheus.Gauge Counter *prometheus.CounterVec Duration *prometheus.HistogramVec ResponseSize *prometheus.HistogramVec }
RequestMetricHistogram defines a type of used metrics for a specific request, using Histograms for observations
func NewRequestMetricHistogram ¶
func NewRequestMetricHistogram(durationBuckets, responseSizeBuckets []float64) *RequestMetricHistogram
NewRequestMetricHistogram creates a RequestMetricHistogram struct with sane defaults