Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 7daa927e70 | |||
|  | 54bb7f7acb | 
| @@ -1,5 +1,5 @@ | ||||
| # Micro | ||||
|  | ||||
|  | ||||
| [](https://opensource.org/licenses/Apache-2.0) | ||||
| [](https://pkg.go.dev/go.unistack.org/micro/v4?tab=overview) | ||||
| [](https://git.unistack.org/unistack-org/micro/actions?query=workflow%3Abuild+branch%3Av4+event%3Apush) | ||||
|   | ||||
| @@ -49,9 +49,11 @@ type Meter interface { | ||||
| 	Set(opts ...Option) Meter | ||||
| 	// Histogram get or create histogram | ||||
| 	Histogram(name string, labels ...string) Histogram | ||||
| 	// HistogramExt get or create histogram with specified quantiles | ||||
| 	HistogramExt(name string, quantiles []float64, labels ...string) Histogram | ||||
| 	// Summary get or create summary | ||||
| 	Summary(name string, labels ...string) Summary | ||||
| 	// SummaryExt get or create summary with spcified quantiles and window time | ||||
| 	// SummaryExt get or create summary with specified quantiles and window time | ||||
| 	SummaryExt(name string, window time.Duration, quantiles []float64, labels ...string) Summary | ||||
| 	// Write writes metrics to io.Writer | ||||
| 	Write(w io.Writer, opts ...Option) error | ||||
|   | ||||
| @@ -70,6 +70,11 @@ func (r *noopMeter) Histogram(_ string, labels ...string) Histogram { | ||||
| 	return &noopHistogram{labels: labels} | ||||
| } | ||||
|  | ||||
| // HistogramExt implements the Meter interface | ||||
| func (r *noopMeter) HistogramExt(_ string, quantiles []float64, labels ...string) Histogram { | ||||
| 	return &noopHistogram{labels: labels} | ||||
| } | ||||
|  | ||||
| // Set implements the Meter interface | ||||
| func (r *noopMeter) Set(opts ...Option) Meter { | ||||
| 	m := &noopMeter{opts: r.opts} | ||||
|   | ||||
| @@ -4,6 +4,8 @@ import ( | ||||
| 	"context" | ||||
| ) | ||||
|  | ||||
| var DefaultQuantiles = []float64{.005, .01, .025, .05, .1, .25, .5, 1, 2.5, 5, 10} | ||||
|  | ||||
| // Option powers the configuration for metrics implementations: | ||||
| type Option func(*Options) | ||||
|  | ||||
| @@ -23,6 +25,8 @@ type Options struct { | ||||
| 	WriteProcessMetrics bool | ||||
| 	// WriteFDMetrics flag to write fd metrics | ||||
| 	WriteFDMetrics bool | ||||
| 	// Quantiles specifies buckets for histogram | ||||
| 	Quantiles []float64 | ||||
| } | ||||
|  | ||||
| // NewOptions prepares a set of options: | ||||
| @@ -61,14 +65,12 @@ func Address(value string) Option { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| /* | ||||
| // TimingObjectives defines the desired spread of statistics for histogram / timing metrics: | ||||
| func TimingObjectives(value map[float64]float64) Option { | ||||
| // Quantiles defines the desired spread of statistics for histogram metrics: | ||||
| func Quantiles(quantiles []float64) Option { | ||||
| 	return func(o *Options) { | ||||
| 		o.TimingObjectives = value | ||||
| 		o.Quantiles = quantiles | ||||
| 	} | ||||
| } | ||||
| */ | ||||
|  | ||||
| // Labels add the meter labels | ||||
| func Labels(ls ...string) Option { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user