Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to jaeger-lib 2 and latest sha for jaeger-client-go, to pick u… #1282

Merged
merged 4 commits into from
Jan 17, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -81,11 +81,11 @@ required = [

[[constraint]]
name = "github.com/uber/jaeger-client-go"
version = "^2.15.0"
revision = "cd507787f07ecb833e0f2df888e074f45a0dca74"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

has the client been updated to use lib v2? If no is it a problem?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Then could we pin this to a version rather than a commit?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thanks for the pointer. It's all good


[[constraint]]
name = "github.com/uber/jaeger-lib"
version = "^1.5.0"
version = "^2.0.0"

[[constraint]]
name = "github.com/uber/tchannel-go"
Expand Down
4 changes: 2 additions & 2 deletions cmd/agent/app/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -141,10 +141,10 @@ func (b *Builder) getProcessors(rep reporter.Reporter, mFactory metrics.Factory,
default:
return nil, fmt.Errorf("cannot find agent processor for data model %v", cfg.Model)
}
metrics := mFactory.Namespace("", map[string]string{
metrics := mFactory.Namespace(metrics.NSOptions{Name: "", Tags: map[string]string{
"protocol": string(cfg.Protocol),
"model": string(cfg.Model),
})
}})
processor, err := cfg.GetThriftProcessor(metrics, protoFactory, handler, logger)
if err != nil {
return nil, err
Expand Down
13 changes: 6 additions & 7 deletions cmd/agent/app/configmanager/metrics_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/uber/jaeger-lib/metrics"
mTestutils "github.com/uber/jaeger-lib/metrics/testutils"
"github.com/uber/jaeger-lib/metrics/metricstest"

"github.com/jaegertracing/jaeger/thrift-gen/baggage"
"github.com/jaegertracing/jaeger/thrift-gen/sampling"
Expand All @@ -46,16 +45,16 @@ func (noopManager) GetBaggageRestrictions(s string) ([]*baggage.BaggageRestricti

func TestMetrics(t *testing.T) {
tests := []struct {
expected []mTestutils.ExpectedMetric
expected []metricstest.ExpectedMetric
err error
}{
{expected: []mTestutils.ExpectedMetric{
{expected: []metricstest.ExpectedMetric{
{Name: "collector-proxy", Tags: map[string]string{"result": "ok", "endpoint": "sampling"}, Value: 1},
{Name: "collector-proxy", Tags: map[string]string{"result": "err", "endpoint": "sampling"}, Value: 0},
{Name: "collector-proxy", Tags: map[string]string{"result": "ok", "endpoint": "baggage"}, Value: 1},
{Name: "collector-proxy", Tags: map[string]string{"result": "err", "endpoint": "baggage"}, Value: 0},
}},
{expected: []mTestutils.ExpectedMetric{
{expected: []metricstest.ExpectedMetric{
{Name: "collector-proxy", Tags: map[string]string{"result": "ok", "endpoint": "sampling"}, Value: 0},
{Name: "collector-proxy", Tags: map[string]string{"result": "err", "endpoint": "sampling"}, Value: 1},
{Name: "collector-proxy", Tags: map[string]string{"result": "ok", "endpoint": "baggage"}, Value: 0},
Expand All @@ -64,7 +63,7 @@ func TestMetrics(t *testing.T) {
}

for _, test := range tests {
metricsFactory := metrics.NewLocalFactory(time.Microsecond)
metricsFactory := metricstest.NewFactory(time.Microsecond)
mgr := WrapWithMetrics(&noopManager{}, metricsFactory)

if test.err != nil {
Expand All @@ -82,6 +81,6 @@ func TestMetrics(t *testing.T) {
require.NoError(t, err)
require.NotNil(t, b)
}
mTestutils.AssertCounterMetrics(t, metricsFactory, test.expected...)
metricsFactory.AssertCounterMetrics(t, test.expected...)
}
}
34 changes: 16 additions & 18 deletions cmd/agent/app/httpserver/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,17 +25,15 @@ import (

"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/uber/jaeger-lib/metrics"
"github.com/uber/jaeger-lib/metrics/testutils"
mTestutils "github.com/uber/jaeger-lib/metrics/testutils"
"github.com/uber/jaeger-lib/metrics/metricstest"

tSampling092 "github.com/jaegertracing/jaeger/cmd/agent/app/httpserver/thrift-0.9.2"
"github.com/jaegertracing/jaeger/thrift-gen/baggage"
"github.com/jaegertracing/jaeger/thrift-gen/sampling"
)

type testServer struct {
metricsFactory *metrics.LocalFactory
metricsFactory *metricstest.Factory
mgr *mockManager
server *httptest.Server
}
Expand All @@ -45,7 +43,7 @@ func withServer(
mockBaggageResponse []*baggage.BaggageRestriction,
runTest func(server *testServer),
) {
metricsFactory := metrics.NewLocalFactory(0)
metricsFactory := metricstest.NewFactory(0)
mgr := &mockManager{
samplingResponse: mockSamplingResponse,
baggageResponse: mockBaggageResponse,
Expand Down Expand Up @@ -100,7 +98,7 @@ func TestHTTPHandler(t *testing.T) {
})

// handler must emit metrics
testutils.AssertCounterMetrics(t, ts.metricsFactory, []testutils.ExpectedMetric{
ts.metricsFactory.AssertCounterMetrics(t, []metricstest.ExpectedMetric{
{Name: "http-server.requests", Tags: map[string]string{"type": "sampling"}, Value: 1},
{Name: "http-server.requests", Tags: map[string]string{"type": "sampling-legacy"}, Value: 1},
{Name: "http-server.requests", Tags: map[string]string{"type": "baggage"}, Value: 1},
Expand All @@ -116,14 +114,14 @@ func TestHTTPHandlerErrors(t *testing.T) {
url string
statusCode int
body string
metrics []mTestutils.ExpectedMetric
metrics []metricstest.ExpectedMetric
}{
{
description: "no service name",
url: "",
statusCode: http.StatusBadRequest,
body: "'service' parameter must be provided once\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "all", "status": "4xx"}, Value: 1},
},
},
Expand All @@ -132,7 +130,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
url: "?service=Y&service=Y",
statusCode: http.StatusBadRequest,
body: "'service' parameter must be provided once\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "all", "status": "4xx"}, Value: 1},
},
},
Expand All @@ -141,7 +139,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
url: "/baggageRestrictions?service=Y&service=Y",
statusCode: http.StatusBadRequest,
body: "'service' parameter must be provided once\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "all", "status": "4xx"}, Value: 1},
},
},
Expand All @@ -150,7 +148,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
url: "?service=Y",
statusCode: http.StatusInternalServerError,
body: "collector error: no mock response provided\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "collector-proxy", "status": "5xx"}, Value: 1},
},
},
Expand All @@ -159,7 +157,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
url: "/baggageRestrictions?service=Y",
statusCode: http.StatusInternalServerError,
body: "collector error: no mock response provided\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "collector-proxy", "status": "5xx"}, Value: 1},
},
},
Expand All @@ -169,7 +167,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
url: "?service=Y",
statusCode: http.StatusInternalServerError,
body: "Cannot marshall Thrift to JSON\n",
metrics: []mTestutils.ExpectedMetric{
metrics: []metricstest.ExpectedMetric{
{Name: "http-server.errors", Tags: map[string]string{"source": "thrift", "status": "5xx"}, Value: 1},
},
},
Expand All @@ -188,7 +186,7 @@ func TestHTTPHandlerErrors(t *testing.T) {
}

if len(testCase.metrics) > 0 {
mTestutils.AssertCounterMetrics(t, ts.metricsFactory, testCase.metrics...)
ts.metricsFactory.AssertCounterMetrics(t, testCase.metrics...)
}
})
})
Expand All @@ -202,14 +200,14 @@ func TestHTTPHandlerErrors(t *testing.T) {
w := &mockWriter{header: make(http.Header)}
handler.serveSamplingHTTP(w, req, false)

mTestutils.AssertCounterMetrics(t, ts.metricsFactory,
mTestutils.ExpectedMetric{Name: "http-server.errors", Tags: map[string]string{"source": "write", "status": "5xx"}, Value: 1})
ts.metricsFactory.AssertCounterMetrics(t,
metricstest.ExpectedMetric{Name: "http-server.errors", Tags: map[string]string{"source": "write", "status": "5xx"}, Value: 1})

req = httptest.NewRequest("GET", "http://localhost:80/baggageRestrictions?service=X", nil)
handler.serveBaggageHTTP(w, req)

mTestutils.AssertCounterMetrics(t, ts.metricsFactory,
mTestutils.ExpectedMetric{Name: "http-server.errors", Tags: map[string]string{"source": "write", "status": "5xx"}, Value: 2})
ts.metricsFactory.AssertCounterMetrics(t,
metricstest.ExpectedMetric{Name: "http-server.errors", Tags: map[string]string{"source": "write", "status": "5xx"}, Value: 2})
})
})
}
Expand Down
20 changes: 10 additions & 10 deletions cmd/agent/app/processors/thrift_processor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"github.com/uber/jaeger-lib/metrics"
mTestutils "github.com/uber/jaeger-lib/metrics/testutils"
"github.com/uber/jaeger-lib/metrics/metricstest"
"go.uber.org/zap"

