Skip to content

Commit d2054af

Browse files
committed
rename client in favor of metadataService
Signed-off-by: Augustin Husson <husson.augustin@gmail.com>
1 parent 019d785 commit d2054af

File tree

8 files changed

+25
-25
lines changed

8 files changed

+25
-25
lines changed

langserver/completion.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ func (s *server) Completion(ctx context.Context, params *protocol.CompletionPara
9595
}
9696

9797
func (s *server) completeMetricName(ctx context.Context, completions *[]protocol.CompletionItem, location *cache.Location, metricName string) error {
98-
allMetadata, err := s.prometheusClient.AllMetricMetadata(ctx)
98+
allMetadata, err := s.metadataService.AllMetricMetadata(ctx)
9999
if err != nil {
100100
return err
101101
}
@@ -312,7 +312,7 @@ func (s *server) completeLabel(ctx context.Context, completions *[]protocol.Comp
312312
if vs != nil {
313313
metricName = vs.Name
314314
}
315-
allNames, err := s.prometheusClient.LabelNames(ctx, metricName, time.Now().Add(-100*time.Hour), time.Now())
315+
allNames, err := s.metadataService.LabelNames(ctx, metricName, time.Now().Add(-100*time.Hour), time.Now())
316316
if err != nil {
317317
// nolint: errcheck
318318
s.client.LogMessage(s.lifetime, &protocol.LogMessageParams{
@@ -355,7 +355,7 @@ OUTER:
355355

356356
// nolint: funlen
357357
func (s *server) completeLabelValue(ctx context.Context, completions *[]protocol.CompletionItem, location *cache.Location, labelName string) error {
358-
labelValues, err := s.prometheusClient.LabelValues(ctx, labelName)
358+
labelValues, err := s.metadataService.LabelValues(ctx, labelName)
359359
if err != nil {
360360
// nolint: errcheck
361361
s.client.LogMessage(s.lifetime, &protocol.LogMessageParams{

langserver/hover.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ func (s *server) nodeToDocMarkdown(ctx context.Context, location *cache.Location
138138
}
139139
}
140140

141-
promURL := s.prometheusClient.GetURL()
141+
promURL := s.metadataService.GetURL()
142142

143143
if promURL != "" && !s.headless {
144144
loc := *location
@@ -195,7 +195,7 @@ func (s *server) getMetricDocs(ctx context.Context, metric string) (string, erro
195195
var ret strings.Builder
196196
ret.WriteString(fmt.Sprintf("### %s\n\n", metric))
197197

198-
metadata, err := s.prometheusClient.MetricMetadata(ctx, metric)
198+
metadata, err := s.metadataService.MetricMetadata(ctx, metric)
199199
if err != nil {
200200
return "", err
201201
}

langserver/server.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ type server struct {
5656

5757
config *Config
5858

59-
prometheusClient promClient.Client
59+
metadataService promClient.MetadataService
6060

6161
lifetime context.Context
6262
exit func()
@@ -80,12 +80,12 @@ func (s Server) Run() error {
8080
// CreateHeadlessServer creates a locked down server instance for the REST API.
8181
//
8282
// "locked down" in this case means, that the instance cannot send or receive any JSONRPC communication. Logging messages that the instance tries to send over JSONRPC are redirected to stderr.
83-
func CreateHeadlessServer(ctx context.Context, prometheusClient promClient.Client, logger log.Logger) (HeadlessServer, error) {
83+
func CreateHeadlessServer(ctx context.Context, metadataService promClient.MetadataService, logger log.Logger) (HeadlessServer, error) {
8484
s := &server{
85-
client: &headlessClient{logger: logger},
86-
headless: true,
87-
config: &Config{PrometheusURL: prometheusClient.GetURL()},
88-
prometheusClient: prometheusClient,
85+
client: &headlessClient{logger: logger},
86+
headless: true,
87+
config: &Config{PrometheusURL: metadataService.GetURL()},
88+
metadataService: metadataService,
8989
}
9090

9191
s.lifetime, s.exit = context.WithCancel(ctx)
@@ -130,13 +130,13 @@ func ServerFromStream(ctx context.Context, stream jsonrpc2.Stream, config *Confi
130130
})
131131
panic(err)
132132
}
133-
s.prometheusClient = prometheusClient
133+
s.metadataService = prometheusClient
134134

135135
return ctx, Server{s}
136136
}
137137

138138
func (s *server) connectPrometheus(url string) error {
139-
if err := s.prometheusClient.ChangeDataSource(url); err != nil {
139+
if err := s.metadataService.ChangeDataSource(url); err != nil {
140140
// nolint: errcheck
141141
s.client.ShowMessage(s.lifetime, &protocol.ShowMessageParams{
142142
Type: protocol.Error,

prometheus/compatible.go

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

2424
// compatibleHTTPClient must be used to contact a distant prometheus with a version >= v2.15.
2525
type compatibleHTTPClient struct {
26-
Client
26+
MetadataService
2727
prometheusClient v1.API
2828
}
2929

prometheus/empty.go

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

2424
// emptyHTTPClient must be used when no prometheus URL has been defined.
2525
type emptyHTTPClient struct {
26-
Client
26+
MetadataService
2727
}
2828

2929
func (c *emptyHTTPClient) MetricMetadata(_ context.Context, _ string) (v1.Metadata, error) {

prometheus/client.go renamed to prometheus/metadata_service.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ type buildInfoData struct {
8484
GoVersion string `json:"goVersion"`
8585
}
8686

87-
// Client is a light prometheus client used by LSP to get data from a a prometheus Server.
88-
type Client interface {
87+
// MetadataService is a light prometheus client used by LSP to get metric or label information from prometheus Server.
88+
type MetadataService interface {
8989
// MetricMetadata returns the first occurrence of metadata about metrics currently scraped by the metric name.
9090
MetricMetadata(ctx context.Context, metric string) (v1.Metadata, error)
9191
// AllMetricMetadata returns metadata about metrics currently scraped for all existing metrics.
@@ -107,14 +107,14 @@ type Client interface {
107107
// You should use this instance directly and not the other one (compatibleHTTPClient and notCompatibleHTTPClient)
108108
// because it will manage which sub instance of the Client to use (like a factory).
109109
type httpClient struct {
110-
Client
110+
MetadataService
111111
requestTimeout time.Duration
112112
mutex sync.RWMutex
113-
subClient Client
113+
subClient MetadataService
114114
url string
115115
}
116116

117-
func NewClient(prometheusURL string) (Client, error) {
117+
func NewClient(prometheusURL string) (MetadataService, error) {
118118
c := &httpClient{
119119
requestTimeout: 30,
120120
}

prometheus/not_compatible.go

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

2424
// notCompatibleHTTPClient must be used to contact a distant prometheus with a version < v2.15.
2525
type notCompatibleHTTPClient struct {
26-
Client
26+
MetadataService
2727
prometheusClient v1.API
2828
}
2929

rest/handler.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -35,16 +35,16 @@ import (
3535
//
3636
// Expects a prometheus Client as a second argument.
3737
// The provided Logger should be synchronized.
38-
func CreateHandler(ctx context.Context, prometheusClient promClient.Client, logger log.Logger) (http.Handler, error) {
39-
return CreateInstHandler(ctx, prometheusClient, nil, logger)
38+
func CreateHandler(ctx context.Context, metadataService promClient.MetadataService, logger log.Logger) (http.Handler, error) {
39+
return CreateInstHandler(ctx, metadataService, nil, logger)
4040
}
4141

4242
// CreateInstHandler creates an instrumented http.Handler for the PromQL langserver REST API.
4343
//
4444
// Expects a prometheus Client as a second argument and a Registry as third argument.
4545
// The provided Logger should be synchronized.
46-
func CreateInstHandler(ctx context.Context, prometheusClient promClient.Client, r *prometheus.Registry, logger log.Logger) (http.Handler, error) {
47-
lgs, err := langserver.CreateHeadlessServer(ctx, prometheusClient, logger)
46+
func CreateInstHandler(ctx context.Context, metadataService promClient.MetadataService, r *prometheus.Registry, logger log.Logger) (http.Handler, error) {
47+
lgs, err := langserver.CreateHeadlessServer(ctx, metadataService, logger)
4848
if err != nil {
4949
return nil, err
5050
}

0 commit comments

Comments
 (0)