mirror of
https://github.com/hibiken/asynqmon.git
synced 2025-09-22 06:46:34 +08:00
Add option to specify prometheus server address
This commit is contained in:
@@ -33,6 +33,7 @@ var (
|
|||||||
flagMaxPayloadLength int
|
flagMaxPayloadLength int
|
||||||
flagMaxResultLength int
|
flagMaxResultLength int
|
||||||
flagEnableMetricsExporter bool
|
flagEnableMetricsExporter bool
|
||||||
|
flagPrometheusServerAddr string
|
||||||
)
|
)
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
@@ -47,6 +48,7 @@ func init() {
|
|||||||
flag.IntVar(&flagMaxPayloadLength, "max-payload-length", getEnvOrDefaultInt("MAX_PAYLOAD_LENGTH", 200), "maximum number of utf8 characters printed in the payload cell in the Web UI")
|
flag.IntVar(&flagMaxPayloadLength, "max-payload-length", getEnvOrDefaultInt("MAX_PAYLOAD_LENGTH", 200), "maximum number of utf8 characters printed in the payload cell in the Web UI")
|
||||||
flag.IntVar(&flagMaxResultLength, "max-result-length", getEnvOrDefaultInt("MAX_RESULT_LENGTH", 200), "maximum number of utf8 characters printed in the result cell in the Web UI")
|
flag.IntVar(&flagMaxResultLength, "max-result-length", getEnvOrDefaultInt("MAX_RESULT_LENGTH", 200), "maximum number of utf8 characters printed in the result cell in the Web UI")
|
||||||
flag.BoolVar(&flagEnableMetricsExporter, "enable-metrics-exporter", getEnvOrDefaultBool("ENABLE_METRICS_EXPORTER", false), "enable prometheus metrics exporter to expose queue metrics")
|
flag.BoolVar(&flagEnableMetricsExporter, "enable-metrics-exporter", getEnvOrDefaultBool("ENABLE_METRICS_EXPORTER", false), "enable prometheus metrics exporter to expose queue metrics")
|
||||||
|
flag.StringVar(&flagPrometheusServerAddr, "prometheus-server-addr", getEnvDefaultString("PROMETHEUS_SERVER_ADDR", ""), "address of prometheus server to query time series")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Write test and refactor this code.
|
// TODO: Write test and refactor this code.
|
||||||
@@ -108,9 +110,10 @@ func main() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
h := asynqmon.New(asynqmon.Options{
|
h := asynqmon.New(asynqmon.Options{
|
||||||
RedisConnOpt: redisConnOpt,
|
RedisConnOpt: redisConnOpt,
|
||||||
PayloadFormatter: asynqmon.PayloadFormatterFunc(formatPayload),
|
PayloadFormatter: asynqmon.PayloadFormatterFunc(formatPayload),
|
||||||
ResultFormatter: asynqmon.ResultFormatterFunc(formatResult),
|
ResultFormatter: asynqmon.ResultFormatterFunc(formatResult),
|
||||||
|
PrometheusAddress: flagPrometheusServerAddr,
|
||||||
})
|
})
|
||||||
defer h.Close()
|
defer h.Close()
|
||||||
|
|
||||||
|
@@ -34,6 +34,12 @@ type Options struct {
|
|||||||
//
|
//
|
||||||
// This field is optional.
|
// This field is optional.
|
||||||
ResultFormatter ResultFormatter
|
ResultFormatter ResultFormatter
|
||||||
|
|
||||||
|
// PrometheusAddress specifies the address of the Prometheus to connect to.
|
||||||
|
//
|
||||||
|
// This field is optional. If this field is set, asynqmon will query the Prometheus server
|
||||||
|
// to get the time series data about queue metrics and show them in the web UI.
|
||||||
|
PrometheusAddress string
|
||||||
}
|
}
|
||||||
|
|
||||||
// HTTPHandler is a http.Handler for asynqmon application.
|
// HTTPHandler is a http.Handler for asynqmon application.
|
||||||
|
Reference in New Issue
Block a user