Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
ab247ef9c6 | |||
28ebe788da |
2
go.mod
2
go.mod
@@ -4,5 +4,5 @@ go 1.16
|
||||
|
||||
require (
|
||||
github.com/VictoriaMetrics/metrics v1.18.0
|
||||
go.unistack.org/micro/v3 v3.8.0
|
||||
go.unistack.org/micro/v3 v3.8.2
|
||||
)
|
||||
|
4
go.sum
4
go.sum
@@ -15,8 +15,8 @@ github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G
|
||||
github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
|
||||
github.com/valyala/histogram v1.2.0 h1:wyYGAZZt3CpwUiIb9AU/Zbllg1llXyrtApRS815OLoQ=
|
||||
github.com/valyala/histogram v1.2.0/go.mod h1:Hb4kBwb4UxsaNbbbh+RRz8ZR6pdodR57tzWUS3BUzXY=
|
||||
go.unistack.org/micro/v3 v3.8.0 h1:9k6C40xdJf65VW6cVB8sOJVSJhyz1UfFOhX7/II2ivo=
|
||||
go.unistack.org/micro/v3 v3.8.0/go.mod h1:Tkteri0wiiybbH6aPqay26pZHFIAwL9LXJc2x1Jkakk=
|
||||
go.unistack.org/micro/v3 v3.8.2 h1:q2j+J7PLRNnENUbsi9eIrPwe4GM+vrxY656NwkwEmew=
|
||||
go.unistack.org/micro/v3 v3.8.2/go.mod h1:Tkteri0wiiybbH6aPqay26pZHFIAwL9LXJc2x1Jkakk=
|
||||
golang.org/x/net v0.0.0-20210928044308-7d9f5e0b762b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
|
@@ -21,24 +21,36 @@ func (r *victoriametricsMeter) Name() string {
|
||||
return r.opts.Name
|
||||
}
|
||||
|
||||
func (r *victoriametricsMeter) Clone(opts ...meter.Option) meter.Meter {
|
||||
options := r.opts
|
||||
for _, o := range opts {
|
||||
o(&options)
|
||||
}
|
||||
return &victoriametricsMeter{set: r.set, opts: options}
|
||||
}
|
||||
|
||||
func (r *victoriametricsMeter) buildName(name string, labels ...string) string {
|
||||
if len(r.opts.MetricPrefix) > 0 {
|
||||
name = r.opts.MetricPrefix + name
|
||||
}
|
||||
|
||||
if len(labels) == 0 {
|
||||
nl := len(r.opts.Labels) + len(labels)
|
||||
if nl == 0 {
|
||||
return name
|
||||
}
|
||||
|
||||
nlabels := make([]string, 0, nl)
|
||||
nlabels = append(nlabels, r.opts.Labels...)
|
||||
nlabels = append(nlabels, labels...)
|
||||
|
||||
if len(r.opts.LabelPrefix) == 0 {
|
||||
return meter.BuildName(name, labels...)
|
||||
return meter.BuildName(name, nlabels...)
|
||||
}
|
||||
|
||||
nlabels := make([]string, len(labels))
|
||||
copy(nlabels, labels)
|
||||
for idx := 0; idx <= len(nlabels)/2; idx += 2 {
|
||||
nlabels[idx] = r.opts.LabelPrefix + nlabels[idx]
|
||||
}
|
||||
|
||||
return meter.BuildName(name, nlabels...)
|
||||
}
|
||||
|
||||
|
@@ -25,7 +25,7 @@ func TestBuildName(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestWrapper(t *testing.T) {
|
||||
m := NewMeter()
|
||||
m := NewMeter() // meter.Labels("test_key", "test_val"))
|
||||
|
||||
w := wrapper.NewClientWrapper(
|
||||
wrapper.ServiceName("svc1"),
|
||||
@@ -45,7 +45,7 @@ func TestWrapper(t *testing.T) {
|
||||
err := c.Call(ctx, c.NewRequest("svc2", "Service.Method", req), rsp)
|
||||
_, _ = rsp, err
|
||||
buf := bytes.NewBuffer(nil)
|
||||
m.Write(buf, meter.WriteProcessMetrics(false), meter.WriteFDMetrics(false))
|
||||
_ = m.Write(buf, meter.WriteProcessMetrics(false), meter.WriteFDMetrics(false))
|
||||
if !bytes.Contains(buf.Bytes(), []byte(`micro_client_request_inflight{micro_endpoint="svc2.Service.Method"} 0`)) {
|
||||
t.Fatalf("invalid metrics output: %s", buf.Bytes())
|
||||
}
|
||||
|
Reference in New Issue
Block a user