|
- package redisprom
-
- type (
- // Options represents options to customize the exported metrics.
- Options struct {
- InstanceName string
- Namespace string
- DurationBuckets []float64
- }
-
- Option func(*Options)
- )
-
- // DefaultOptions returns the default options.
- func DefaultOptions() *Options {
- return &Options{
- InstanceName: "unnamed",
- Namespace: "",
- DurationBuckets: []float64{.001, .005, .01, .025, .05, .1, .25, .5, 1},
- }
- }
-
- func (options *Options) Merge(opts ...Option) {
- for _, opt := range opts {
- opt(options)
- }
- }
-
- // WithInstanceName sets the name of the Redis instance.
- func WithInstanceName(name string) Option {
- return func(options *Options) {
- options.InstanceName = name
- }
- }
-
- // WithNamespace sets the namespace of all metrics.
- func WithNamespace(namespace string) Option {
- return func(options *Options) {
- options.Namespace = namespace
- }
- }
-
- // WithDurationBuckets sets the duration buckets of single commands metrics.
- func WithDurationBuckets(buckets []float64) Option {
- return func(options *Options) {
- options.DurationBuckets = buckets
- }
- }
|