Skip to content

Commit 0f5fd1e

Browse files
committed
Remove redundant argument to CreateInstHandler
Signed-off-by: Tobias Guggenmos <tobias.guggenmos@uni-ulm.de>
1 parent 508d74d commit 0f5fd1e

File tree

2 files changed

+22
-12
lines changed

2 files changed

+22
-12
lines changed

cmd/promql-langserver/promql-langserver.go

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ import (
2323

2424
kitlog "github.com/go-kit/kit/log"
2525
promClient "github.com/prometheus-community/promql-langserver/prometheus"
26-
"github.com/prometheus/client_golang/prometheus"
2726

2827
"github.com/prometheus-community/promql-langserver/langserver"
2928
"github.com/prometheus-community/promql-langserver/rest"
@@ -59,7 +58,7 @@ func main() {
5958

6059
logger = kitlog.NewSyncLogger(logger)
6160

62-
handler, err := rest.CreateInstHandler(context.Background(), prometheusClient, prometheus.NewRegistry(), logger)
61+
handler, err := rest.CreateInstHandler(context.Background(), prometheusClient, logger)
6362
if err != nil {
6463
log.Fatal(err)
6564
}

rest/handler.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,40 +33,51 @@ import (
3333

3434
// CreateHandler creates an http.Handler for the PromQL langserver REST API.
3535
//
36-
// Expects a prometheus Client as a second argument.
36+
// If metadata is fetched from a remote Prometheus, the metadataService
37+
// implementation from the promql-langserver/prometheus package can be used,
38+
// otherwise you need to provide your own implementation of the interface.
39+
//
3740
// The provided Logger should be synchronized.
3841
func CreateHandler(ctx context.Context, metadataService promClient.MetadataService, logger log.Logger) (http.Handler, error) {
39-
return CreateInstHandler(ctx, metadataService, nil, logger)
42+
return createHandler(ctx, metadataService, logger, false)
4043
}
4144

4245
// CreateInstHandler creates an instrumented http.Handler for the PromQL langserver REST API.
43-
// In addition to the endpoints created with CreateHandler, a /metrics endpoint is provided.
46+
// In addition to the endpoints created with CreateHandler, a /metrics endpoint // is provided.
47+
//
48+
// If you use the REST API with some middleware that already provides its own
49+
// instrumentation, use CreateHandler instead.
4450
//
45-
// If you use the REST API with some middleware that already provides its own instrumentation,
46-
// use CreateHandler instead.
51+
// If metadata is fetched from a remote Prometheus, the metadataService
52+
// implementation from the promql-langserver/prometheus package can be used,
53+
// otherwise you need to provide your own implementation of the interface.
4754
//
48-
// Expects a prometheus Client as a second argument and a Registry as third argument.
4955
// The provided Logger should be synchronized.
50-
func CreateInstHandler(ctx context.Context, metadataService promClient.MetadataService, r *prometheus.Registry, logger log.Logger) (http.Handler, error) {
56+
func CreateInstHandler(ctx context.Context, metadataService promClient.MetadataService, logger log.Logger) (http.Handler, error) {
57+
return createHandler(ctx, metadataService, logger, true)
58+
}
59+
func createHandler(ctx context.Context, metadataService promClient.MetadataService, logger log.Logger, metricsEnpoint bool) (http.Handler, error) {
5160
lgs, err := langserver.CreateHeadlessServer(ctx, metadataService, logger)
5261
if err != nil {
5362
return nil, err
5463
}
5564

5665
ls := &langserverHandler{langserver: lgs}
5766
ls.m = make(map[string]http.Handler)
58-
ls.createHandlers(r)
67+
ls.createHandlers(metricsEnpoint)
5968

6069
return ls, nil
6170
}
6271

63-
func (h *langserverHandler) createHandlers(r *prometheus.Registry) {
72+
func (h *langserverHandler) createHandlers(metricsEndpoint bool) {
6473
diagnostics := newSubHandler(h, diagnosticsHandler)
6574
completion := newSubHandler(h, completionHandler)
6675
hover := newSubHandler(h, hoverHandler)
6776
signatureHelp := newSubHandler(h, signatureHelpHandler)
6877

69-
if r != nil {
78+
if metricsEndpoint {
79+
r := prometheus.NewRegistry()
80+
7081
httpRequestsTotal := prometheus.NewCounterVec(prometheus.CounterOpts{
7182
Name: "http_requests_total",
7283
Help: "Count of all HTTP requests",

0 commit comments

Comments
 (0)