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 Metrics.

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 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 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).
  • 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 Links 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).
  • 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).

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 TagKeys 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.