albertteoh
released this
Backend Changes
Breaking Changes
-
Remove deprecated TLS flags (#2790, @albertteoh):
--cassandra.tls
is replaced by--cassandra.tls.enabled
--cassandra-archive.tls
is replaced by--cassandra-archive.tls.enabled
--collector.grpc.tls
is replaced by--collector.grpc.tls.enabled
--collector.grpc.tls.client.ca
is replaced by--collector.grpc.tls.client-ca
--es.tls
is replaced by--es.tls.enabled
--es-archive.tls
is replaced by--es-archive.tls.enabled
--kafka.consumer.tls
is replaced by--kafka.consumer.tls.enabled
--kafka.producer.tls
is replaced by--kafka.producer.tls.enabled
--reporter.grpc.tls
is replaced by--reporter.grpc.tls.enabled
-
Remove deprecated flags of Query Server
--query.port
and--query.host-port
, please use dedicated HTTP--query.http-server.host-port
(defaults to:16686
) and gRPC--query.grpc-server.host-port
(defaults to:16685
) host-ports flags instead (#2772, @rjs211)- By default, if no flags are set, the query server starts on the dedicated ports. To use common port for gRPC and HTTP endpoints, the host-port flags have to be explicitly set
-
Remove deprecated CLI flags (#2751, @LostLaser):
--collector.http-port
is replaced by--collector.http-server.host-port
--collector.grpc-port
is replaced by--collector.grpc-server.host-port
--collector.zipkin.http-port
is replaced by--collector.zipkin.host-port
-
Remove deprecated flags
--health-check-http-port
&--admin-http-port
, please use--admin.http.host-port
(#2752, @pradeepnnv) -
Remove deprecated flag
--es.max-num-spans
, please use--es.max-doc-count
(#2482, @BernardTolosajr) -
Remove deprecated flag
--jaeger.tags
, please use--agent.tags
(#2753, @yurishkuro) -
Remove deprecated Cassandra flags (#2789, @albertteoh):
--cassandra.enable-dependencies-v2
- Jaeger will automatically detect the version of the dependencies table--cassandra.tls.verify-host
- please use--cassandra.tls.skip-host-verify
instead
-
Remove incorrectly scoped downsample flags from the query service (#2782, @joe-elliott)
--downsampling.hashsalt
removed from jaeger-query--downsampling.ratio
removed from jaeger-query
New Features
-
Add TLS Support for gRPC and HTTP endpoints of the Query and Collector servers (#2337, #2772, #2798, @rjs211)
- If TLS in enabled on either or both of gRPC or HTTP endpoints, the gRPC host-port and the HTTP host-port have to be different
- If TLS is disabled on both endpoints, common HTTP and gRPC host-port can be explicitly set using the following host-port flags respectively:
- Query:
--query.http-server.host-port
and--query.grpc-server.host-port
- Collector:
--collector.http-server.host-port
and--collector.grpc-server.host-port
- Query:
-
Add support for Kafka SASL/PLAIN authentication via SCRAM-SHA-256 or SCRAM-SHA-512 mechanism (#2724, @WalkerWang731)
-
[agent] Add metrics to show connections status between agent and collectors (#2657, @WalkerWang731)
-
Add plaintext as a supported kafka auth option (#2721, @pdepaepe)
-
Add ability to use JS file for UI configuration (#123 from jaeger-ui) (#2707, @th3M1ke)
-
Support Elasticsearch ILM for managing jaeger indices (#2796, @bhiravabhatla)
-
Push official images to quay.io, in addition to Docker Hub (#2783, @Ashmita152)
-
Add status command (#2684, @sniperking1234)
- Usage:
$ ./cmd/collector/collector-darwin-amd64 status {"status":"Server available","upSince":"2021-02-19T17:57:12.671902+11:00","uptime":"25.241233383s"}
- Usage:
-
Support configurable date separator for Elasticsearch index names (#2637, @sniperking1234)
Bug fixes, Minor Improvements
- Use workaround for windows x509.SystemCertPool() (#2756, @Ashmita152)
- Guard against mal-formed payloads received by the agent, potentially causing high memory utilization (#2780, @jpkrohling)
- Expose cache TTL for ES span writer index+service (#2737, @necrolyte2)
- Copy spans from memory store (#2720, @bobrik)
- [pkg/queue] Add
StartConsumersWithFactory
function (#2714, @mx-psi) - Fix potential cross-site scripting issue (#2697, @yurishkuro)
- Updated gRPC Storage Plugin README with example (#2687, @js8080)
- Deduplicate collector tags (#2658, @Betula-L)
- Add latency metrics on collector HTTP endpoints (#2664, @dimitarvdimitrov)
- Fix collector panic due to sarama sdk (#2654, @Betula-L)
- Handle collector Start error (#2647, @albertteoh)
- [anonymizer] Save trace in UI format (#2629, @yurishkuro)
UI Changes
- UI pinned to version 1.13.0. The changelog is available here v1.13.0
Assets
8
Backend Changes
New Features
- New debug Docker images for Jaeger backends are included in the distribution (#2545, @Ashmita152)
- A utility to anonymize a trace for sharing publicly (#2621, #2585, @Ashmita152)
- Sampling strategies file can be loaded from a URL, not just a file path (#2519, @goku321)
- Configuration parameters can be inspected at runtime via
/debug/vars
admin endpoint (#2496, @dstdfx) - OTLP-proto encoding for Kafka supported in the OTEL Ingester (#2580, @XSAM)
- Display backend & UI versions in Jaeger UI
- Inject version info into index.html (#2547, @yurishkuro)
- Added jaeger ui version to about menu (#606, @alanisaac)
Bug fixes, Minor Improvements
- Update x/text to v0.3.4 (#2625, @objectiser)
- Update CodeQL to latest best practices (#2615, @jhutchings1)
- Bump opentelemetry-collector to v0.14.0 (#2617, @Vemmy124)
- Bump Badger to v1.6.2 (#2613, @Ackar)
- Fix sarama consumer deadlock (#2587, @albertteoh)
- Avoid deadlock if Stop is called before Serve (#2608, @chlunde)
- Return buffers to pool on network errors or queue overflow (#2609, @chlunde)
- Clarify deadlock panic message (#2605, @yurishkuro)
- fix: don't create tags w/ empty name for internal zipkin spans (#2596, @mzahor)
- TBufferedServer: Avoid channel close/send race on Stop (#2583, @chlunde)
- Bumped OpenTelemetry Collector to v0.12.0 (#2562, @jpkrohling)
- Disable Zipkin server if port/address is not configured (#2554, @yurishkuro)
- [hotrod] Add links to traces (#2536, @yurishkuro)
- OTel Cassandra/Elasticsearch Exporter queue defaults (#2533, @joe-elliott)
- [otel] Update jaeger-lib to v2.4.0 (#2538, @dstdfx)
- Remove unnecessary ServiceName index seek if tags query is available (#2535, @burmanm)
- Update static UI assets path in contrib doc (#2548, @albertteoh)
UI Changes
- UI pinned to version 1.12.0. The changelog is available here v1.12.0
Assets
8
Backend Changes
Breaking Changes
-
Configurable ES doc count (#2453, @albertteoh)
The
--es.max-num-spans
flag has been deprecated in favour of--es.max-doc-count
.
--es.max-num-spans
is marked for removal in v1.21.0 as indicated in the flag description.If both
--es.max-num-spans
and--es.max-doc-count
are set, the lesser of the two will be used.The use of
--es.max-doc-count
(which defaults to 10,000) will limit the results from all Elasticsearch
queries by the configured value, limiting counts for Jaeger UI:- Services
- Operations
- Dependencies (edges in a dependency graph)
- Span fetch size for a trace
-
The default value for the flag
query.max-clock-skew-adjustment
has changed to0s
, meaning that the clock skew adjustment is now disabled by default. See #1459.
New Features
- Grpc plugin archive storage support (#2317, @m8rge)
- Separate Ports for GRPC and HTTP requests in Query Server (#2387, @rjs211)
- Configurable ES doc count (#2453, @albertteoh)
- Add storage metrics to OTEL, metrics by span service name (#2431, @pavolloffay)
Bug fixes, Minor Improvements
- Increase coverage on otel/app/defaultconfig and otel/app/defaultcomponents (#2515, @joe-elliott)
- Use OTEL Kafka Exporter/Receiver Instead of Jaeger Core (#2494, @joe-elliott)
- Fix OTEL kafka receiver/ingester panic (#2512, @pavolloffay)
- Disable clock-skew-adjustment by default. (#2513, @jpkrohling)
- Fix ES OTEL status code (#2501, @pavolloffay)
- OTel: Factored out Config Factory (#2495, @joe-elliott)
- Fix failing ServerInUseHostPort test on MacOS (#2477, @albertteoh)
- Fix unmarshalling in OTEL badger (#2488, @pavolloffay)
- Improve UI placeholder message (#2487, @yurishkuro)
- Translate OTEL instrumentation library to ES DB model (#2484, @pavolloffay)
- Add partial retry capability to OTEL ES exporter. (#2456, @pavolloffay)
- Log deprecation warning only when deprecated flags are set (#2479, @pavolloffay)
- Clean-up Badger's trace-not-found check (#2481, @yurishkuro)
- Run the jaeger-agent as a non-root user by default (#2466, @chgl)
- Regenerate certificates to use SANs instead of Common Name (#2461, @albertteoh)
- Support custom port in cassandra schema creation (#2472, @MarianZoll)
- Consolidated OTel ES IndexNameProviders (#2458, @joe-elliott)
- Add positive confirmation that Agent made a connection to Collector (… (#2423, @BernardTolosajr)
- Propagate TraceNotFound error from grpc storage plugins (#2455, @joe-elliott)
- Use new ES reader implementation in OTEL (#2441, @pavolloffay)
- Updated grpc-go to v1.29.1 (#2445, @jpkrohling)
- Remove olivere elastic client from OTEL (#2448, @pavolloffay)
- Use queue retry per exporter (#2444, @pavolloffay)
- Add context.Context to WriteSpan (#2436, @yurishkuro)
- Fix mutex unlock in storage exporters (#2442, @pavolloffay)
- Add Grafana integration example (#2408, @fktkrt)
- Fix TLS flags settings in jaeger OTEL receiver (#2438, @pavolloffay)
- Add context to dependencies endpoint (#2434, @yoave23)
- Fix error equals (#2429, @albertteoh)
UI Changes
- UI pinned to version 1.11.0. The changelog is available here v1.11.0
Assets
8
Upgrade to a working UI version before React refactoring.
Assets
8
Revert UI back to 1.9 due to a bug jaegertracing/jaeger-ui#628
Assets
8
Known Issues
The pull request #2297 aimed to add TLS support for the gRPC Query server but the flag registration is missing, so that this feature can't be used at the moment. A fix is planned for the next Jaeger version (1.20).
Backend Changes
New Features
- Reload TLS certificates on change (#2389, @pavolloffay)
- Add --kafka.producer.batch-min-messages collector flag (#2371, @prymitive)
- Make UDP socket buffer size configurable (#2336, @kbarukhov)
- Enable batch and queued retry processors by default (#2330, @pavolloffay)
- Add trace anonymizer prototype (#2328, @yurishkuro)
- Add native OTEL ES exporter (#2295, @pavolloffay)
- Define busy error type in processor (#2314, @pavolloffay)
- Use gRPC instead of tchannel in hotrod (#2307, @pavolloffay)
- TLS support for gRPC Query server (#2297, @jan25)
Bug fixes, Minor Improvements
- Check missing server URL in ES OTEL client (#2411, @pavolloffay)
- Fix Elasticsearch version in ES OTEL writer (#2409, @pavolloffay)
- Fix go vet warnings on Go 1.15 (#2401, @prymitive)
- Add new Elasticsearch reader implementation (#2364, @pavolloffay)
- Only add the collector port if it was not explicitly set (#2396, @joe-elliott)
- Fix panic in collector when Zipkin server is shutdown (#2392, @Sreevani871)
- Update validity of TLS certificates to 3650 days (#2390, @rjs211)
- Added span and trace id to hotrod logs (#2384, @joe-elliott)
- Jaeger agent logs "0" whenever sampling strategies are requested (#2382, @jpkrohling)
- Fix shutdown order for collector components (#2381, @Sreevani871)
- Serve jquery-3.1.1.min.js locally (#2378, @chaseSpace)
- Use a single shared set of CA, client & server keys/certs for testing (#2343, @rjs211)
- fix null pointer in jaeger-spark-dependencies (#2327, @moolen)
- Rename ARCH to TARGETARCH for multi platform build by docker buildx (#2320, @morlay)
- Mask passwords when written as json (#2302, @objectiser)
UI Changes
- UI pinned to version 1.10.0. The changelog is available here v1.10.0
Assets
8
Backend Changes
Security Fixes
- CVE-2020-10750: jaegertracing/jaeger: credentials leaked to container logs (@chlunde)
New Features
- Add ppc64le support (#2293, @Siddhesh-Ghadi)
- Expose option to enable TLS when sniffing an Elasticsearch Cluster (#2263, @jennynilsen)
- Enable OTEL receiver by default (#2279, @pavolloffay)
- Add Badger OTEL exporter (#2269, @pavolloffay)
- Add all-in-one OTEL component (#2262, @pavolloffay)
- Add arm64 support for binaries and docker images (#2176, @MrXinWang)
- Add Zipkin OTEL receiver (#2247, @pavolloffay)
Bug fixes, Minor Improvements
- Remove experimental flag from rollover (#2290, @pavolloffay)
- Move ES dependencies index mapping to JSON template file (#2285, @pavolloffay)
- Bump go-plugin to 1.3 (#2261, @yurishkuro)
- Ignore chmod events on UI config watcher. (#2254, @rubenvp8510)
- Normalize CLI flags to use host:port addresses (#2212, @ohdearaugustin)
- Add kafka receiver flags to ingester (#2251, @pavolloffay)
- Configure Jaeger receiver and exporter by flags (#2241, @pavolloffay)
Assets
8
Backend Changes
Breaking Changes
-
Remove Tchannel between agent and collector (#2115, #2112, @pavolloffay)
Remove
Tchannel
port (14267) from collector andTchannel
reporter from agent.These flags were removed from agent:
--collector.host-port --reporter.tchannel.discovery.conn-check-timeout --reporter.tchannel.discovery.min-peers --reporter.tchannel.host-port --reporter.tchannel.report-timeout
These flags were removed from collector:
--collector.port
-
Normalize CLI flags to use host:port addresses (#1827, @annanay25)
Flags previously accepting listen addresses in any other format have been deprecated:
collector.port
is superseded bycollector.tchan-server.host-port
collector.http-port
is superseded bycollector.http-server.host-port
collector.grpc-port
is superseded bycollector.grpc-server.host-port
collector.zipkin.http-port
is superseded bycollector.zipkin.host-port
admin-http-port
is superseded byadmin.http.host-port
New Features
- Add grpc storage plugin OTEL exporter (#2229, @pavolloffay)
- Add OTEL ingester component (#2225, @pavolloffay)
- Add Kafka OTEL receiver/ingester (#2221, @pavolloffay)
- Create Jaeger OTEL agent component (#2216, @pavolloffay)
- Merge hardcoded/default configuration with OTEL config file (#2211, @pavolloffay)
- Support periodic refresh of sampling strategies (#2188, @defool)
- Add Elasticsearch OTEL exporter (#2140, @pavolloffay)
- Add Cassandra OTEL exporter (#2139, @pavolloffay)
- Add Kafka OTEL storage exporter (#2135, @pavolloffay)
- Clock skew config (#2119, @joe-elliott)
- Introduce OpenTelemetry collector (#2086, @pavolloffay)
- Support regex tags search for Elasticseach backend (#2049, @annanay25)
Bug fixes, Minor Improvements
- Do not skip service/operation indexing for firehose spans (#2242, @yurishkuro)
- Add build information to OTEL binaries (#2237, @pavolloffay)
- Enable service default sampling param (#2230, @defool)
- Add Jaeger OTEL agent to docker image upload (#2227, @ning2008wisc)
- Support adding process tags in OTEL via env variable (#2220, @pavolloffay)
- Bump OTEL version and update exporters to use new API (#2196, @pavolloffay)
- Support sampling startegies file flag in OTEL collector (#2195, @pavolloffay)
- Add zipkin receiver to OTEL collector (#2181, @pavolloffay)
- Add Dockerfile for OTEL collector and publish latest tag (#2167, @pavolloffay)
- Run OTEL collector without configuration file (#2148, @pavolloffay)
- Update gocql to support AWS MCS (#2133, @johanneswuerbach)
- Return appropriate gRPC errors/codes to indicate request status (#2132, @yurishkuro)
- Remove tchannel port from dockerfile and test (#2118, @pavolloffay)
- Remove tchannel between agent and collector (#2115, @pavolloffay)
- Move all tchannel packages to a single top level package (#2112, @pavolloffay)
UI Changes
- UI pinned to version 1.9.0. The changelog is available here v1.9.0
Assets
6
Backend Changes
Bug fixes, Minor Improvements
- Fix enable Kafka TLS when TLS auth is specified #2107, @pavolloffay)
- Migrate project to go modules #2098, @pavolloffay)
- Do not skip service/operation indexing for firehose spans #2090, @yurishkuro)
- Close the span writer on main (#2096, @jpkrohling)
- Improved graceful shutdown - Collector (#2076, @jpkrohling)
- Improved graceful shutdown - Agent (#2031, @jpkrohling)
UI Changes
- UI pinned to version 1.8.0. The changelog is available here v1.8.0
Assets
6
Backend Changes
New Features
- [tracegen] Add service name as a command line option (#2080, @kevinearls)
- Allow the Configuration of Additional Headers on the Jaeger Query HTTP API (#2056, @joe-elliott)
- Warn about time adjustment in tags (#2052, @bobrik)
- Add CLI flags for Kafka batching params (#2047, @apm-opentt)
- Added support for dynamic queue sizes (#1985, @jpkrohling)
- [agent] Process data loss stats from clients (#2010, @yurishkuro)
- Add /api/sampling endpoint in collector (#1990, @RickyRajinder)
- Add basic authentication to Kafka storage (#1983, @chandresh-pancholi)
- Make operation_strategies part also be part of default_strategy (#1749, @rutgerbrf)
Bug fixes, Minor Improvements
- Upgrade gRPC to ^1.26 (#2077, @yurishkuro)
- Remove pkg/errors from dependencies (#2073, @yurishkuro)
- Update dependencies, pin grpc<1.27 (#2072, @yurishkuro)
- Refactor collector mains (#2060, @jpkrohling)
- Clarify that "kafka" is not a real storage backend (#2066, @yurishkuro)
- Added -trimpath option to go build (#2064, @kadern0)
- Use memory size flag to activate dyn queue size feature (#2059, @jpkrohling)
- Add before you push to the queue to prevent race condition on size (#2044, @joe-elliott)
- Count received batches from conforming clients (#2030, @yurishkuro)
- [agent] Do not increment data loss counters on the first client batch (#2028, @yurishkuro)
- Allow raw port numbers for UDP servers (#2025, @yurishkuro)
- Publish tracegen (#2022, @jpkrohling)
- Build binaries for Linux on IBM Z / s390x architecture (#1982, @prankkelkar)
- Admin/Query: Log the real port instead of the provided one to enable the use of port 0 (#2002, @ChadiEM)
- Split agent's HTTP server and handler (#1996, @yurishkuro)
- Clean-up collector handlers builder (#1991, @yurishkuro)
- Added 'resize' operation to BoundedQueue (#1948, @jpkrohling)
- Add common TLS configuration (#1838, @backjo)
UI Changes
- UI pinned to version 1.7.0. The changelog is available here v1.7.0