github.com/unicornultrafoundation/go-u2u@v1.0.0-rc1.0.20240205080301-e74a83d3fadc/metrics/config.go (about) 1 // Copyright 2021 The go-ethereum Authors 2 // This file is part of go-ethereum. 3 // 4 // The go-ethereum library is free software: you can redistribute it and/or modify 5 // it under the terms of the GNU Lesser General Public License as published by 6 // the Free Software Foundation, either version 3 of the License, or 7 // (at your option) any later version. 8 // 9 // The go-ethereum library is distributed in the hope that it will be useful, 10 // but WITHOUT ANY WARRANTY; without even the implied warranty of 11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 // GNU Lesser General Public License for more details. 13 // 14 // You should have received a copy of the GNU Lesser General Public License 15 // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>. 16 17 package metrics 18 19 // Config contains the configuration for the metric collection. 20 type Config struct { 21 Enabled bool `toml:",omitempty"` 22 EnabledExpensive bool `toml:",omitempty"` 23 HTTP string `toml:",omitempty"` 24 Port int `toml:",omitempty"` 25 EnableInfluxDB bool `toml:",omitempty"` 26 InfluxDBEndpoint string `toml:",omitempty"` 27 InfluxDBDatabase string `toml:",omitempty"` 28 InfluxDBUsername string `toml:",omitempty"` 29 InfluxDBPassword string `toml:",omitempty"` 30 InfluxDBTags string `toml:",omitempty"` 31 32 EnableInfluxDBV2 bool `toml:",omitempty"` 33 InfluxDBToken string `toml:",omitempty"` 34 InfluxDBBucket string `toml:",omitempty"` 35 InfluxDBOrganization string `toml:",omitempty"` 36 37 PrometheusEndpointPort string `toml:",omitempty"` 38 } 39 40 // DefaultConfig is the default config for metrics used in go-ethereum. 41 var DefaultConfig = Config{ 42 Enabled: false, 43 EnabledExpensive: false, 44 HTTP: "127.0.0.1", 45 Port: 6060, 46 EnableInfluxDB: false, 47 InfluxDBEndpoint: "http://localhost:8086", 48 InfluxDBDatabase: "geth", 49 InfluxDBUsername: "test", 50 InfluxDBPassword: "test", 51 InfluxDBTags: "host=localhost", 52 53 // influxdbv2-specific flags 54 EnableInfluxDBV2: false, 55 InfluxDBToken: "test", 56 InfluxDBBucket: "geth", 57 InfluxDBOrganization: "geth", 58 59 // prometheus flag 60 PrometheusEndpointPort: ":19090", 61 }