config.go 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. package metrics
  17. // Config contains the configuration for the metric collection.
  18. type Config struct {
  19. Enabled bool `toml:",omitempty"`
  20. EnabledExpensive bool `toml:",omitempty"`
  21. HTTP string `toml:",omitempty"`
  22. Port int `toml:",omitempty"`
  23. EnableInfluxDB bool `toml:",omitempty"`
  24. InfluxDBEndpoint string `toml:",omitempty"`
  25. InfluxDBDatabase string `toml:",omitempty"`
  26. InfluxDBUsername string `toml:",omitempty"`
  27. InfluxDBPassword string `toml:",omitempty"`
  28. InfluxDBTags string `toml:",omitempty"`
  29. EnableInfluxDBV2 bool `toml:",omitempty"`
  30. InfluxDBToken string `toml:",omitempty"`
  31. InfluxDBBucket string `toml:",omitempty"`
  32. InfluxDBOrganization string `toml:",omitempty"`
  33. }
  34. // DefaultConfig is the default config for metrics used in go-ethereum.
  35. var DefaultConfig = Config{
  36. Enabled: false,
  37. EnabledExpensive: false,
  38. HTTP: "127.0.0.1",
  39. Port: 6060,
  40. EnableInfluxDB: false,
  41. InfluxDBEndpoint: "http://localhost:8086",
  42. InfluxDBDatabase: "geth",
  43. InfluxDBUsername: "test",
  44. InfluxDBPassword: "test",
  45. InfluxDBTags: "host=localhost",
  46. // influxdbv2-specific flags
  47. EnableInfluxDBV2: false,
  48. InfluxDBToken: "test",
  49. InfluxDBBucket: "geth",
  50. InfluxDBOrganization: "geth",
  51. }