"github.com/jaegertracing/jaeger/cmd/agent/app/reporter"
Expand Down Expand Up @@ -75,7 +75,7 @@ func createProcessor(t *testing.T, mFactory metrics.Factory, tFactory thrift.TPr
return transport.Addr().String(), processor
}

func initCollectorAndReporter(t *testing.T) (*metrics.LocalFactory, *testutils.MockTCollector, reporter.Reporter) {
func initCollectorAndReporter(t *testing.T) (*metricstest.Factory, *testutils.MockTCollector, reporter.Reporter) {
metricsFactory, collector := testutils.InitMockCollector(t)
reporter := reporter.WrapWithMetrics(tchreporter.New("jaeger-collector", collector.Channel, time.Second, nil, zap.NewNop()), metricsFactory)
return metricsFactory, collector, reporter
Expand Down Expand Up @@ -115,7 +115,7 @@ func (h failingHandler) Process(iprot, oprot thrift.TProtocol) (success bool, er
}

func TestProcessor_HandlerError(t *testing.T) {
metricsFactory := metrics.NewLocalFactory(0)
metricsFactory := metricstest.NewFactory(0)

handler := failingHandler{err: errors.New("doh")}

Expand All @@ -137,9 +137,9 @@ func TestProcessor_HandlerError(t *testing.T) {
time.Sleep(time.Millisecond)
}

mTestutils.AssertCounterMetrics(t, metricsFactory,
mTestutils.ExpectedMetric{Name: "thrift.udp.t-processor.handler-errors", Value: 1},
mTestutils.ExpectedMetric{Name: "thrift.udp.server.packets.processed", Value: 1},
metricsFactory.AssertCounterMetrics(t,
metricstest.ExpectedMetric{Name: "thrift.udp.t-processor.handler-errors", Value: 1},
metricstest.ExpectedMetric{Name: "thrift.udp.server.packets.processed", Value: 1},
)
}

Expand Down Expand Up @@ -170,7 +170,7 @@ func TestJaegerProcessor(t *testing.T) {
}
}

func assertJaegerProcessorCorrectness(t *testing.T, collector *testutils.MockTCollector, metricsFactory *metrics.LocalFactory) {
func assertJaegerProcessorCorrectness(t *testing.T, collector *testutils.MockTCollector, metricsFactory *metricstest.Factory) {
sizeF := func() int {
return len(collector.GetJaegerBatches())
}
Expand All @@ -180,7 +180,7 @@ func assertJaegerProcessorCorrectness(t *testing.T, collector *testutils.MockTCo
assertProcessorCorrectness(t, metricsFactory, sizeF, nameF, "jaeger")
}

func assertZipkinProcessorCorrectness(t *testing.T, collector *testutils.MockTCollector, metricsFactory *metrics.LocalFactory) {
func assertZipkinProcessorCorrectness(t *testing.T, collector *testutils.MockTCollector, metricsFactory *metricstest.Factory) {
sizeF := func() int {
return len(collector.GetZipkinSpans())
}
Expand All @@ -192,7 +192,7 @@ func assertZipkinProcessorCorrectness(t *testing.T, collector *testutils.MockTCo

func assertProcessorCorrectness(
t *testing.T,
metricsFactory *metrics.LocalFactory,
metricsFactory *metricstest.Factory,
sizeF func() int,
nameF func() string,
format string,
Expand All @@ -218,7 +218,7 @@ func assertProcessorCorrectness(
}

// agentReporter must emit metrics
mTestutils.AssertCounterMetrics(t, metricsFactory, []mTestutils.ExpectedMetric{
metricsFactory.AssertCounterMetrics(t, []metricstest.ExpectedMetric{
{Name: "reporter.batches.submitted", Tags: map[string]string{"format": format}, Value: 1},
{Name: "reporter.spans.submitted", Tags: map[string]string{"format": format}, Value: 1},
{Name: "thrift.udp.server.packets.processed", Value: 1},
Expand Down
2 changes: 1 addition & 1 deletion cmd/agent/app/reporter/grpc/collector_proxy.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ func NewCollectorProxy(o *Options, mFactory metrics.Factory, logger *zap.Logger)
// It does not return error if the collector is not running
conn, _ = grpc.Dial(o.CollectorHostPort[0], grpc.WithInsecure())
}
grpcMetrics := mFactory.Namespace("", map[string]string{"protocol": "grpc"})
grpcMetrics := mFactory.Namespace(metrics.NSOptions{Name: "", Tags: map[string]string{"protocol": "grpc"}})
return &ProxyBuilder{
conn: conn,
reporter: aReporter.WrapWithMetrics(NewReporter(conn, logger), grpcMetrics),
Expand Down
3 changes: 2 additions & 1 deletion cmd/agent/app/reporter/grpc/collector_proxy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/uber/jaeger-lib/metrics"
"go.uber.org/zap"
"google.golang.org/grpc"
"github.com/uber/jaeger-lib/metrics/metricstest"

"github.com/jaegertracing/jaeger/proto-gen/api_v2"
"github.com/jaegertracing/jaeger/thrift-gen/jaeger"
Expand Down Expand Up @@ -57,7 +58,7 @@ func TestMultipleCollectors(t *testing.T) {
})
defer s2.Stop()

mFactory := metrics.NewLocalFactory(time.Microsecond)
mFactory := metricstest.NewFactory(time.Microsecond)
proxy, err := NewCollectorProxy(&Options{CollectorHostPort: []string{addr1.String(), addr2.String()}}, mFactory, zap.NewNop())
require.NoError(t, err)
require.NotNil(t, proxy)
Expand Down
2 changes: 1 addition & 1 deletion cmd/agent/app/reporter/metrics.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ func WrapWithMetrics(reporter Reporter, mFactory metrics.Factory) *MetricsReport
batchesMetrics := map[string]batchMetrics{}
for _, s := range []string{zipkinBatches, jaegerBatches} {
bm := batchMetrics{}
metrics.Init(&bm, mFactory.Namespace("reporter", map[string]string{"format": s}), nil)
metrics.Init(&bm, mFactory.Namespace(metrics.NSOptions{Name: "reporter", Tags: map[string]string{"format": s}}), nil)
batchesMetrics[s] = bm
}
return &MetricsReporter{wrapped: reporter, metrics: batchesMetrics}
Expand Down
Loading