This update brings experimental support for the OpenCensus Stats API. Note that Stats support is currently partial and not well-tested.
Other changes:
- Attributes in the Trace API can now be floats.
This is an important update that includes a number of fixes and brings the library up to date with the latest OpenCensus specification.
Backward-incompatible changes:
- Local parent span's sampling decision is propagated to children by default, to match the current sampling spec.
- It is no longer possible to change a sampling decision after a SpanBuilder has been created, to match the current sampling spec.
- Renamed MaxQPS sampler to RateLimiting, and modified the implementation to match the current spec.
- Probability sampler defaults to 1 in 10,000.
true
orfalse
may be passed as a sampler, as shortcuts for AlwaysSample or NeverSample.- Standard samplers are now thread-safe.
- HTTP status codes are properly translated to OpenCensus status codes, in particular for spans generated by the Faraday and Rack middleware.
- Faraday and Rack middleware produce attributes matching the OpenCensus HTTP spec instead of the Stackdriver Trace service spec. The Stackdriver exporter now translates these attributes accordingly.
- Update standard trace context HTTP header to "traceparent" following updated spec.
Other fixes:
- Allow requiring "opencensus/trace" directly.
- Return SpanContext objects when block not given.
- FaradayMiddleware closes span if Faraday raises an exception.
- Clean unneeded files from the gem
- SpanContext#build_contained_spans honors sampling bit.
- Use AlwaysSample as the default sampler.
- Support the Span.kind field.
- Railtie now adds the middleware at the end of the stack by default, and provides a config that can customize the position
- Provided a multi exporter
- Document exporter interface
- Fix some broken links in the documentation
- Clarify Ruby version requirement (2.2+)
- Fix exceptions in the config library on Ruby 2.2 and 2.3.
- Automatically require opencensus base library from standard integrations.
- Span creation sets the "same_process_as_parent_span" field if possible.
- The "stack_trace_hash_id" field was missing from the interfaces. Fixed.
- Nullability of a few fields did not match the proto specs. Fixed.
- Fixed some documentation errors and omissions.
Initial release of the core library, including:
- Trace interfaces
- Rack integration
- Rails integration
- Faraday integration
- Logging exporter