github.com/jimmyx0x/go-ethereum@v1.10.28/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  
    38  // DefaultConfig is the default config for metrics used in go-ethereum.
    39  var DefaultConfig = Config{
    40  	Enabled:          false,
    41  	EnabledExpensive: false,
    42  	HTTP:             "127.0.0.1",
    43  	Port:             6060,
    44  	EnableInfluxDB:   false,
    45  	InfluxDBEndpoint: "http://localhost:8086",
    46  	InfluxDBDatabase: "geth",
    47  	InfluxDBUsername: "test",
    48  	InfluxDBPassword: "test",
    49  	InfluxDBTags:     "host=localhost",
    50  
    51  	// influxdbv2-specific flags
    52  	EnableInfluxDBV2:     false,
    53  	InfluxDBToken:        "test",
    54  	InfluxDBBucket:       "geth",
    55  	InfluxDBOrganization: "geth",
    56  }