Skip to content

Commit

Permalink
Merge branch 'main' into depAliases
Browse files Browse the repository at this point in the history
  • Loading branch information
frittentheke authored Jan 12, 2022
2 parents c4b7595 + 50764f9 commit 7a0da46
Show file tree
Hide file tree
Showing 39 changed files with 295 additions and 168 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/ci-all-in-one-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ jobs:
with:
go-version: ^1.17

- uses: actions/setup-node@v2.5.0
- uses: actions/setup-node@v2.5.1
with:
node-version: '10'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
with:
go-version: ^1.17

- uses: actions/setup-node@v2.5.0
- uses: actions/setup-node@v2.5.1
with:
node-version: '10'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
with:
go-version: ^1.17

- uses: actions/setup-node@v2.5.0
- uses: actions/setup-node@v2.5.1
with:
node-version: '10'

Expand Down
2 changes: 2 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
[submodule "idl"]
path = idl
url = https://github.com/jaegertracing/jaeger-idl.git
branch = main
[submodule "jaeger-ui"]
path = jaeger-ui
url = https://github.com/jaegertracing/jaeger-ui.git
branch = main
24 changes: 24 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,34 @@ Changes by Version
next release
-------------------
### Backend Changes

#### Breaking Changes

### UI Changes

#### New Features

#### Bug fixes, Minor Improvements

1.30.0 (2022-01-11)
-------------------
### Backend Changes

#### New Features

