Skip to content

Commit 27f5055

Browse files
feat: add option to disable metrics reporting
1 parent c00f941 commit 27f5055

File tree

2 files changed

+23
-18
lines changed

2 files changed

+23
-18
lines changed

cmd/plugin-registry/main.go

Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -56,25 +56,29 @@ func run(log *logrus.Logger) error {
5656
log.Warn("request cache disabled")
5757
}
5858

59-
ocTaskID := fmt.Sprintf("plugin-registry-%d", rand.Int())
60-
log.Infof("setting up metrics exporter (opencensus_task=%s)...", ocTaskID)
61-
labels := &stackdriver.Labels{}
62-
labels.Set("version", version, "version of the plugin-registry")
63-
labels.Set("stage", cfg.Stage, "stage of the plugin-registry")
64-
labels.Set("opencensus_task", ocTaskID, "Opencensus task identifier")
65-
exporter, err := metrics.NewExporter(stackdriver.Options{
66-
ProjectID: cfg.ProjectID,
67-
MetricPrefix: "plugin-registry",
68-
OnError: func(err error) {
69-
log.Warnf("exporter error: %v", err)
70-
},
71-
DefaultMonitoringLabels: labels,
72-
})
73-
if err != nil {
74-
return err
59+
if !cfg.DisableMetrics {
60+
ocTaskID := fmt.Sprintf("plugin-registry-%d", rand.Int())
61+
log.Infof("setting up metrics exporter (opencensus_task=%s)...", ocTaskID)
62+
labels := &stackdriver.Labels{}
63+
labels.Set("version", cfg.Version, "version of the plugin-registry")
64+
labels.Set("stage", cfg.Stage, "stage of the plugin-registry")
65+
labels.Set("opencensus_task", ocTaskID, "Opencensus task identifier")
66+
exporter, eErr := metrics.NewExporter(stackdriver.Options{
67+
ProjectID: cfg.ProjectID,
68+
MetricPrefix: "plugin-registry",
69+
OnError: func(err error) {
70+
log.Warnf("exporter error: %v", err)
71+
},
72+
DefaultMonitoringLabels: labels,
73+
})
74+
if eErr != nil {
75+
return eErr
76+
}
77+
defer exporter.Flush()
78+
defer exporter.StopMetricsExporter()
79+
} else {
80+
log.Warn("metrics disabled")
7581
}
76-
defer exporter.Flush()
77-
defer exporter.StopMetricsExporter()
7882

7983
log.Infof("connecting to database (stage=%s)...", cfg.Stage)
8084
// set global collection prefix

internal/config/server.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ type ServerConfig struct {
2828
PluginCacheHost string `envconfig:"PLUGIN_CACHE_HOST" required:"true"`
2929
DisableRequestCache bool `envconfig:"DISABLE_REQUEST_CACHE"`
3030
Version string
31+
DisableMetrics bool `envconfig:"DISABLE_METRICS"`
3132
}
3233

3334
func NewServerConfigFromEnv() (*ServerConfig, error) {

0 commit comments

Comments
 (0)