31 Commits

Author SHA1 Message Date
6a35c083ad update wrapper for latest micro
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-07-21 16:37:51 +03:00
874552803e update for latest micro
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-04-28 01:13:08 +03:00
Renovate Bot
e4b207de2a Update module github.com/unistack-org/micro/v3 to v3.3.16 2021-04-20 12:28:23 +00:00
Renovate Bot
8d07b2df97 Update module github.com/unistack-org/micro/v3 to v3.3.15 2021-04-19 14:42:27 +00:00
Renovate Bot
6a41fc290a Update module github.com/unistack-org/micro/v3 to v3.3.14 2021-04-19 02:08:32 +00:00
Renovate Bot
da3ae7f36a Update module github.com/unistack-org/micro/v3 to v3.3.13 2021-04-10 00:56:39 +00:00
Renovate Bot
6e8c62ee7c Update module github.com/unistack-org/micro/v3 to v3.3.11 2021-04-03 09:29:23 +00:00
Renovate Bot
d0903a09d9 Update module github.com/unistack-org/micro/v3 to v3.3.10 2021-04-01 01:18:49 +00:00
Renovate Bot
637056f638 Update module github.com/unistack-org/micro/v3 to v3.3.9 2021-03-30 05:16:10 +00:00
Renovate Bot
b0a35cc7bc Update module github.com/unistack-org/micro/v3 to v3.3.8 2021-03-29 00:46:07 +00:00
Renovate Bot
44f16fe156 Update module github.com/unistack-org/micro/v3 to v3.3.4 2021-03-26 18:44:55 +00:00
Renovate Bot
fd5f71f40c Update module github.com/unistack-org/micro/v3 to v3.3.2 2021-03-25 14:44:51 +00:00
Renovate Bot
63f7c406c4 Update module github.com/unistack-org/micro/v3 to v3.3.1 2021-03-25 01:23:41 +00:00
Renovate Bot
026335ade0 Update module github.com/unistack-org/micro/v3 to v3.3.0 2021-03-24 14:04:17 +00:00
Renovate Bot
4db544153a Update module github.com/unistack-org/micro/v3 to v3.2.26 2021-03-23 18:20:53 +00:00
Renovate Bot
78a83287fa Update module github.com/VictoriaMetrics/metrics to v1.17.2 2021-03-22 16:50:30 +00:00
Renovate Bot
bdf1e8c5f2 Update module github.com/unistack-org/micro/v3 to v3.2.24 2021-03-21 15:28:40 +00:00
Renovate Bot
94ae7b1b17 Update module github.com/VictoriaMetrics/metrics to v1.17.1 2021-03-18 19:05:19 +00:00
Renovate Bot
96ecdd862c Update module github.com/VictoriaMetrics/metrics to v1.17.0 2021-03-18 00:49:03 +00:00
Renovate Bot
821880743c Update module github.com/VictoriaMetrics/metrics to v1.16.0 2021-03-17 18:57:01 +00:00
Renovate Bot
790c5ec04e Update module github.com/unistack-org/micro/v3 to v3.2.23 2021-03-16 19:38:01 +00:00
Renovate Bot
851839a3ad Update module github.com/VictoriaMetrics/metrics to v1.15.3 2021-03-16 12:37:49 +00:00
cd198c9365 update for latest micro
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-03-15 00:57:04 +03:00
Renovate Bot
df9e73d5bf Update module github.com/unistack-org/micro/v3 to v3.2.20 2021-03-06 23:26:32 +00:00
Renovate Bot
70569f7390 Update module github.com/unistack-org/micro/v3 to v3.2.17 2021-03-05 17:52:31 +00:00
Renovate Bot
6f11e67959 Update module github.com/unistack-org/micro/v3 to v3.2.16 2021-03-04 10:50:45 +00:00
Renovate Bot
67544e21d9 Update module github.com/VictoriaMetrics/metrics to v1.15.2 2021-03-01 16:59:29 +00:00
Renovate Bot
22c3cf2342 Update module github.com/unistack-org/micro/v3 to v3.2.15 2021-03-01 13:10:10 +00:00
Renovate Bot
3ac687aa48 Update module github.com/VictoriaMetrics/metrics to v1.15.1 2021-02-28 18:51:01 +00:00
Renovate Bot
0ab12b1197 Update module VictoriaMetrics/metrics to v1.15.0 2021-02-22 00:10:26 +00:00
3c7a336857 update workflows
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2021-02-18 18:45:14 +03:00
8 changed files with 52 additions and 87 deletions

View File

