summaryrefslogtreecommitdiffstats
path: root/src/go/collectors/go.d.plugin/modules/envoy/envoy.go
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 08:15:24 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-08-26 08:15:35 +0000
commitf09848204fa5283d21ea43e262ee41aa578e1808 (patch)
treec62385d7adf209fa6a798635954d887f718fb3fb /src/go/collectors/go.d.plugin/modules/envoy/envoy.go
parentReleasing debian version 1.46.3-2. (diff)
downloadnetdata-f09848204fa5283d21ea43e262ee41aa578e1808.tar.xz
netdata-f09848204fa5283d21ea43e262ee41aa578e1808.zip
Merging upstream version 1.47.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/go/collectors/go.d.plugin/modules/envoy/envoy.go')
-rw-r--r--src/go/collectors/go.d.plugin/modules/envoy/envoy.go126
1 files changed, 0 insertions, 126 deletions
diff --git a/src/go/collectors/go.d.plugin/modules/envoy/envoy.go b/src/go/collectors/go.d.plugin/modules/envoy/envoy.go
deleted file mode 100644
index 5bdfa3b00..000000000
--- a/src/go/collectors/go.d.plugin/modules/envoy/envoy.go
+++ /dev/null
@@ -1,126 +0,0 @@
-// SPDX-License-Identifier: GPL-3.0-or-later
-
-package envoy
-
-import (
- _ "embed"
- "errors"
- "time"
-
- "github.com/netdata/netdata/go/go.d.plugin/agent/module"
- "github.com/netdata/netdata/go/go.d.plugin/pkg/prometheus"
- "github.com/netdata/netdata/go/go.d.plugin/pkg/web"
-)
-
-//go:embed "config_schema.json"
-var configSchema string
-
-func init() {
- module.Register("envoy", module.Creator{
- JobConfigSchema: configSchema,
- Create: func() module.Module { return New() },
- Config: func() any { return &Config{} },
- })
-}
-
-func New() *Envoy {
- return &Envoy{
- Config: Config{
- HTTP: web.HTTP{
- Request: web.Request{
- URL: "http://127.0.0.1:9091/stats/prometheus",
- },
- Client: web.Client{
- Timeout: web.Duration(time.Second),
- },
- },
- },
-
- charts: &module.Charts{},
-
- servers: make(map[string]bool),
- clusterMgrs: make(map[string]bool),
- clusterUpstream: make(map[string]bool),
- listenerMgrs: make(map[string]bool),
- listenerAdminDownstream: make(map[string]bool),
- listenerDownstream: make(map[string]bool),
- }
-}
-
-type Config struct {
- UpdateEvery int `yaml:"update_every,omitempty" json:"update_every"`
- web.HTTP `yaml:",inline" json:""`
-}
-
-type Envoy struct {
- module.Base
- Config `yaml:",inline" json:""`
-
- charts *module.Charts
-
- prom prometheus.Prometheus
-
- servers map[string]bool
- clusterMgrs map[string]bool
- clusterUpstream map[string]bool
- listenerMgrs map[string]bool
- listenerAdminDownstream map[string]bool
- listenerDownstream map[string]bool
-}
-
-func (e *Envoy) Configuration() any {
- return e.Config
-}
-
-func (e *Envoy) Init() error {
- if err := e.validateConfig(); err != nil {
- e.Errorf("config validation: %v", err)
- return err
- }
-
- prom, err := e.initPrometheusClient()
- if err != nil {
- e.Errorf("init Prometheus client: %v", err)
- return err
- }
- e.prom = prom
-
- return nil
-}
-
-func (e *Envoy) Check() error {
- mx, err := e.collect()
- if err != nil {
- e.Error(err)
- return err
- }
- if len(mx) == 0 {
- return errors.New("no metrics collected")
-
- }
- return nil
-}
-
-func (e *Envoy) Charts() *module.Charts {
- return e.charts
-}
-
-func (e *Envoy) Collect() map[string]int64 {
- mx, err := e.collect()
- if err != nil {
- e.Error(err)
- }
-
- if len(mx) == 0 {
- return nil
- }
- return mx
-}
-
-func (e *Envoy) Cleanup() {
- if e.prom == nil || e.prom.HTTPClient() == nil {
- return
- }
-
- e.prom.HTTPClient().CloseIdleConnections()
-}