This PR adds flag to enable InfluxDB v2 (--metrics.influxdbv2), flags for v2-specific features (--metrics.influxdb.token, --metrics.influxdb.bucket), also carries over addition of support for specifying organization (--metrics.influxdb.organization), but still retains backwards compatibility with InfluxDB v1.
		
			
				
	
	
		
			57 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2021 The go-ethereum Authors
 | |
| // This file is part of go-ethereum.
 | |
| //
 | |
| // The go-ethereum library is free software: you can redistribute it and/or modify
 | |
| // it under the terms of the GNU Lesser General Public License as published by
 | |
| // the Free Software Foundation, either version 3 of the License, or
 | |
| // (at your option) any later version.
 | |
| //
 | |
| // The go-ethereum library is distributed in the hope that it will be useful,
 | |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of
 | |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 | |
| // GNU Lesser General Public License for more details.
 | |
| //
 | |
| // You should have received a copy of the GNU Lesser General Public License
 | |
| // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
 | |
| 
 | |
| package metrics
 | |
| 
 | |
| // Config contains the configuration for the metric collection.
 | |
| type Config struct {
 | |
| 	Enabled          bool   `toml:",omitempty"`
 | |
| 	EnabledExpensive bool   `toml:",omitempty"`
 | |
| 	HTTP             string `toml:",omitempty"`
 | |
| 	Port             int    `toml:",omitempty"`
 | |
| 	EnableInfluxDB   bool   `toml:",omitempty"`
 | |
| 	InfluxDBEndpoint string `toml:",omitempty"`
 | |
| 	InfluxDBDatabase string `toml:",omitempty"`
 | |
| 	InfluxDBUsername string `toml:",omitempty"`
 | |
| 	InfluxDBPassword string `toml:",omitempty"`
 | |
| 	InfluxDBTags     string `toml:",omitempty"`
 | |
| 
 | |
| 	EnableInfluxDBV2     bool   `toml:",omitempty"`
 | |
| 	InfluxDBToken        string `toml:",omitempty"`
 | |
| 	InfluxDBBucket       string `toml:",omitempty"`
 | |
| 	InfluxDBOrganization string `toml:",omitempty"`
 | |
| }
 | |
| 
 | |
| // DefaultConfig is the default config for metrics used in go-ethereum.
 | |
| var DefaultConfig = Config{
 | |
| 	Enabled:          false,
 | |
| 	EnabledExpensive: false,
 | |
| 	HTTP:             "127.0.0.1",
 | |
| 	Port:             6060,
 | |
| 	EnableInfluxDB:   false,
 | |
| 	InfluxDBEndpoint: "http://localhost:8086",
 | |
| 	InfluxDBDatabase: "geth",
 | |
| 	InfluxDBUsername: "test",
 | |
| 	InfluxDBPassword: "test",
 | |
| 	InfluxDBTags:     "host=localhost",
 | |
| 
 | |
| 	// influxdbv2-specific flags
 | |
| 	EnableInfluxDBV2:     false,
 | |
| 	InfluxDBToken:        "test",
 | |
| 	InfluxDBBucket:       "geth",
 | |
| 	InfluxDBOrganization: "geth",
 | |
| }
 |