summaryrefslogtreecommitdiff
path: root/internal/configuration/schema/telemetry.go
diff options
context:
space:
mode:
authorJames Elliott <james-d-elliott@users.noreply.github.com>2022-06-14 17:20:13 +1000
committerGitHub <noreply@github.com>2022-06-14 17:20:13 +1000
commit001589cd6d2bb1d7c740624ff4699c442fc5fcb2 (patch)
tree82f235502d2cc8c4b5bc2f124183f15be2937f5c /internal/configuration/schema/telemetry.go
parent607bbcc324e0d0410d0b25fd40358f0d2bd2e9b1 (diff)
feat(metrics): implement prometheus metrics (#3234)
Adds ability to record metrics and gather them for Prometheus.
Diffstat (limited to 'internal/configuration/schema/telemetry.go')
-rw-r--r--internal/configuration/schema/telemetry.go23
1 files changed, 23 insertions, 0 deletions
diff --git a/internal/configuration/schema/telemetry.go b/internal/configuration/schema/telemetry.go
new file mode 100644
index 000000000..c37f7bcf1
--- /dev/null
+++ b/internal/configuration/schema/telemetry.go
@@ -0,0 +1,23 @@
+package schema
+
+import (
+ "net"
+)
+
+// TelemetryConfig represents the telemetry config.
+type TelemetryConfig struct {
+ Metrics TelemetryMetricsConfig `koanf:"metrics"`
+}
+
+// TelemetryMetricsConfig represents the telemetry metrics config.
+type TelemetryMetricsConfig struct {
+ Enabled bool `koanf:"enabled"`
+ Address Address `koanf:"address"`
+}
+
+// DefaultTelemetryConfig is the default telemetry configuration.
+var DefaultTelemetryConfig = TelemetryConfig{
+ Metrics: TelemetryMetricsConfig{
+ Address: NewAddress("tcp", net.ParseIP("0.0.0.0"), 9959),
+ },
+}