## Unreleased - fix: Shutdown `MetricServiceClient` properly on `StackdriverStatsExporter.unregister()` (#2007) ## 0.28.3 - 2021-01-12 - fix: Return public access to unsafe `ContextUtils` api. Remove bincompat issue from 0.27.1. (#2072) - fix: When time rewinds, avoid throwing exceptions and crashing the disruptor thread. (#2071) ## 0.28.2 - 2020-10-22 - feat: Make TracerImpl public for OpenTelemetry migration. (#2064) Note: no binary available for 0.28.2 ## 0.28.1 - 2020-10-21 - feat: Add Support for Opencensus to OpenTelemetry migration (#2059) Breaking change: ContextUtils is no longer public ## 0.28.0 - 2020-10-21 - Remove finalize from RecordEventsSpanImpl (#2043) ## 0.27.0 - 2020-08-14 - deps: update protobuf (#2029) - Update release versions for all readme and build files. (#2028) - deps: update Guava to 29.0 (#2032) - Add more InstanaExporterHandler tests (#2014) - feat: Allow users to specify a metric display name prefix, separately from the metric name prefix (#2050) ## 0.26.0 - 2020-03-19 - feat: Allow users to register the same Meter multiple times without exception (#2017) - update gRPC (#2024): Since gRPC v1.27.0, census dependency is removed from grpc-core. A grpc-census artifact now exists to provide interceptor/stream tracer factory that applies census stats/tracing features. For users not using gRPC’s integration of census, nothing should be affected. Users who want census integration need to add grpc-census artifact to runtime classpath. - deps: update GSON (#2025) - deps: update auth libraries (#2023) - update guava (#2018) ## 0.25.0 - 2020-02-12 - Add an experimental artifact `opencensus-contrib-observability-ready-util`, that allows users to use OpenCensus easily. ## 0.24.0 - 2019-08-27 - Remove `CONTEXT_SPAN_KEY` and `TAG_CONTEXT_KEY` from API. This will be a breaking change to those who depend on these two keys, but anyone except gRPC shouldn't use it directly anyway. ## 0.23.0 - 2019-06-12 - Make `StackdriverStatsExporter.unregister()` a public API. - Add support spring plugin for http servlet and AsyncRestTemplate. ## 0.22.1 - 2019-05-21 - Increase the buffer size for the trace export batch to 2500 (previously it was 32). ## 0.22.0 - 2019-05-14 - Disable RunningSpanStore by default unless the z-pages contrib is linked and initialized. This may break behaviors for applications that rely on this to be always enabled. - Provide a `Deadline` option to Stackdriver Trace exporter. Default value is 10 seconds if it's not set. - Provide a `Deadline` option to Stackdriver Stats exporter. Default value is 10 seconds. Also provide a `MetricServiceStub` option so that advanced users can use a custom Stackdriver Monitoring client to make RPCs. - Use `Configuration` builder pattern for creating `JaegerTraceExporter`, `ZipkinTraceExporter` and `InstanaTraceExporter`. Provide a `Deadline` option with default value 10 seconds. - Provide a `Deadline` option to Datadog, Elasticsearch and OcAgent exporter. Default value is 10 seconds. - Extract the common timeout logic of Trace exporters to `opencensus-exporter-trace-util`. ## 0.21.0 - 2019-04-30 - Add HTTP text format serializer to Tag propagation component. - Support constant labels in Gauge APIs. - Add an option to allow users to override the default "opencensus_task" metric label in Stackdriver Stats Exporter. - Allow setting custom namespace in Prometheus exporter. - Add Cumulative (`DoubleCumulative`, `LongCumulative`, `DerivedDoubleCumulative`, `DerivedLongCumulative`) APIs. - Add convenience APIs `TagContextBuilder.putLocal()` that adds non-propagating tags, and `TagContextBuilder.putPropagating()` that adds unlimited propagating tags. - Deprecate context keys for tags and spans. Provide helper methods for interacting with context. ## 0.20.0 - 2019-03-28 - Add OpenCensus Java OC-Agent Trace Exporter. - Add OpenCensus Java OC-Agent Metrics Exporter. - Add config option for Http-Servlet. - Add config option for Jetty Http Client. - Modified default value to false for publicEndpoint property in Http-Servlet. - Add a generic `AttachmentValue` class to support `Exemplar`. - Add Elasticsearch Trace Exporter. - Add `metrics.data` package to hold common classes shared between stats and metrics. - Refactor `Exemplar` and `AttachmentValue` to be under `metrics.data`. Note that this is a breaking change if you're using the `Exemplar` classes or APIs in the previous releases. - Add `TagMetadata` that defines the properties associated with a `Tag`. - Add `QueueMetricProducer` that supports pushing and buffering `Metric`s. ## 0.19.0 - 2019-01-28 - Add an artifact `opencensus-contrib-http-jetty-client` for instrumenting jetty http client. Add extractor for Jetty Client. - Add an artifact `opencensus-contrib-http-servlets` for instrumenting http servlets. Add extractor for Http Servlets. - Add support generic http server handler. - Add support for generic http client handler. - Add ability to filter metrics collected from Dropwizard registry. - Add an util artifact opencensus-contrib-dropwizard5 to translate Dropwizard metrics5 to OpenCensus. - Add metrics util package to be shared by all metrics exporters. - Add Datadog Trace Exporter. ## 0.18.0 - 2018-11-27 - Set the [`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`. - Add support for w3c/distributed-tracing propagation format. - Add gRPC measures and views for real-time metrics in streaming RPCs. - Add Summary Metric support for Stackdriver exporter. - Reduce CPU usage for low qps applications. ## 0.17.0 - 2018-11-02 - Add `AttributeValueDouble` to `AttributeValue`. - Add `createWithSender` to `JaegerTraceExporter` to allow use of `HttpSender` with extra configurations. - Add an API `Functions.returnToString()`. - Migrate to new Stackdriver Kubernetes monitored resource. This could be a breaking change if you are using `gke_container` resources. For more info, https://cloud.google.com/monitoring/kubernetes-engine/migration#incompatible - Add an util artifact `opencensus-contrib-dropwizard` to translate Dropwizard metrics to OpenCensus. - Add Gauges (`DoubleGauge`, `LongGauge`, `DerivedDoubleGauge`, `DerivedLongGauge`) APIs. - Update `opencensus-contrib-log-correlation-log4j2` and `opencensus-contrib-log-correlation-stackdriver` to match the [OpenCensus log correlation spec](https://github.com/census-instrumentation/opencensus-specs/blob/master/trace/LogCorrelation.md) and remove all `ExperimentalApi` annotations. - The histogram bucket boundaries (`BucketBoundaries`) and values (`Count` and `Sum`) are no longer supported for negative values. The Record API drops the negative `value` and logs the warning. This could be a breaking change if you are recording negative value for any `measure`. - Remove support for min/max in the stats Distribution to make it compatible with Metrics. ## 0.16.1 - 2018-09-18 - Fix ClassCastException in Log4j log correlation ([#1436](https://github.com/census-instrumentation/opencensus-java/issues/1436)). - Allow users to report metrics for their registered domain (using custom prefix). This could be a breaking change if you have custom prefix without (registered) domain. ## 0.16.0 - 2018-09-14 - Add APIs to register gRPC client and server views separately. - Add an API MeasureMap.putAttachment() for recording exemplars. - Add Exemplar class and an API to get Exemplar list to DistributionData. - Improve the styling of Rpcz, Statsz, Tracez, and Traceconfigz pages. - Add an artifact `opencensus-contrib-exemplar-util` that has helper utilities on recording exemplars. - Reduce the default limit on `Link`s per `Span` to 32 (was 128 before). - Add Spring support for `@Traced` annotation and java.sql.PreparedStatements tracing. - Allow custom prefix for Stackdriver metrics in `StackdriverStatsConfiguration`. - Add support to handle the Tracestate in the SpanContext. - Remove global synchronization from the get current stats state. - Add get/from{Byte} methods on TraceOptions and deprecate get/from{Bytes}. - Add an API to `StackdriverTraceConfiguration` to allow setting a `TraceServiceStub` instance to be used for export RPC calls. - Add an experimental artifact, `opencensus-contrib-log-correlation-log4j2`, for adding tracing data to Log4j 2 LogEvents. ## 0.15.1 - 2018-08-28 - Improve propagation performance by avoiding doing string formatting when calling checkArgument. ## 0.15.0 - 2018-06-20 - Expose the factory methods of MonitoredResource. - Add an experimental artifact, `opencensus-contrib-log-correlation-stackdriver`, for correlating traces and logs with Stackdriver Logging. ## 0.14.0 - 2018-06-04 - Adds Tracing.getExportComponent().shutdown() for use within application shutdown hooks. - `Duration.create` now throws an `IllegalArgumentException` instead of returning a zero `Duration` when the arguments are invalid. - `Timestamp.create` now throws an `IllegalArgumentException` instead of returning a zero `Timestamp` when the arguments are invalid. - Remove namespace and help message prefix for Prometheus exporter. This could be a breaking change if you have Prometheus metrics from OpenCensus Prometheus exporter of previous versions, please point to the new metrics with no namespace instead. - Add an util artifact `opencensus-contrib-appengine-standard-util` to interact with the AppEngine CloudTraceContext. - Add support for Span kinds. (fix [#1054](https://github.com/census-instrumentation/opencensus-java/issues/1054)). - Add client/server started_rpcs measures and views to RPC constants. ## 0.13.2 - 2018-05-08 - Map http attributes to Stackdriver format (fix [#1153](https://github.com/census-instrumentation/opencensus-java/issues/1153)). ## 0.13.1 - 2018-05-02 - Fix a typo on displaying Aggregation Type for a View on StatsZ page. - Set bucket bounds as "le" labels for Prometheus Stats exporter. ## 0.13.0 - 2018-04-27 - Support building with Java 9. - Add a QuickStart example. - Remove extraneous dependencies from the Agent's `pom.xml`. - Deprecate `Window` and `WindowData`. - Add a configuration class to the Prometheus stats exporter. - Fix build on platforms that are not supported by `netty-tcnative`. - Add Jaeger trace exporter. - Add a gRPC Hello World example. - Remove usages of Guava collections in `opencensus-api`. - Set unit "1" when the aggregation type is Count. - Auto detect GCE and GKE Stackdriver MonitoredResources. - Make Error Prone and FindBugs annotations `compileOnly` dependencies. - Deprecate `Mean` and `MeanData`. - Sort `TagKey`s in `View.create(...)`. - Add utility class to expose default HTTP measures, tags and view, and register default views. - Add new RPC measure and view constants, deprecate old ones. - Makes the trace and span ID fields mandatory in binary format. - Auto detect AWS EC2 resources. - Add `Duration.toMillis()`. - Make monitored resource utils a separate artifact `opencensus-contrib-monitored-resource-util`, so that it can be reused across exporters. - Add `LastValue`, `LastValueDouble` and `LastValueLong`. Also support them in stats exporters and zpages. Please note that there is an API breaking change in methods `Aggregation.match()` and `AggregationData.match()`. ## 0.12.3 - 2018-04-13 - Substitute non-ascii characters in B3Format header key. ## 0.12.2 - 2018-02-26 - Upgrade disruptor to include the fix for SleepingWaitStrategy causing 100% CPU. ## 0.12.1 - 2018-02-26 - Fix performance issue where unused objects were referenced by the Disruptor. - Fix synchonization issue in the use of the Disruptor. ## 0.12.0 - 2018-02-16 - Rename trace exporters that have inconsistent naming. Exporters with legacy names are deprecated. - Fixed bug in CloudTraceFormat that made it impossible to use short span id's. - Add `since` Javadoc tag to all APIs. - Add a configuration class to create StackdriverTraceExporter. - Add MessageEvent and deprecate NetworkEvent. - Instana Trace Exporter. - Prometheus Stats Exporter. - Stats Zpages: RpcZ and StatsZ. - Dependency updates. ## 0.11.1 - 2018-01-23 - Fixed bug that made it impossible to use short span id's (#950). ## 0.11.0 - 2018-01-19 - Add TextFormat API and two implementations (B3Format and CloudTraceFormat). - Add helper class to configure and create StackdriverStatsExporter. - Add helper methods in tracer to wrap Runnable and Callbacks and to run them. - Increase trace exporting interval to 5s. - Add helper class to register views. - Make stackdriver stats exporter compatible with GAE Java7. - Add SignalFX stats exporter. - Add http propagation APIs. - Dependency updates. ## 0.10.0 - 2017-12-04 - Add NoopRunningSpanStore and NoopSampledSpanStore. - Change the message event to include (un)compressed sizes for Tracez Zpage. - Use AppEngine compatible way to create threads. - Add new factory methods that support setting custom Stackdriver MonitoredResource for Stackdriver Stats Exporter. - Dependency updates. ## 0.9.1 - 2017-11-29 - Fix several implementation bugs in Stackdriver Stats Exporter (#830, #831, etc.). - Update length limit for View.Name to 255 (previously it's 256). ## 0.9.0 - 2017-11-17 - Initial stats and tagging implementation for Java (`impl`) and Android (`impl-lite`). This implements all the stats and tagging APIs since v0.8.0. - Deprecate Tags.setState and Stats.setState. - Add a setStatus method in the Span. - OpenCensus Stackdriver Stats Exporter. - OpenCensus Stackdriver Trace Exporter is updated to use Stackdriver Trace V2 APIs. - Dependency updates.