Skip to content

Latest commit

 

History

History
711 lines (489 loc) · 34.5 KB

CHANGELOG.md

File metadata and controls

711 lines (489 loc) · 34.5 KB

Changes by Version

1.12.0 (unreleased)

Backend Changes

Breaking Changes
  • The kafka flags were removed in favor of kafka.producer and kafka.consumer flags (#1424, @ledor473)

    The following flags have been removed in the Collector and the Ingester:

    --kafka.brokers
    --kafka.encoding
    --kafka.topic
    --ingester.brokers
    --ingester.encoding
    --ingester.topic
    --ingester.group-id
    

    In the Collector, they are replaced by:

    --kafka.producer.brokers
    --kafka.producer.encoding
    --kafka.producer.topic
    

    In the Ingester, they are replaced by:

    --kafka.consumer.brokers
    --kafka.consumer.encoding
    --kafka.consumer.topic
    --kafka.consumer.group-id
    
New Features
Bug fixes, Minor Improvements

UI Changes

1.11.0 (2019-03-07)

Backend Changes

Breaking Changes
  • Introduce kafka.producer and kafka.consumer flags to replace kafka flags (#1360, @ledor473)

    The following flags have been deprecated in the Collector and the Ingester:

    --kafka.brokers
    --kafka.encoding
    --kafka.topic
    

    In the Collector, they are replaced by:

    --kafka.producer.brokers
    --kafka.producer.encoding
    --kafka.producer.topic
    

    In the Ingester, they are replaced by:

    --kafka.consumer.brokers
    --kafka.consumer.encoding
    --kafka.consumer.group-id
    
New Features
Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.1.0. The changelog is available here v1.1.0

1.10.1 (2019-02-21)

Backend Changes

Breaking Changes
New Features
Bug fixes, Minor Improvements
  • Separate query-service functionality from http handler (#1312, @annanay25)

UI Changes

1.10.0 (2019-02-15)

Backend Changes

Breaking Changes

Migration Path:

  1. Run plugin/storage/cassandra/schema/migration/v001tov002part1.sh which will copy dependencies into a csv, update the dependency UDT, create a new dependencies_v2 table, and write dependencies from the csv into the dependencies_v2 table.
  2. Run the collector and query services with the cassandra flag cassandra.enable-dependencies-v2=true which will instruct jaeger to write and read to and from the new dependencies_v2 table.
  3. Update spark job to write to the new dependencies_v2 table. The feature will be done in #58.
  4. Run plugin/storage/cassandra/schema/migration/v001tov002part2.sh which will DELETE the old dependency table and the SASI index.

Users who wish to continue to use the v1 table don't have to do anything as the cassandra flag cassandra.enable-dependencies-v2 will default to false. Users may migrate on their own timeline however new features will be built solely on the dependencies_v2 table. In the future, we will remove support for v1 completely.

  • Remove ErrorBusy, it essentially duplicates SpansDropped (#1091, @cstyan)
New Features
Bug fixes, Minor Improvements

UI Changes

1.9.0 (2019-01-21)

Backend Changes

Breaking Changes

Changed index prefix separator from : to - because Elasticsearch 7 does not allow : in index name. Jaeger query still reads from old indices containing - as a separator, therefore no configuration or migration changes are required.

  • Add CLI configurable es.max-num-spans while retrieving spans from ES (#1283, @annanay25)

The default value is set to 10000. Before no limit was applied.

  • Update to jaeger-lib 2 and latest sha for jaeger-client-go, to pick up refactored metric names (#1282, @objectiser)

Update to latest version of jaeger-lib, which includes a change to the naming of counters exported to prometheus, to follow the convention of using a _total suffix, e.g. jaeger_query_requests is now jaeger_query_requests_total.

Jaeger go client metrics, previously under the namespace jaeger_client_jaeger_ are now under jaeger_tracer_.

The following metrics:

jaeger_agent_tchannel_reporter_batch_size{format="jaeger"} 0
jaeger_agent_tchannel_reporter_batch_size{format="zipkin"} 0
jaeger_agent_tchannel_reporter_batches_failures{format="jaeger"} 0
jaeger_agent_tchannel_reporter_batches_failures{format="zipkin"} 0
jaeger_agent_tchannel_reporter_batches_submitted{format="jaeger"} 0
jaeger_agent_tchannel_reporter_batches_submitted{format="zipkin"} 0
jaeger_agent_tchannel_reporter_spans_failures{format="jaeger"} 0
jaeger_agent_tchannel_reporter_spans_failures{format="zipkin"} 0
jaeger_agent_tchannel_reporter_spans_submitted{format="jaeger"} 0
jaeger_agent_tchannel_reporter_spans_submitted{format="zipkin"} 0

jaeger_agent_collector_proxy{endpoint="baggage",result="err"} 0
jaeger_agent_collector_proxy{endpoint="baggage",result="ok"} 0
jaeger_agent_collector_proxy{endpoint="sampling",result="err"} 0
jaeger_agent_collector_proxy{endpoint="sampling",result="ok"} 0

have been renamed to:

jaeger_agent_reporter_batch_size{format="jaeger",protocol="tchannel"} 0
jaeger_agent_reporter_batch_size{format="zipkin",protocol="tchannel"} 0
jaeger_agent_reporter_batches_failures{format="jaeger",protocol="tchannel"} 0
jaeger_agent_reporter_batches_failures{format="zipkin",protocol="tchannel"} 0
jaeger_agent_reporter_batches_submitted{format="jaeger",protocol="tchannel"} 0
jaeger_agent_reporter_batches_submitted{format="zipkin",protocol="tchannel"} 0
jaeger_agent_reporter_spans_failures{format="jaeger",protocol="tchannel"} 0
jaeger_agent_reporter_spans_failures{format="zipkin",protocol="tchannel"} 0
jaeger_agent_reporter_spans_submitted{format="jaeger",protocol="tchannel"} 0
jaeger_agent_reporter_spans_submitted{format="zipkin",protocol="tchannel"} 0

jaeger_agent_collector_proxy{endpoint="baggage",protocol="tchannel",result="err"} 0
jaeger_agent_collector_proxy{endpoint="baggage",protocol="tchannel",result="ok"} 0
jaeger_agent_collector_proxy{endpoint="sampling",protocol="tchannel",result="err"} 0
jaeger_agent_collector_proxy{endpoint="sampling",protocol="tchannel",result="ok"} 0

The following metric:

jaeger_http_server_errors{source="tcollector-proxy",status="5xx"}

has been renamed to:

jaeger_http_server_errors{source="collector-proxy",status="5xx"}
New Features
Bug fixes, Minor Improvements

UI Changes

  • UI pinned to version 1.0.0. The changelog is available here v1.0.0

1.8.2 (2018-11-28)

UI Changes

New Features
  • Embedded components (SearchTraces and Tracepage) (#263, @aljesusg)
Bug fixes, Minor Improvements
  • Fix link in scatter plot when embed mode (#283, @aljesusg)
  • Fix rendering X axis in TraceResultsScatterPlot - pass milliseconds to moment.js (#274, @istrel)

1.8.1 (2018-11-23)

Backend Changes

Bug fixes, Minor Improvements

1.8.0 (2018-11-12)

Backend Changes

Breaking Changes

The following agent flags has been deprecated in order to support multiple reporters:

--collector.host-port
--discovery.conn-check-timeout
--discovery.min-peers

New flags:

--reporter.tchannel.host-port
--reporter.tchannel.discovery.conn-check-timeout
--reporter.tchannel.discovery.min-peers
  • Various changes around metrics produced by jaeger-query: Names scoped to the query component, generated for all span readers (not just ES), consolidate query metrics and include result tag (#1074, #1075 and #1096, @objectiser)

For example, sample of metrics produced for find_traces operation before:

jaeger_find_traces_attempts 1
jaeger_find_traces_errLatency_bucket{le="0.005"} 0
jaeger_find_traces_errors 0
jaeger_find_traces_okLatency_bucket{le="0.005"} 0
jaeger_find_traces_responses_bucket{le="0.005"} 1
jaeger_find_traces_successes 1

And now:

jaeger_query_latency_bucket{operation="find_traces",result="err",le="0.005"} 0
jaeger_query_latency_bucket{operation="find_traces",result="ok",le="0.005"} 2
jaeger_query_requests{operation="find_traces",result="err"} 0
jaeger_query_requests{operation="find_traces",result="ok"} 2
jaeger_query_responses_bucket{operation="find_traces",le="0.005"} 2
New Features
Bug fixes, Minor Improvements

UI Changes

New Features
  • Span Search - Highlight search results (#238), @davit-y
  • Span Search - Improve search logic (#237), @davit-y
  • Span Search - Add result count, navigation and clear buttons (#234), @davit-y
Bug Fixes, Minor Improvements
  • Use correct duration format for scatter plot (#266), @tiffon)
  • Fix collapse all issues (#264), @tiffon)
  • Use a moderately sized canvas for the span graph (#257), @tiffon)

1.7.0 (2018-09-19)

UI Changes

Backend Changes

Breaking Changes
  • jaeger-standalone binary has been renamed to jaeger-all-in-one. This change also includes package rename from standalone to all-in-one (#1062, @pavolloffay)
New Features

1.6.0 (2018-07-10)

Backend Changes

Breaking Changes
  • The storage implementations no longer write the parentSpanID field to storage (#856). If you are upgrading to this version, you must upgrade query service first!

  • Update Dockerfiles to reference executable via ENTRYPOINT (#815) by Zachary DiCesare (@zdicesare)

    It is no longer necessary to specify the binary name when passing flags to containers. For example, to execute the help command of the collector, instead of

    $ docker run -it --rm jaegertracing/jaeger-collector /go/bin/collector-linux help
    

    run

    $ docker run -it --rm jaegertracing/jaeger-collector help
    
  • Detect HTTP payload format from Content-Type (#916) by Yuri Shkuro (@yurishkuro)

    When submitting spans in Thrift format to HTTP endpoint /api/traces, the format argument is no longer required, but the Content-Type header must be set to "application/vnd.apache.thrift.binary".

  • Change metric tag from "service" to "svc" (#883) by Won Jun Jang (@black-adder)

New Features
  • Add Kafka as a Storage Plugin (#862) by David Yeghshatyan (@davit-y)

    The collectors can be configured to write spans to Kafka for further data mining.

  • Package static assets inside the query-service binary (#918) by Yuri Shkuro (@yurishkuro)

    It is no longer necessary (but still possible) to pass the path to UI static assets to jaeger-query and jaeger-standalone binaries.

  • Replace domain model with Protobuf/gogo-generated model (#856) by Yuri Shkuro (@yurishkuro)

    First step towards switching to Protobuf and gRPC.

  • Include HotROD binary in the distributions (#917) by Yuri Shkuro (@yurishkuro)

  • Improve HotROD demo (#915) by Yuri Shkuro (@yurishkuro)

  • Add DisableAutoDiscovery param to cassandra config (#912) by Bill Westlin (@whistlinwilly)

  • Add connCheckTimeout flag to agent (#911) by Henrique Rodrigues (@Henrod)

  • Ability to use multiple storage types (#880) by David Yeghshatyan (@davit-y)

Minor Improvements
  • [ES storage] Log number of total and failed requests (#902) by Tomasz Adamski (@tmszdmsk)
  • [ES storage] Do not log requests on error (#901) by Tomasz Adamski (@tmszdmsk)
  • [ES storage] Do not exceed ES _id length limit (#905) by Łukasz Harasimowicz (@harnash) and Tomasz Adamski (@tmszdmsk)
  • Add cassandra index filter (#876) by Won Jun Jang (@black-adder)
  • Close span writer in standalone (#863) (4 weeks ago) by Pavol Loffay (@pavolloffay)
  • Log configuration options for memory storage (#852) (6 weeks ago) by Juraci Paixão Kröhling (@jpkrohling)
  • Update collector metric counters to have a name (#886) by Won Jun Jang (@black-adder)
  • Add CONTRIBUTING_GUIDELINES.md (#864) by (@PikBot)

1.5.0 (2018-05-28)

Backend Changes

  • Add bounds to memory storage (#845) by Juraci Paixão Kröhling (@jpkrohling)
  • Add metric for debug traces (#796) by Won Jun Jang (@black-adder)
  • Change metrics naming scheme (#776) by Juraci Paixão Kröhling (@jpkrohling)
  • Remove ParentSpanID from domain model (#831) by Yuri Shkuro (@yurishkuro)
  • Add ability to adjust static sampling probabilities per operation (#827) by Won Jun Jang (@black-adder)
  • Support log-level flag on agent (#828) by Won Jun Jang (@black-adder)
  • Add healthcheck to standalone (#784) by Eundoo Song (@eundoosong)
  • Do not use KeyValue fields directly and use KeyValues as decorator only (#810) by Yuri Shkuro (@yurishkuro)
  • Upgrade to go 1.10 (#792) by Prithvi Raj (@vprithvi)
  • Do not create Cassandra index if it already exists (#782) by Greg Swift (@gregswift)

UI Changes

  • None

1.4.1 (2018-04-21)

Backend Changes

  • Publish binaries for Linux, Darwin, and Windows (#765) - thanks to @grounded042

UI Changes

New Features
  • View Trace JSON buttons return formatted JSON (fixes #199)

1.4.0 (2018-04-20)

Backend Changes

New Features
  • Support traces with >10k spans in Elasticsearch (#668) - thanks to @sramakr
Bug Fixes, Minor Improvements
  • Allow slash '/' in service names (#586)
  • Log errors from HotROD services (#769)

1.3.0 (2018-03-26)

Backend Changes

New Features
  • Add sampling handler with file-based configuration for agents to query (#720) (#674)
  • Allow overriding base path for UI/API routes and remove --query.prefix (#748)
  • Add Dockerfile for hotrod example app (#694) <Guilherme Baufaker Rêgo>
  • Publish hotrod image to docker hub (#702)
  • Dockerize es-index-cleaner script (#741)
  • Add a flag to control Cassandra consistency level (#700)
  • Collect metrics from ES bulk service (#688)
  • Allow zero replicas for Elasticsearch (#754)
Bug Fixes, Minor Improvements
  • Apply namespace when creating Prometheus metrics factory (fix for #732) (#733)
  • Disable double compression on Prom Handler - fixes #697 (#735) <Juraci Paixão Kröhling>
  • Use the default metricsFactory if not provided (#739)
  • Avoid duplicate expvar metrics - fixes #716 (#726)
  • Make sure different tracers in HotROD process use different random generator seeds (#718)
  • Test that processes with identical tags are deduped (#708)
  • When converting microseconds to time.Time ensure UTC timezone (#712)
  • Add to WaitGroup before the goroutine creation (#711)
  • Pin testify version to ^1.2.1 (#710)

UI Changes

New Features
  • Support running Jaeger behind a reverse proxy (fixes #42)
  • Track Javascript errors via Google Analytics (fixes #39)
  • Add Google Analytics event tracking for actions in trace view (#191)
Bug Fixes, Minor Improvements
  • Clearly identify traces without a root span (fixes #190)
  • Fix #166 JS error on search page after viewing 404 trace

Documentation Changes

1.2.0 (2018-02-07)

Backend Changes

New Features
  • Use elasticsearch bulk API (#656)
  • Support archive storage in the query-service (#604)
  • Introduce storage factory framework and composable CLI (#625)
  • Make agent host port configurable in hotrod (#663)
  • Add signal handling to standalone (#657)
Bug Fixes, Minor Improvements
  • Remove the override of GOMAXPROCS (#679)
  • Use UTC timezone for ES indices (#646)
  • Fix elasticsearch create index race condition error (#641)

UI Changes

New Features
  • Use Ant Design instead of Semantic UI (jaegertracing/jaeger-ui#169)
    • Fix #164 - Use Ant Design instead of Semantic UI
    • Fix #165 - Search results are shown without a date
    • Fix #69 - Missing endpoints in jaeger ui dropdown
Bug Fixes, Minor Improvements

1.1.0 (2018-01-03)

Backend Changes

New Features
  • Add support for retrieving unadjusted/raw traces (#615)
  • Add CA certificates to collector/query images (#485)
  • Parse zipkin v2 high trace id (#596)
Bug Fixes, Minor Improvements
  • Skip nil and zero length hits in ElasticSearch storage (#601)
  • Make Cassandra service_name_index inserts idempotent (#587)
  • Align atomic int64 to word boundary to fix SIGSEGV (#592)
  • Add adjuster that removes bad span references (#614)
  • Set operationNames cache initial capacity to 10000 (#621)

UI Changes

New Features
Bug Fixes, Minor Improvements

1.0.0 (2017-12-04)

Backend Changes

  • Support Prometheus metrics as default for all components (#516)
  • Enable TLS client connections to Cassandra (#555)
  • Fix issue where Domain to UI model converter double reports references (#579)

UI Changes

  • Make dependencies tab configurable (#122)

0.10.0 (2017-11-17)

UI Changes

Backend Changes

  • Allow embedding custom UI config in index.html #490
  • Add startTimeMillis field to JSON Spans submitted to ElasticSearch #491
  • Introduce version command and handler #517
  • Fix ElasticSearch aggregation errors when index is empty #535
  • Change package from uber to jaegertracing #528
  • Introduce logging level configuration #514
  • Support Zipkin v2 json #518
  • Add HTTP compression handler #545

0.9.0 (2017-10-25)

UI Changes

Backend Changes

  • Add tracing to the query server #454
  • Support configuration files #462
  • Add cassandra tag filter #442
  • Handle ports > 32k in Zipkin JSON #488

0.8.0 (2017-09-24)

  • Convert to Apache 2.0 License

0.7.0 (2017-08-22)

  • Add health check server to collector and query #280
  • Add/fix sanitizer for Zipkin span start time and duration #333
  • Support Zipkin json encoding for /api/v1/spans HTTP endpoint #348
  • Support Zipkin 128bit traceId and ipv6 #349

0.6.0 (2017-08-09)

  • Add viper/cobra configuration support #245 #307
  • Add Zipkin /api/v1/spans endpoint #282
  • Add basic authenticator to configs for cassandra #323
  • Add Elasticsearch storage support

0.5.2 (2017-07-20)

  • Use official Cassandra 3.11 base image #278
  • Support configurable metrics backend in the agent #275

0.5.1 (2017-07-03)

  • Bug fix: Query startup should fail when -query.static-files has no trailing slash #144
  • Push to Docker Hub on release tags #246

0.5.0 (2017-07-01)

First numbered release.