@@ -2,6 +2,7 @@
"extends": [
"config:base"
],
"postUpdateOptions": ["gomodTidy"],
"packageRules": [
{
"matchUpdateTypes": ["minor", "patch", "pin", "digest"],

13
.github/stale.sh vendored
View File

@@ -1,13 +0,0 @@
#!/bin/bash -ex
export PATH=$PATH:$(pwd)/bin
export GO111MODULE=on
export GOBIN=$(pwd)/bin
#go get github.com/rvflash/goup@v0.4.1
#goup -v ./...
#go get github.com/psampaz/go-mod-outdated@v0.6.0
go list -u -m -mod=mod -json all | go-mod-outdated -update -direct -ci || true
#go list -u -m -json all | go-mod-outdated -update

View File

@@ -11,7 +11,7 @@ jobs:
- name: setup
uses: actions/setup-go@v2
with:
go-version: 1.15
go-version: 1.16
- name: checkout
uses: actions/checkout@v2
- name: cache

View File

@@ -11,7 +11,7 @@ jobs:
- name: setup
uses: actions/setup-go@v2
with:
go-version: 1.15
go-version: 1.16
- name: checkout
uses: actions/checkout@v2
- name: cache

6
go.mod
View File

@@ -1,8 +1,8 @@
module github.com/unistack-org/micro-meter-victoriametrics/v3
go 1.13
go 1.16
require (
github.com/VictoriaMetrics/metrics v1.14.0
github.com/unistack-org/micro/v3 v3.2.14
github.com/VictoriaMetrics/metrics v1.17.2
github.com/unistack-org/micro/v3 v3.4.11
)

28
go.sum
View File

@@ -1,32 +1,24 @@
github.com/VictoriaMetrics/metrics v1.14.0 h1:yvyEVo7cPN2Hv+Hrm1zPTA1f/squmEZTq6xtPH/8F64=
github.com/VictoriaMetrics/metrics v1.14.0/go.mod h1:Z1tSfPfngDn12bTfZSCqArT3OPY3u88J12hSoOhuiRE=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/VictoriaMetrics/metrics v1.17.2 h1:9zPJ7DPfxdJWshOGLPLpAtPL0ZZ9AeUyQC3fIqG6Lvo=
github.com/VictoriaMetrics/metrics v1.17.2/go.mod h1:Z1tSfPfngDn12bTfZSCqArT3OPY3u88J12hSoOhuiRE=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/ef-ds/deque v1.0.4/go.mod h1:gXDnTC3yqvBcHbq2lcExjtAcVrOnJCbMcZXmuj8Z4tg=
github.com/go-test/deep v1.0.7/go.mod h1:QV8Hv/iy04NyLBxAdO9njL0iVPN1S4d/A3NVv1V36o8=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs=
github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/heimdalr/dag v1.0.1/go.mod h1:t+ZkR+sjKL4xhlE1B9rwpvwfo+x+2R0363efS+Oghns=
github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/silas/dag v0.0.0-20210121180416-41cf55125c34/go.mod h1:7RTUFBdIRC9nZ7/3RyRNH1bdqIShrDejd1YbLwgPS+I=
github.com/unistack-org/micro/v3 v3.2.14 h1:BD7JR2W0WlJvJgHN3uPWrE/vNAGyxhIQrIODeDCfoSk=
github.com/unistack-org/micro/v3 v3.2.14/go.mod h1:3j13mSd/rILNjyP0tEVtDxyDkJBtnHUXShNCuPHkC5A=
github.com/unistack-org/micro/v3 v3.4.11 h1:WIqUeRN+awVMzTFNeCPx67sSMP3YuXugLmO9qkn8e7g=
github.com/unistack-org/micro/v3 v3.4.11/go.mod h1:1ZkwpEqpiHiVhM2hiF9DamtpsF04oFybFhEQ4zEMcro=
github.com/valyala/fastrand v1.0.0 h1:LUKT9aKer2dVQNUi3waewTbKV+7H17kvWFNKs2ObdkI=
github.com/valyala/fastrand v1.0.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ=
github.com/valyala/histogram v1.1.2 h1:vOk5VrGjMBIoPR5k6wA8vBaC8toeJ8XO0yfRjFEc1h8=
github.com/valyala/histogram v1.1.2/go.mod h1:CZAr6gK9dbD7hYx2s8WSPh0p5x5wETjC+2b3PJVtEdg=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210510120150-4163338589ed/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=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

View File

@@ -2,7 +2,6 @@ package victoriametrics
import (
"io"
"strings"
"time"
"github.com/VictoriaMetrics/metrics"
@@ -22,70 +21,52 @@ func (r *victoriametricsMeter) Name() string {
return r.opts.Name
}
func (r *victoriametricsMeter) buildName(name string, opts ...meter.Option) string {
var b strings.Builder
options := r.opts
for _, o := range opts {
o(&options)
func (r *victoriametricsMeter) buildName(name string, labels ...string) string {
if len(r.opts.MetricPrefix) > 0 {
name = r.opts.MetricPrefix + name
}
if len(r.opts.LabelPrefix) == 0 {
return meter.BuildName(name, labels...)
}
if len(options.MetricPrefix) > 0 {
_, _ = b.WriteString(options.MetricPrefix)
nlabels := make([]string, len(labels))
copy(nlabels, labels)
for idx := 0; idx <= len(nlabels)/2; idx += 2 {
nlabels[idx] = r.opts.LabelPrefix + nlabels[idx]
}
labelPrefix := false
if len(options.LabelPrefix) > 0 {
labelPrefix = true
}
_, _ = b.WriteString(name)
if options.Labels.Len() > 0 {
_, _ = b.WriteRune('{')
iter := options.Labels.Iter()
var k, v string
for idx := 0; iter.Next(&k, &v); idx++ {
if idx > 0 {
_, _ = b.WriteRune(',')
}
if labelPrefix {
_, _ = b.WriteString(options.LabelPrefix)
}
_, _ = b.WriteString(k)
_, _ = b.WriteString(`="`)
_, _ = b.WriteString(v)
_, _ = b.WriteString(`"`)
}
_, _ = b.WriteRune('}')
}
return b.String()
return meter.BuildName(name, nlabels...)
}
func (r *victoriametricsMeter) Counter(name string, opts ...meter.Option) meter.Counter {
return r.set.GetOrCreateCounter(r.buildName(name, opts...))
func (r *victoriametricsMeter) Counter(name string, labels ...string) meter.Counter {
return r.set.GetOrCreateCounter(r.buildName(name, labels...))
}
func (r *victoriametricsMeter) FloatCounter(name string, opts ...meter.Option) meter.FloatCounter {
return r.set.GetOrCreateFloatCounter(r.buildName(name, opts...))
func (r *victoriametricsMeter) FloatCounter(name string, labels ...string) meter.FloatCounter {
return r.set.GetOrCreateFloatCounter(r.buildName(name, labels...))
}
func (r *victoriametricsMeter) Gauge(name string, f func() float64, opts ...meter.Option) meter.Gauge {
return r.set.GetOrCreateGauge(r.buildName(name, opts...), f)
func (r *victoriametricsMeter) Gauge(name string, f func() float64, labels ...string) meter.Gauge {
return r.set.GetOrCreateGauge(r.buildName(name, labels...), f)
}
func (r *victoriametricsMeter) Histogram(name string, opts ...meter.Option) meter.Histogram {
return r.set.GetOrCreateHistogram(r.buildName(name, opts...))
func (r *victoriametricsMeter) Histogram(name string, labels ...string) meter.Histogram {
return r.set.GetOrCreateHistogram(r.buildName(name, labels...))
}
func (r *victoriametricsMeter) Summary(name string, opts ...meter.Option) meter.Summary {
return r.set.GetOrCreateSummary(r.buildName(name, opts...))
func (r *victoriametricsMeter) Summary(name string, labels ...string) meter.Summary {
return r.set.GetOrCreateSummary(r.buildName(name, labels...))
}
func (r *victoriametricsMeter) SummaryExt(name string, window time.Duration, quantiles []float64, opts ...meter.Option) meter.Summary {
return r.set.GetOrCreateSummaryExt(r.buildName(name, opts...), window, quantiles)
func (r *victoriametricsMeter) SummaryExt(name string, window time.Duration, quantiles []float64, labels ...string) meter.Summary {
return r.set.GetOrCreateSummaryExt(r.buildName(name, labels...), window, quantiles)
}
func (r *victoriametricsMeter) Set(opts ...meter.Option) meter.Meter {
m := &victoriametricsMeter{opts: meter.NewOptions(opts...), set: metrics.NewSet()}
m := &victoriametricsMeter{opts: r.opts}
for _, o := range opts {
o(&m.opts)
}
m.set = metrics.NewSet()
return m
}

View File

@@ -1,6 +1,7 @@
package victoriametrics
import (
"bytes"
"context"
"testing"
@@ -14,14 +15,13 @@ func TestBuildName(t *testing.T) {
m := NewMeter()
im := m.(*victoriametricsMeter)
check := `micro_foo{micro_aaa="b",micro_bar="baz"}`
name := im.buildName("foo", meter.Label("bar", "baz"), meter.Label("aaa", "b"))
name := im.buildName("foo", "bar", "baz", "aaa", "b")
if name != check {
t.Fatalf("metric name error: %s != %s", name, check)
}
cnt := m.Counter("counter", meter.Label("key", "val"))
cnt := m.Counter("counter", "key", "val")
cnt.Inc()
//m.Write(os.Stdout, meter.WriteProcessMetrics(true), meter.WriteFDMetrics(true))
}
func TestWrapper(t *testing.T) {
@@ -44,5 +44,9 @@ func TestWrapper(t *testing.T) {
req := &codec.Frame{}
err := c.Call(ctx, c.NewRequest("svc2", "Service.Method", req), rsp)
_, _ = rsp, err
//m.Write(os.Stdout, meter.WriteProcessMetrics(true), meter.WriteFDMetrics(true))
buf := bytes.NewBuffer(nil)
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())
}
}