* Add remote gRPC option for storage plugin ([@cevian](https://github.com/cevian) in [#3383](https://github.com/jaegertracing/jaeger/pull/3383))
* Build binaries for darwin/arm64 ([@jhchabran](https://github.com/jhchabran) in [#3431](https://github.com/jaegertracing/jaeger/pull/3431))
* Add MaxConnectionAge[Grace] to collector's gRPC server ([@jpkrohling](https://github.com/jpkrohling) in [#3422](https://github.com/jaegertracing/jaeger/pull/3422))

#### Bug fixes, Minor Improvements

* Fix prefixed index rollover ([@albertteoh](https://github.com/albertteoh) in [#3457](https://github.com/jaegertracing/jaeger/pull/3457))
* Log problems communicating with Elasticsearch ([@esnible](https://github.com/esnible) in [#3451](https://github.com/jaegertracing/jaeger/pull/3451))

### UI Changes

* UI pinned to version 1.20.0. The changelog is available here [v1.20.0](https://github.com/jaegertracing/jaeger-ui/blob/main/CHANGELOG.md#v1200-jan-11-2022)

1.29.0 (2021-12-01)
-------------------
### Backend Changes
Expand Down
23 changes: 7 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
<img align="right" width="290" height="290" src="https://www.jaegertracing.io/img/jaeger-vector.svg">


[![Slack chat][slack-img]](#get-in-touch)
[![Project+Community stats][community-badge]][community-stats]
[![OpenTracing-1.0][ot-badge]](https://opentracing.io)
[![Mentioned in Awesome Go](https://awesome.re/mentioned-badge-flat.svg)](https://github.com/avelino/awesome-go#performance)
[![Unit Tests][ci-img]][ci]
[![Coverage Status][cov-img]][cov]
[![FOSSA Status][fossa-img]][ci]
Expand All @@ -29,7 +26,7 @@ See also:

* Jaeger [documentation][doc] for getting started, operational details, and other information.
* Blog post [Evolving Distributed Tracing at Uber](https://eng.uber.com/distributed-tracing/).
* Tutorial / walkthrough [Take OpenTracing for a HotROD ride][hotrod-tutorial].
* Tutorial / walkthrough [Take Jaeger for a HotROD ride][hotrod-tutorial].

Jaeger is hosted by the [Cloud Native Computing Foundation](https://cncf.io) (CNCF) as the 7th top-level project (graduated in October 2019). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Jaeger plays a role, read the CNCF [Jaeger incubation announcement](https://www.cncf.io/blog/2017/09/13/cncf-hosts-jaeger/) and [Jaeger graduation announcement](https://www.cncf.io/announcement/2019/10/31/cloud-native-computing-foundation-announces-jaeger-graduation/).

Expand All @@ -53,7 +50,9 @@ Jaeger backend, Web UI, and instrumentation libraries have been designed from th

#### OpenTelemetry

On 28-May-2019, [the OpenTracing and OpenCensus projects announced](https://medium.com/opentracing/merging-opentracing-and-opencensus-f0fe9c7ca6f0) their intention to merge into a new CNCF project called [OpenTelemetry](https://opentelemetry.io). The Jaeger and OpenTelemetry projects have different goals. OpenTelemetry aims to provide APIs and SDKs in multiple languages to allow applications to export various telemetry data out of the process, to any number of metrics and tracing backends. The Jaeger project is primarily the tracing backend that receives tracing telemetry data and provides processing, aggregation, data mining, and visualizations of that data. The Jaeger client libraries do overlap with OpenTelemetry in functionality. OpenTelemetry will natively support Jaeger as a tracing backend and eventually might make Jaeger native clients unnecessary. For more information please refer to a blog post [Jaeger and OpenTelemetry](https://medium.com/jaegertracing/jaeger-and-opentelemetry-1846f701d9f2).
Jaeger project recommends OpenTelemetry SDKs for instrumentation, instead of Jaeger's native SDKs [that are now deprecated](https://www.jaegertracing.io/docs/latest/client-libraries/#deprecating-jaeger-clients).

The OpenTracing and OpenCensus projects have merged into a new CNCF project called [OpenTelemetry](https://opentelemetry.io). The Jaeger and OpenTelemetry projects have different goals. OpenTelemetry aims to provide APIs and SDKs in multiple languages to allow applications to export various telemetry data out of the process, to any number of metrics and tracing backends. The Jaeger project is primarily the tracing backend that receives tracing telemetry data and provides processing, aggregation, data mining, and visualizations of that data. The Jaeger client libraries do overlap with OpenTelemetry in functionality. OpenTelemetry natively supports Jaeger as a tracing backend and makes Jaeger native clients unnecessary. For more information please refer to a blog post [Jaeger and OpenTelemetry](https://medium.com/jaegertracing/jaeger-and-opentelemetry-1846f701d9f2).

### Multiple storage backends

Expand Down Expand Up @@ -86,8 +85,7 @@ Third-party security audits of Jaeger are available in https://github.com/jaeger

### Backwards compatibility with Zipkin

Although we recommend instrumenting applications with OpenTracing API and binding to Jaeger client libraries to benefit
from advanced features not available elsewhere, if your organization has already invested in the instrumentation
Although we recommend instrumenting applications with OpenTelemetry, if your organization has already invested in the instrumentation
using Zipkin libraries, you do not have to rewrite all that code. Jaeger provides backwards compatibility with Zipkin
by accepting spans in Zipkin formats (Thrift or JSON v1/v2) over HTTP. Switching from Zipkin backend is just a matter
of routing the traffic from Zipkin libraries to the Jaeger backend.
Expand Down Expand Up @@ -118,12 +116,7 @@ It may remain deprecated for longer than the aforementioned grace period.

### Instrumentation Libraries

* [Go client](https://github.com/jaegertracing/jaeger-client-go)
* [Java client](https://github.com/jaegertracing/jaeger-client-java)
* [Python client](https://github.com/jaegertracing/jaeger-client-python)
* [Node.js client](https://github.com/jaegertracing/jaeger-client-node)
* [C++ client](https://github.com/jaegertracing/jaeger-client-cpp)
* [C# client](https://github.com/jaegertracing/jaeger-client-csharp)
Jaeger project recommends OpenTelemetry SDKs for instrumentation, instead of Jaeger's native SDKs [that are now deprecated](https://www.jaegertracing.io/docs/latest/client-libraries/#deprecating-jaeger-clients).

### Deployment

Expand All @@ -133,7 +126,6 @@ It may remain deprecated for longer than the aforementioned grace period.

* [UI](https://github.com/jaegertracing/jaeger-ui)
* [Data model](https://github.com/jaegertracing/jaeger-idl)
* [Shared libs](https://github.com/jaegertracing/jaeger-lib)

## Building From Source

Expand Down Expand Up @@ -213,10 +205,9 @@ If you would like to add your organization to the list, please comment on our
[fossa-img]: https://github.com/jaegertracing/jaeger/workflows/FOSSA/badge.svg?branch=main
[dapper]: https://research.google.com/pubs/pub36356.html
[ubeross]: https://uber.github.io
[ot-badge]: https://img.shields.io/badge/OpenTracing--1.x-inside-blue.svg
[community-badge]: https://img.shields.io/badge/Project+Community-stats-blue.svg
[community-stats]: https://all.devstats.cncf.io/d/54/project-health?orgId=1&var-repogroup_name=Jaeger
[hotrod-tutorial]: https://medium.com/@YuriShkuro/take-opentracing-for-a-hotrod-ride-f6e3141f7941
[hotrod-tutorial]: https://medium.com/jaegertracing/take-jaeger-for-a-hotrod-ride-233cf43e46c2
[slack]: https://cloud-native.slack.com/archives/CGG7NFUJ3
[slack-join]: https://slack.cncf.io
[slack-img]: https://img.shields.io/badge/slack-join%20chat%20%E2%86%92-brightgreen?logo=slack
17 changes: 8 additions & 9 deletions RELEASE.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,12 +36,11 @@ In order to ensure that knowledge about releasing Jaeger is spread among maintai

Here are the release managers for future versions with the tentative release dates. The release dates are the first Wednesday of the month, and we might skip a release if not enough changes happened since the previous release. In such case, the next tentative release date is the first Wednesday of the subsequent month.

| Version | Release Manager | Tentative release date |
|-----------|------------------|------------------------|
| 1.29.0 | @jpkrohling | 1 December 2021 |
| 1.30.0 | @pavolloffay | 5 January 2022 |
| 1.31.0 | @vprithvi | 2 February 2022 |
| 1.32.0 | @yurishkuro | 2 March 2022 |
| 1.33.0 | @jpkrohling | 6 April 2022 |
| 1.34.0 | @albertteoh | 4 May 2022 |
| 1.35.0 | @joe-elliott | 1 June 2022 |
| Version | Release Manager | Tentative release date |
|---------|------------------|------------------------|
| 1.31.0 | @vprithvi | 2 February 2022 |
| 1.32.0 | @yurishkuro | 2 March 2022 |
| 1.33.0 | @jpkrohling | 6 April 2022 |
| 1.34.0 | @albertteoh | 4 May 2022 |
| 1.35.0 | @joe-elliott | 1 June 2022 |
| 1.36.0 | @pavolloffay | 6 July 2022 |
5 changes: 3 additions & 2 deletions cmd/agent/app/configmanager/grpc/manager_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"

"github.com/jaegertracing/jaeger/proto-gen/api_v2"
"github.com/jaegertracing/jaeger/thrift-gen/sampling"
Expand All @@ -36,7 +37,7 @@ func TestSamplingManager_GetSamplingStrategy(t *testing.T) {
s, addr := initializeGRPCTestServer(t, func(s *grpc.Server) {
api_v2.RegisterSamplingManagerServer(s, &mockSamplingHandler{})
})
conn, err := grpc.Dial(addr.String(), grpc.WithInsecure())
conn, err := grpc.Dial(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
defer close(t, conn)
require.NoError(t, err)
defer s.GracefulStop()
Expand All @@ -47,7 +48,7 @@ func TestSamplingManager_GetSamplingStrategy(t *testing.T) {
}

func TestSamplingManager_GetSamplingStrategy_error(t *testing.T) {
conn, err := grpc.Dial("foo", grpc.WithInsecure())
conn, err := grpc.Dial("foo", grpc.WithTransportCredentials(insecure.NewCredentials()))
defer close(t, conn)
require.NoError(t, err)
manager := NewConfigManager(conn)
Expand Down
3 changes: 2 additions & 1 deletion cmd/agent/app/processors/thrift_processor_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ import (
"github.com/uber/jaeger-lib/metrics/metricstest"
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"

"github.com/jaegertracing/jaeger/cmd/agent/app/reporter"
grpcrep "github.com/jaegertracing/jaeger/cmd/agent/app/reporter/grpc"
Expand Down Expand Up @@ -80,7 +81,7 @@ func createProcessor(t *testing.T, mFactory metrics.Factory, tFactory thrift.TPr

func initCollectorAndReporter(t *testing.T) (*metricstest.Factory, *testutils.GrpcCollector, reporter.Reporter, *grpc.ClientConn) {
grpcCollector := testutils.StartGRPCCollector(t)
conn, err := grpc.Dial(grpcCollector.Listener().Addr().String(), grpc.WithInsecure())
conn, err := grpc.Dial(grpcCollector.Listener().Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
require.NoError(t, err)
rep := grpcrep.NewReporter(conn, map[string]string{}, zap.NewNop())
metricsFactory := metricstest.NewFactory(0)
Expand Down
5 changes: 3 additions & 2 deletions cmd/agent/app/reporter/grpc/builder.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/connectivity"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/resolver"
"google.golang.org/grpc/resolver/manual"

Expand Down Expand Up @@ -68,7 +69,7 @@ func (b *ConnBuilder) CreateConnection(logger *zap.Logger, mFactory metrics.Fact
dialOptions = append(dialOptions, grpc.WithTransportCredentials(creds))
} else { // insecure connection
logger.Info("Agent requested insecure grpc connection to collector(s)")
dialOptions = append(dialOptions, grpc.WithInsecure())
dialOptions = append(dialOptions, grpc.WithTransportCredentials(insecure.NewCredentials()))
}

if b.Notifier != nil && b.Discoverer != nil {
Expand All @@ -80,7 +81,7 @@ func (b *ConnBuilder) CreateConnection(logger *zap.Logger, mFactory metrics.Fact
return nil, errors.New("at least one collector hostPort address is required when resolver is not available")
}
if len(b.CollectorHostPorts) > 1 {
r := manual.NewBuilderWithScheme("jaeger_manual")
r := manual.NewBuilderWithScheme("jaeger-manual")
dialOptions = append(dialOptions, grpc.WithResolvers(r))
var resolvedAddrs []resolver.Address
for _, addr := range b.CollectorHostPorts {
Expand Down
7 changes: 4 additions & 3 deletions cmd/agent/app/reporter/grpc/reporter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"github.com/stretchr/testify/require"
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"

"github.com/jaegertracing/jaeger/model"
"github.com/jaegertracing/jaeger/proto-gen/api_v2"
Expand Down Expand Up @@ -55,7 +56,7 @@ func TestReporter_EmitZipkinBatch(t *testing.T) {
api_v2.RegisterCollectorServiceServer(s, handler)
})
defer s.Stop()
conn, err := grpc.Dial(addr.String(), grpc.WithInsecure())
conn, err := grpc.Dial(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
//nolint:staticcheck // don't care about errors
defer conn.Close()
require.NoError(t, err)
Expand Down Expand Up @@ -93,7 +94,7 @@ func TestReporter_EmitBatch(t *testing.T) {
api_v2.RegisterCollectorServiceServer(s, handler)
})
defer s.Stop()
conn, err := grpc.Dial(addr.String(), grpc.WithInsecure())
conn, err := grpc.Dial(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
//nolint:staticcheck // don't care about errors
defer conn.Close()
require.NoError(t, err)
Expand All @@ -120,7 +121,7 @@ func TestReporter_EmitBatch(t *testing.T) {
}

func TestReporter_SendFailure(t *testing.T) {
conn, err := grpc.Dial("", grpc.WithInsecure())
conn, err := grpc.Dial("", grpc.WithTransportCredentials(insecure.NewCredentials()))
require.NoError(t, err)
rep := NewReporter(conn, nil, zap.NewNop())
err = rep.send(context.Background(), nil, nil)
Expand Down
3 changes: 2 additions & 1 deletion cmd/anonymizer/app/query/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"time"

"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/status"

"github.com/jaegertracing/jaeger/model"
Expand All @@ -39,7 +40,7 @@ func New(addr string) (*Query, error) {
ctx, cancel := context.WithTimeout(context.Background(), 1*time.Second)
defer cancel()

conn, err := grpc.DialContext(ctx, addr, grpc.WithInsecure())
conn, err := grpc.DialContext(ctx, addr, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
return nil, fmt.Errorf("failed to connect with the jaeger-query service: %w", err)
}
Expand Down
3 changes: 2 additions & 1 deletion cmd/collector/app/handler/grpc_handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/stretchr/testify/require"
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"

"github.com/jaegertracing/jaeger/cmd/collector/app/processor"
"github.com/jaegertracing/jaeger/model"
Expand Down Expand Up @@ -74,7 +75,7 @@ func initializeGRPCTestServer(t *testing.T, beforeServe func(s *grpc.Server)) (*
}

func newClient(t *testing.T, addr net.Addr) (api_v2.CollectorServiceClient, *grpc.ClientConn) {
conn, err := grpc.Dial(addr.String(), grpc.WithInsecure())
conn, err := grpc.Dial(addr.String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
require.NoError(t, err)
return api_v2.NewCollectorServiceClient(conn), conn
}
Expand Down
3 changes: 2 additions & 1 deletion cmd/collector/app/server/grpc_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"go.uber.org/zap/zapcore"
"go.uber.org/zap/zaptest/observer"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/test/bufconn"

"github.com/jaegertracing/jaeger/cmd/collector/app/handler"
Expand Down Expand Up @@ -84,7 +85,7 @@ func TestSpanCollector(t *testing.T) {

serveGRPC(server, listener, params)

conn, err := grpc.Dial(listener.Addr().String(), grpc.WithInsecure())
conn, err := grpc.Dial(listener.Addr().String(), grpc.WithTransportCredentials(insecure.NewCredentials()))
require.NoError(t, err)
defer conn.Close()

Expand Down
3 changes: 3 additions & 0 deletions cmd/es-rollover/app/flags.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ func AddFlags(flags *flag.FlagSet) {
// InitFromViper initializes config from viper.Viper.
func (c *Config) InitFromViper(v *viper.Viper) {
c.IndexPrefix = v.GetString(indexPrefix)
if c.IndexPrefix != "" {
c.IndexPrefix += "-"
}
c.Archive = v.GetBool(archive)
c.Username = v.GetString(username)
c.Password = v.GetString(password)
Expand Down
2 changes: 1 addition & 1 deletion cmd/es-rollover/app/flags_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func TestBindFlags(t *testing.T) {
require.NoError(t, err)

c.InitFromViper(v)
assert.Equal(t, "tenant1", c.IndexPrefix)
assert.Equal(t, "tenant1-", c.IndexPrefix)
assert.Equal(t, true, c.Archive)
assert.Equal(t, 150, c.Timeout)
assert.Equal(t, "admin", c.Username)
Expand Down
4 changes: 2 additions & 2 deletions cmd/es-rollover/app/index_options.go
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ func RolloverIndices(archive bool, prefix string) []IndexOption {
}

func (i *IndexOption) IndexName() string {
return strings.TrimLeft(fmt.Sprintf("%s-%s", i.prefix, i.indexType), "-")
return strings.TrimLeft(fmt.Sprintf("%s%s", i.prefix, i.indexType), "-")
}

// ReadAliasName returns read alias name of the index
Expand All @@ -81,5 +81,5 @@ func (i *IndexOption) InitialRolloverIndex() string {

// TemplateName returns the prefixed template name
func (i *IndexOption) TemplateName() string {
return strings.TrimLeft(fmt.Sprintf("%s-%s", i.prefix, i.Mapping), "-")
return strings.TrimLeft(fmt.Sprintf("%s%s", i.prefix, i.Mapping), "-")
}
3 changes: 3 additions & 0 deletions cmd/es-rollover/app/index_options_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,9 @@ func TestRolloverIndices(t *testing.T) {

for _, test := range tests {
t.Run(test.name, func(t *testing.T) {
if test.prefix != "" {
test.prefix += "-"
}
result := RolloverIndices(test.archive, test.prefix)
for i, r := range result {
assert.Equal(t, test.expected[i].templateName, r.TemplateName())
Expand Down
3 changes: 2 additions & 1 deletion cmd/query/app/apiv3/grpc_gateway.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ import (
"go.uber.org/zap"
"google.golang.org/grpc"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/credentials/insecure"

"github.com/jaegertracing/jaeger/pkg/config/tlscfg"
"github.com/jaegertracing/jaeger/proto-gen/api_v3"
Expand All @@ -49,7 +50,7 @@ func RegisterGRPCGateway(ctx context.Context, logger *zap.Logger, r *mux.Router,
creds := credentials.NewTLS(tlsCfg)
dialOpts = append(dialOpts, grpc.WithTransportCredentials(creds))
} else {
dialOpts = append(dialOpts, grpc.WithInsecure())
dialOpts = append(dialOpts, grpc.WithTransportCredentials(insecure.NewCredentials()))
}
return api_v3.RegisterQueryServiceHandlerFromEndpoint(ctx, grpcGatewayMux, grpcEndpoint, dialOpts)
}
Loading

0 comments on commit 7a0da46

Please sign in to comment.