xref: /aosp_15_r20/external/opencensus-java/CHANGELOG.md (revision a24ffb47c3166327784aa05b149974e82e8f71b8)
1## Unreleased
2
3- fix: Shutdown `MetricServiceClient` properly on `StackdriverStatsExporter.unregister()` (#2007)
4
5## 0.28.3 - 2021-01-12
6
7- fix: Return public access to unsafe `ContextUtils` api.  Remove bincompat issue from 0.27.1. (#2072)
8- fix: When time rewinds, avoid throwing exceptions and crashing the disruptor thread. (#2071)
9
10## 0.28.2 - 2020-10-22
11
12- feat: Make TracerImpl public for OpenTelemetry migration. (#2064)
13
14Note: no binary available for 0.28.2
15
16## 0.28.1 - 2020-10-21
17
18- feat: Add Support for Opencensus to OpenTelemetry migration (#2059)
19
20Breaking change: ContextUtils is no longer public
21
22## 0.28.0 - 2020-10-21
23
24- Remove finalize from RecordEventsSpanImpl (#2043)
25
26## 0.27.0 - 2020-08-14
27- deps: update protobuf (#2029)
28- Update release versions for all readme and build files. (#2028)
29- deps: update Guava to 29.0 (#2032)
30- Add more InstanaExporterHandler tests (#2014)
31- feat: Allow users to specify a metric display name prefix, separately from the metric name prefix (#2050)
32
33## 0.26.0 - 2020-03-19
34- feat: Allow users to register the same Meter multiple times without exception (#2017)
35- update gRPC (#2024): Since gRPC v1.27.0, census dependency is removed from grpc-core. A grpc-census
36artifact now exists to provide interceptor/stream tracer factory that applies census stats/tracing features.
37For users not using gRPC’s integration of census, nothing should be affected. Users who want census integration
38need to add grpc-census artifact to runtime classpath.
39- deps: update GSON (#2025)
40- deps: update auth libraries (#2023)
41- update guava (#2018)
42
43## 0.25.0 - 2020-02-12
44- Add an experimental artifact `opencensus-contrib-observability-ready-util`, that allows users to
45use OpenCensus easily.
46
47## 0.24.0 - 2019-08-27
48- Remove `CONTEXT_SPAN_KEY` and `TAG_CONTEXT_KEY` from API. This will be a breaking change to those who
49depend on these two keys, but anyone except gRPC shouldn't use it directly anyway.
50
51## 0.23.0 - 2019-06-12
52- Make `StackdriverStatsExporter.unregister()` a public API.
53- Add support spring plugin for http servlet and AsyncRestTemplate.
54
55## 0.22.1 - 2019-05-21
56- Increase the buffer size for the trace export batch to 2500 (previously it was 32).
57
58## 0.22.0 - 2019-05-14
59- Disable RunningSpanStore by default unless the z-pages contrib is linked and initialized. This may
60break behaviors for applications that rely on this to be always enabled.
61- Provide a `Deadline` option to Stackdriver Trace exporter. Default value is 10 seconds if it's not set.
62- Provide a `Deadline` option to Stackdriver Stats exporter. Default value is 10 seconds.
63Also provide a `MetricServiceStub` option so that advanced users can use a custom Stackdriver
64Monitoring client to make RPCs.
65- Use `Configuration` builder pattern for creating `JaegerTraceExporter`, `ZipkinTraceExporter` and
66`InstanaTraceExporter`. Provide a `Deadline` option with default value 10 seconds.
67- Provide a `Deadline` option to Datadog, Elasticsearch and OcAgent exporter. Default value is 10 seconds.
68- Extract the common timeout logic of Trace exporters to `opencensus-exporter-trace-util`.
69
70## 0.21.0 - 2019-04-30
71- Add HTTP text format serializer to Tag propagation component.
72- Support constant labels in Gauge APIs.
73- Add an option to allow users to override the default "opencensus_task" metric label in Stackdriver Stats Exporter.
74- Allow setting custom namespace in Prometheus exporter.
75- Add Cumulative (`DoubleCumulative`, `LongCumulative`, `DerivedDoubleCumulative`, `DerivedLongCumulative`) APIs.
76- Add convenience APIs `TagContextBuilder.putLocal()` that adds non-propagating tags,
77and `TagContextBuilder.putPropagating()` that adds unlimited propagating tags.
78- Deprecate context keys for tags and spans. Provide helper methods for interacting with context.
79
80## 0.20.0 - 2019-03-28
81- Add OpenCensus Java OC-Agent Trace Exporter.
82- Add OpenCensus Java OC-Agent Metrics Exporter.
83- Add config option for Http-Servlet.
84- Add config option for Jetty Http Client.
85- Modified default value to false for publicEndpoint property in Http-Servlet.
86- Add a generic `AttachmentValue` class to support `Exemplar`.
87- Add Elasticsearch Trace Exporter.
88- Add `metrics.data` package to hold common classes shared between stats and metrics.
89- Refactor `Exemplar` and `AttachmentValue` to be under `metrics.data`. Note that this is a breaking change
90if you're using the `Exemplar` classes or APIs in the previous releases.
91- Add `TagMetadata` that defines the properties associated with a `Tag`.
92- Add `QueueMetricProducer` that supports pushing and buffering `Metric`s.
93
94## 0.19.0 - 2019-01-28
95- Add an artifact `opencensus-contrib-http-jetty-client` for instrumenting jetty http client. Add extractor for Jetty Client.
96- Add an artifact `opencensus-contrib-http-servlets` for instrumenting http servlets. Add extractor for Http Servlets.
97- Add support generic http server handler.
98- Add support for generic http client handler.
99- Add ability to filter metrics collected from Dropwizard registry.
100- Add an util artifact opencensus-contrib-dropwizard5 to translate Dropwizard metrics5 to OpenCensus.
101- Add metrics util package to be shared by all metrics exporters.
102- Add Datadog Trace Exporter.
103
104## 0.18.0 - 2018-11-27
105- Set the
106  [`trace_sampled` field](https://github.com/googleapis/googleapis/blob/8027f17420d5a323c7dfef1ae0e57d82f3b97430/google/logging/v2/log_entry.proto#L143-L149) in the Stackdriver `LogEntry` protocol buffer in `opencensus-contrib-log-correlation-stackdriver`.
107- Add support for w3c/distributed-tracing propagation format.
108- Add gRPC measures and views for real-time metrics in streaming RPCs.
109- Add Summary Metric support for Stackdriver exporter.
110- Reduce CPU usage for low qps applications.
111
112## 0.17.0 - 2018-11-02
113- Add `AttributeValueDouble` to `AttributeValue`.
114- Add `createWithSender` to `JaegerTraceExporter` to allow use of `HttpSender`
115  with extra configurations.
116- Add an API `Functions.returnToString()`.
117- Migrate to new Stackdriver Kubernetes monitored resource. This could be a breaking change
118  if you are using `gke_container` resources. For more info,
119  https://cloud.google.com/monitoring/kubernetes-engine/migration#incompatible
120- Add an util artifact `opencensus-contrib-dropwizard` to translate Dropwizard metrics to
121  OpenCensus.
122- Add Gauges (`DoubleGauge`, `LongGauge`, `DerivedDoubleGauge`, `DerivedLongGauge`) APIs.
123- Update `opencensus-contrib-log-correlation-log4j2` and
124  `opencensus-contrib-log-correlation-stackdriver` to match the
125  [OpenCensus log correlation spec](https://github.com/census-instrumentation/opencensus-specs/blob/master/trace/LogCorrelation.md)
126  and remove all `ExperimentalApi` annotations.
127- The histogram bucket boundaries (`BucketBoundaries`) and values (`Count` and `Sum`) are no longer
128  supported for negative values. The Record API drops the negative `value` and logs the warning.
129  This could be a breaking change if you are recording negative value for any `measure`.
130- Remove support for min/max in the stats Distribution to make it compatible with Metrics.
131
132## 0.16.1 - 2018-09-18
133- Fix ClassCastException in Log4j log correlation
134  ([#1436](https://github.com/census-instrumentation/opencensus-java/issues/1436)).
135- Allow users to report metrics for their registered domain (using custom prefix). This could be a
136  breaking change if you have custom prefix without (registered) domain.
137
138## 0.16.0 - 2018-09-14
139- Add APIs to register gRPC client and server views separately.
140- Add an API MeasureMap.putAttachment() for recording exemplars.
141- Add Exemplar class and an API to get Exemplar list to DistributionData.
142- Improve the styling of Rpcz, Statsz, Tracez, and Traceconfigz pages.
143- Add an artifact `opencensus-contrib-exemplar-util` that has helper utilities
144  on recording exemplars.
145- Reduce the default limit on `Link`s per `Span` to 32 (was 128 before).
146- Add Spring support for `@Traced` annotation and java.sql.PreparedStatements
147  tracing.
148- Allow custom prefix for Stackdriver metrics in `StackdriverStatsConfiguration`.
149- Add support to handle the Tracestate in the SpanContext.
150- Remove global synchronization from the get current stats state.
151- Add get/from{Byte} methods on TraceOptions and deprecate get/from{Bytes}.
152- Add an API to `StackdriverTraceConfiguration` to allow setting a
153  `TraceServiceStub` instance to be used for export RPC calls.
154- Add an experimental artifact, `opencensus-contrib-log-correlation-log4j2`, for
155  adding tracing data to Log4j 2 LogEvents.
156
157## 0.15.1 - 2018-08-28
158- Improve propagation performance by avoiding doing string formatting when calling checkArgument.
159
160## 0.15.0 - 2018-06-20
161- Expose the factory methods of MonitoredResource.
162- Add an experimental artifact, `opencensus-contrib-log-correlation-stackdriver`, for
163  correlating traces and logs with Stackdriver Logging.
164
165## 0.14.0 - 2018-06-04
166- Adds Tracing.getExportComponent().shutdown() for use within application shutdown hooks.
167- `Duration.create` now throws an `IllegalArgumentException` instead of
168  returning a zero `Duration` when the arguments are invalid.
169- `Timestamp.create` now throws an `IllegalArgumentException` instead of
170  returning a zero `Timestamp` when the arguments are invalid.
171- Remove namespace and help message prefix for Prometheus exporter. This could be
172  a breaking change if you have Prometheus metrics from OpenCensus Prometheus exporter
173  of previous versions, please point to the new metrics with no namespace instead.
174- Add an util artifact `opencensus-contrib-appengine-standard-util` to interact with the AppEngine
175  CloudTraceContext.
176- Add support for Span kinds. (fix [#1054](https://github.com/census-instrumentation/opencensus-java/issues/1054)).
177- Add client/server started_rpcs measures and views to RPC constants.
178
179## 0.13.2 - 2018-05-08
180- Map http attributes to Stackdriver format (fix [#1153](https://github.com/census-instrumentation/opencensus-java/issues/1153)).
181
182## 0.13.1 - 2018-05-02
183- Fix a typo on displaying Aggregation Type for a View on StatsZ page.
184- Set bucket bounds as "le" labels for Prometheus Stats exporter.
185
186## 0.13.0 - 2018-04-27
187- Support building with Java 9.
188- Add a QuickStart example.
189- Remove extraneous dependencies from the Agent's `pom.xml`.
190- Deprecate `Window` and `WindowData`.
191- Add a configuration class to the Prometheus stats exporter.
192- Fix build on platforms that are not supported by `netty-tcnative`.
193- Add Jaeger trace exporter.
194- Add a gRPC Hello World example.
195- Remove usages of Guava collections in `opencensus-api`.
196- Set unit "1" when the aggregation type is Count.
197- Auto detect GCE and GKE Stackdriver MonitoredResources.
198- Make Error Prone and FindBugs annotations `compileOnly` dependencies.
199- Deprecate `Mean` and `MeanData`.
200- Sort `TagKey`s in `View.create(...)`.
201- Add utility class to expose default HTTP measures, tags and view, and register
202  default views.
203- Add new RPC measure and view constants, deprecate old ones.
204- Makes the trace and span ID fields mandatory in binary format.
205- Auto detect AWS EC2 resources.
206- Add `Duration.toMillis()`.
207- Make monitored resource utils a separate artifact `opencensus-contrib-monitored-resource-util`,
208  so that it can be reused across exporters.
209- Add `LastValue`, `LastValueDouble` and `LastValueLong`. Also support them in
210  stats exporters and zpages. Please note that there is an API breaking change
211  in methods `Aggregation.match()` and `AggregationData.match()`.
212
213## 0.12.3 - 2018-04-13
214- Substitute non-ascii characters in B3Format header key.
215
216## 0.12.2 - 2018-02-26
217- Upgrade disruptor to include the fix for SleepingWaitStrategy causing 100%
218  CPU.
219
220## 0.12.1 - 2018-02-26
221- Fix performance issue where unused objects were referenced by the Disruptor.
222- Fix synchonization issue in the use of the Disruptor.
223
224## 0.12.0 - 2018-02-16
225- Rename trace exporters that have inconsistent naming. Exporters with legacy
226  names are deprecated.
227- Fixed bug in CloudTraceFormat that made it impossible to use short span id's.
228- Add `since` Javadoc tag to all APIs.
229- Add a configuration class to create StackdriverTraceExporter.
230- Add MessageEvent and deprecate NetworkEvent.
231- Instana Trace Exporter.
232- Prometheus Stats Exporter.
233- Stats Zpages: RpcZ and StatsZ.
234- Dependency updates.
235
236## 0.11.1 - 2018-01-23
237- Fixed bug that made it impossible to use short span id's (#950).
238
239## 0.11.0 - 2018-01-19
240- Add TextFormat API and two implementations (B3Format and CloudTraceFormat).
241- Add helper class to configure and create StackdriverStatsExporter.
242- Add helper methods in tracer to wrap Runnable and Callbacks and to run them.
243- Increase trace exporting interval to 5s.
244- Add helper class to register views.
245- Make stackdriver stats exporter compatible with GAE Java7.
246- Add SignalFX stats exporter.
247- Add http propagation APIs.
248- Dependency updates.
249
250## 0.10.0 - 2017-12-04
251- Add NoopRunningSpanStore and NoopSampledSpanStore.
252- Change the message event to include (un)compressed sizes for Tracez Zpage.
253- Use AppEngine compatible way to create threads.
254- Add new factory methods that support setting custom Stackdriver
255  MonitoredResource for Stackdriver Stats Exporter.
256- Dependency updates.
257
258## 0.9.1 - 2017-11-29
259- Fix several implementation bugs in Stackdriver Stats Exporter (#830, #831,
260  etc.).
261- Update length limit for View.Name to 255 (previously it's 256).
262
263## 0.9.0 - 2017-11-17
264- Initial stats and tagging implementation for Java (`impl`) and Android
265  (`impl-lite`). This implements all the stats and tagging APIs since v0.8.0.
266- Deprecate Tags.setState and Stats.setState.
267- Add a setStatus method in the Span.
268- OpenCensus Stackdriver Stats Exporter.
269- OpenCensus Stackdriver Trace Exporter is updated to use Stackdriver Trace V2
270  APIs.
271- Dependency updates.
272