mirror of
https://github.com/OffchainLabs/prysm.git
synced 2026-05-02 03:02:54 -04:00
* Added prometheus client and p2p metrics * Avoid run the adapter if the metrics are disabled * fix visibility issue * Fix invalid p2p.Message sent to Adapters The middlewares (adapters) must receive the complete message to avoid problems and the main Handler must get the values from middlewares Also, added tests and comments for metrics package * Added logrus hook collector This collector is used to collect counters of log messages. The main purpose of these metric is to know how many warnings and errors the system are getting. * Add hook when register the prometheus service * update bazel builds * fix emit tests and remove unused imports * gazelle --fix * remove unused logger * move prometheus package to shared directory * better metric names and fix metric paths * improve metric tests and start to use promauto * added prometheus initial documentation * fix tests * fix type differences with go get and bazel * Fix service test
91 lines
3.3 KiB
Go
91 lines
3.3 KiB
Go
// Package cmd defines the command line flags for the shared utlities.
|
|
package cmd
|
|
|
|
import (
|
|
"github.com/ethereum/go-ethereum/node"
|
|
"github.com/urfave/cli"
|
|
)
|
|
|
|
var (
|
|
// VerbosityFlag defines the logrus configuration.
|
|
VerbosityFlag = cli.StringFlag{
|
|
Name: "verbosity",
|
|
Usage: "Logging verbosity (debug, info=default, warn, error, fatal, panic)",
|
|
Value: "info",
|
|
}
|
|
// IPCPathFlag defines the filename of a pipe within the datadir.
|
|
IPCPathFlag = DirectoryFlag{
|
|
Name: "ipcpath",
|
|
Usage: "Filename for IPC socket/pipe within the datadir (explicit paths escape it)",
|
|
}
|
|
// DataDirFlag defines a path on disk.
|
|
DataDirFlag = DirectoryFlag{
|
|
Name: "datadir",
|
|
Usage: "Data directory for the databases and keystore",
|
|
Value: DirectoryString{node.DefaultDataDir()},
|
|
}
|
|
// NetworkIDFlag defines the specific network identifier.
|
|
NetworkIDFlag = cli.Uint64Flag{
|
|
Name: "networkid",
|
|
Usage: "Network identifier (integer, 1=Frontier, 2=Morden (disused), 3=Ropsten, 4=Rinkeby)",
|
|
Value: 1,
|
|
}
|
|
// PasswordFileFlag defines the path to the user's account password file.
|
|
PasswordFileFlag = cli.StringFlag{
|
|
Name: "password",
|
|
Usage: "Password file to use for non-interactive password input",
|
|
Value: "",
|
|
}
|
|
// RPCProviderFlag defines a http endpoint flag to connect to mainchain.
|
|
RPCProviderFlag = cli.StringFlag{
|
|
Name: "rpc",
|
|
Usage: "HTTP-RPC server end point to use to connect to mainchain.",
|
|
Value: "http://localhost:8545/",
|
|
}
|
|
// EnableTracingFlag defines a flag to enable p2p message tracing.
|
|
EnableTracingFlag = cli.BoolFlag{
|
|
Name: "enable-tracing",
|
|
Usage: "Enable request tracing.",
|
|
}
|
|
// TracingEndpointFlag flag defines the http endpoint for serving traces to Jaeger.
|
|
TracingEndpointFlag = cli.StringFlag{
|
|
Name: "tracing-endpoint",
|
|
Usage: "Tracing endpoint defines where beacon chain traces are exposed to Jaeger.",
|
|
Value: "http://127.0.0.1:14268",
|
|
}
|
|
// TraceSampleFractionFlag defines a flag to indicate what fraction of p2p
|
|
// messages are sampled for tracing.
|
|
TraceSampleFractionFlag = cli.Float64Flag{
|
|
Name: "trace-sample-fraction",
|
|
Usage: "Indicate what fraction of p2p messages are sampled for tracing.",
|
|
Value: 0.20,
|
|
}
|
|
// DisableMonitoringFlag defines a flag to disable the metrics collection.
|
|
DisableMonitoringFlag = cli.BoolFlag{
|
|
Name: "disable-monitoring",
|
|
Usage: "Disable monitoring service.",
|
|
}
|
|
// MonitoringPortFlag defines the http port used to serve prometheus metrics.
|
|
MonitoringPortFlag = cli.Int64Flag{
|
|
Name: "monitoring-flag",
|
|
Usage: "Port used to listening and respond metrics for prometheus.",
|
|
Value: 8080,
|
|
}
|
|
// KeystoreDirectoryFlag defines a flag to indicate where the keystore of the user
|
|
// is located.
|
|
KeystoreDirectoryFlag = DirectoryFlag{
|
|
Name: "keystore-dir",
|
|
Usage: "Keystore directory indicates which directory the keystore is located.",
|
|
}
|
|
// KeystorePasswordFlag defines the password that will unlock the keystore file.
|
|
KeystorePasswordFlag = cli.StringFlag{
|
|
Name: "keystore-password",
|
|
Usage: "Keystore password is used to unlock the keystore so that the users decrypted keys can be used.",
|
|
}
|
|
// BootstrapNode tells the beacon node which bootstrap node to connect to
|
|
BootstrapNode = cli.StringFlag{
|
|
Name: "bootstrap-node",
|
|
Usage: "The address of bootstrap node. Beacon node will connect for peer discovery via DHT",
|
|
}
|
|
)
|