All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
end_on_exit
argument tostart_as_current_span
(#1519]) - Add
Span.set_attributes
method to set multiple values with one call (#1520) - Make sure Resources follow semantic conventions (#1480)
- Allow missing carrier headers to continue without raising AttributeError (#1545)
- Remove Configuration (#1523)
0.17b0 - 2021-01-20
- Add support for OTLP v0.6.0 (#1472)
- Add protobuf via gRPC exporting support for Jaeger (#1471)
- Add support for Python 3.9 (#1441)
- Added the ability to disable instrumenting libraries specified by OTEL_PYTHON_DISABLED_INSTRUMENTATIONS env variable, when using opentelemetry-instrument command. (#1461)
- Add
fields
to propagators (#1374) - Add local/remote samplers to parent based sampler (#1440)
- Add support for OTEL_SPAN_{ATTRIBUTE_COUNT_LIMIT,EVENT_COUNT_LIMIT,LINK_COUNT_LIMIT} (#1377)
- Return
None
forDictGetter
if key not found (#1449) - Added support for Jaeger propagator (#1219)
- Remove dependency on SDK from
opentelemetry-instrumentation
package. Theopentelemetry-sdk
package now registers an entrypointopentelemetry_configurator
to allowopentelemetry-instrument
to load the configuration for the SDK (#1420) opentelemetry-exporter-zipkin
Add support for array attributes in Span and Resource exports (#1285)- Added
__repr__
forDefaultSpan
, addedtrace_flags
to__repr__
ofSpanContext
(#1485]) opentelemetry-sdk
Add support for OTEL_TRACE_SAMPLER and OTEL_TRACE_SAMPLER_ARG env variables (#1496)- Adding
opentelemetry-distro
package to add default configuration for span exporter to OTLP (#1482)
opentelemetry-exporter-zipkin
Updated zipkin exporter status code and error tag (#1486)- Recreate span on every run of a
start_as_current_span
-decorated function (#1451) opentelemetry-exporter-otlp
Headers are now passed in as tuple as metadata, instead of a string, which was incorrect. (#1507)opentelemetry-exporter-jaeger
Updated Jaeger exporter status code tag (#1488)opentelemetry-api
opentelemety-sdk
Movedidsgenerator
into sdk (#1514)opentelemetry-sdk
The B3Format propagator has been moved into its own package:opentelemetry-propagator-b3
(#1513)- Update default port for OTLP exporter from 55680 to 4317 (#1516)
opentelemetry-exporter-zipkin
Update boolean attribute value transformation (#1509)- Move opentelemetry-opentracing-shim out of instrumentation folder (#1533)
opentelemetry-sdk
The JaegerPropagator has been moved into its own package:opentelemetry-propagator-jaeger
(#1525)opentelemetry-exporter-jaeger
,opentelemetry-exporter-zipkin
Update InstrumentationInfo tag keys for Jaeger and Zipkin exporters (#1535)opentelemetry-sdk
Remove rate property setter from TraceIdRatioBasedSampler (#1536)- Fix TraceState to adhere to specs (#1502)
- Update Resource
merge
key conflict precedence (#1544)
opentelemetry-api
Remove ThreadLocalRuntimeContext since python3.4 is not supported.
0.16b1 - 2020-11-26
- Add meter reference to observers (#1425)
0.16b0 - 2020-11-25
- Add optional parameter to
record_exception
method (#1314) - Add pickle support to SpanContext class (#1380)
- Add instrumentation library name and version to OTLP exported metrics (#1418)
- Add Gzip compression for exporter (#1141)
- Support for v2 api protobuf format (#1318)
- Add IDs Generator as Configurable Property of Auto Instrumentation (#1404)
- Added support for
OTEL_EXPORTER
to theopentelemetry-instrument
command (#1036)
- Change temporality for Counter and UpDownCounter (#1384)
- OTLP exporter: Handle error case when no credentials supplied (#1366)
- Update protobuf versions (#1356)
- Add missing references to instrumented packages (#1416)
- Instrumentation Package depends on the OTel SDK (#1405)
- Allow samplers to modify tracestate (#1319)
- Update exception handling optional parameters, add escaped attribute to record_exception (#1365)
- Rename
MetricRecord
toExportRecord
(#1367) - Rename
Record
toAccumulation
(#1373) - Rename
Meter
toAccumulator
(#1372) - Fix
ParentBased
sampler for implicit parent spans. Fix alsotrace_state
erasure for dropped spans or spans sampled by theTraceIdRatioBased
sampler. (#1394)
0.15b0 -2020-11-02
- Add Env variables in OTLP exporter (#1101)
- Add support for Jaeger Span Exporter configuration by environment variables and
change JaegerSpanExporter constructor parameters (#1114)
- Updating status codes to adhere to specs (#1282)
- Set initial checkpoint timestamp in aggregators (#1237)
- Make
SpanProcessor.on_start
accept parent Context (#1251) - Fix b3 propagator entrypoint (#1265)
- Allow None in sequence attributes values (#998)
- Samplers to accept parent Context (#1267)
- Span.is_recording() returns false after span has ended (#1289)
- Allow samplers to modify tracestate (#1319)
- Remove TracerProvider coupling from Tracer init (#1295)
0.14b0 - 2020-10-13
- Add optional parameter to
record_exception
method (#1242) - Add support for
OTEL_PROPAGATORS
(#1123) - Add keys method to TextMap propagator Getter (#1196)
- Add timestamps to OTLP exporter (#1199)
- Add Global Error Handler (#1080)
- Add support for
OTEL_BSP_MAX_QUEUE_SIZE
,OTEL_BSP_SCHEDULE_DELAY_MILLIS
,OTEL_BSP_MAX_EXPORT_BATCH_SIZE
andOTEL_BSP_EXPORT_TIMEOUT_MILLIS
environment variables (#1105) - Adding Resource to MeterRecord (#1209) s
- Store
int
s asint
s in the global Configuration object (#1118) - Allow for Custom Trace and Span IDs Generation -
IdsGenerator
for TracerProvider (#1153) - Update baggage propagation header (#1194)
- Make instances of SpanContext immutable (#1134)
- Parent is now always passed in via Context, intead of Span or SpanContext (#1146)
- Update OpenTelemetry protos to v0.5.0 (#1143)
- Zipkin exporter now accepts a
max_tag_value_length
attribute to customize the maximum allowed size a tag value can have. (#1151) - Fixed OTLP events to Zipkin annotations translation. (#1161)
- Fixed bootstrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask. (#1138)
- Update sampling result names (#1128)
- Event attributes are now immutable (#1195)
- Renaming metrics Batcher to Processor (#1203)
- Protect access to Span implementation (#1188)
start_as_current_span
anduse_span
can now optionally auto-record any exceptions raised inside the context manager. (#1162)
0.13b0 - 2020-09-17
- Add instrumentation info to exported spans (#1095)
- Add metric OTLP exporter (#835)
- Add type hints to OTLP exporter (#1121)
- Add support for OTEL_EXPORTER_ZIPKIN_ENDPOINT env var. As part of this change, the
configuration of the ZipkinSpanExporter exposes a
url
argument to replacehost_name
,port
,protocol
,endpoint
. This brings this implementation inline with other implementations. (#1064) - Zipkin exporter report instrumentation info. (#1097)
- Add status mapping to tags (#1111)
- Report instrumentation info (#1098)
- Add support for http metrics (#1116)
- Populate resource attributes as per semantic conventions (#1053)
- Refactor
SpanContext.is_valid
from a method to a data attribute (#1005) - Moved samplers from API to SDK (#1023)
- Change return value type of
correlationcontext.get_correlations
to immutableMappingProxyType
(#1024) - Sampling spec changes (#1034)
- Remove lazy Event and Link API from Span interface (#1045)
- Rename CorrelationContext to Baggage (#1060)
- Rename HTTPTextFormat to TextMapPropagator. This change also updates
get_global_httptextformat
andset_global_httptextformat
toget_global_textmap
andset_global_textmap
(#1085) - Fix api/sdk setup.cfg to include missing python files (#1091)
- Improve BatchExportSpanProcessor (#1062)
- Rename Resource labels to attributes (#1082)
- Rename members of
trace.sampling.Decision
enum (#1115) - Merge
OTELResourceDetector
result when creating resources (#1096)
- Drop support for Python 3.4 (#1099)
0.12b0 - 2020-08-14
- Implement Views in metrics SDK (#596)
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904) - Stop TracerProvider and MeterProvider from being overridden (#959)
- Update default port to 55680 (#977)
- Add proper length zero padding to hex strings of traceId, spanId, parentId sent on the wire, for compatibility with jaeger-collector (#908)
- Send start_timestamp and convert labels to strings (#937)
- Renamed several packages (#953)
- Thrift URL for Jaeger exporter doesn't allow HTTPS (hardcoded to HTTP) (#978)
- Change reference names to opentelemetry-instrumentation-opentracing-shim (#969)
- Changed default Sampler to
ParentOrElse(AlwaysOn)
(#960) - Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904) - Update environment variable
OTEL_RESOURCE
toOTEL_RESOURCE_ATTRIBUTES
as per the specification
0.11b0 - 2020-07-28
- Add support for resources and resource detector (#853)
- Return INVALID_SPAN if no TracerProvider set for get_current_span (#751)
- Rename record_error to record_exception (#927)
- Update span exporter to use OpenTelemetry Proto v0.4.0 (#872)
0.10b0 - 2020-06-23
0.9b0 - 2020-06-10
- Adding trace.get_current_span, Removing Tracer.get_current_span (#552)
- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics (#789)
- Add start_pipeline to MeterProvider (#791)
- Initial release of opentelemetry-ext-otlp, opentelemetry-proto
- Move stateful & resource from Meter to MeterProvider (#751)
- Rename Measure to ValueRecorder in metrics (#761)
- Rename Observer to ValueObserver (#764)
- Log a warning when replacing the global Tracer/Meter provider (#856)
- bugfix: byte type attributes are decoded before adding to attributes dict (#775)
- Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation,
and console script
opentelemetry-auto-instrumentation
toopentelemetry-instrument
0.8b0 - 2020-05-27
- Add a new bootstrap command that enables automatic instrument installations. (#650)
- Handle boolean, integer and float values in Configuration (#662)
- bugfix: ensure status is always string (#640)
- Transform resource to tags when exporting (#707)
- Rename otcollector to opencensus (#695)
- Transform resource to tags when exporting (#645)
ext/boto
: Could not serialize attribute aws.region to tag when exporting via jaeger Serialize tuple type values by coercing them into a string, since Jaeger does not support tuple types. (#865)- Validate span attribute types in SDK (#678)
- Specify to_json indent from arguments (#718)
- Span.resource will now default to an empty resource (#724)
- bugfix: Fix error message (#729)
- deep copy empty attributes (#714)
0.7b1 - 2020-05-12
- Add reset for the global configuration object, for testing purposes (#636)
- Add support for programmatic instrumentation (#579)
- tracer.get_tracer now optionally accepts a TracerProvider (#602)
- Configuration object can now be used by any component of opentelemetry, including 3rd party instrumentations (#563)
- bugfix: configuration object now matches fields in a case-sensitive manner (#583)
- bugfix: configuration object now accepts all valid python variable names (#583)
- bugfix: configuration undefined attributes now return None instead of raising an AttributeError. (#583)
- bugfix: 'debug' field is now correct (#549)
- bugfix: enable auto-instrumentation command to work for custom entry points (e.g. flask_run) (#567)
- Exporter API: span parents are now always spancontext (#548)
- Console span exporter now prints prettier, more legible messages (#505)
- bugfix: B3 propagation now retrieves parentSpanId correctly (#621)
- bugfix: a DefaultSpan now longer causes an exception when used with tracer (#577)
- move last_updated_timestamp into aggregators instead of bound metric instrument (#522)
- bugfix: suppressing instrumentation in metrics to eliminate an infinite loop of telemetry (#529)
- bugfix: freezing span attribute sequences, reducing potential user errors (#529)
0.6b0 - 2020-03-30
- Add support for lazy events and links (#474)
- Adding is_remote flag to SpanContext, indicating when a span is remote (#516)
- Adding a solution to release metric handles and observers (#435)
- Initial release: opentelemetry-instrumentation
- Metrics API no longer uses LabelSet (#527)
- Allow digit as first char in vendor specific trace state key (#511)
- Exporting to collector now works (#508)
0.5b0 - 2020-03-16
- Adding Correlation Context API/SDK and propagator (#471)
- Adding a global configuration module to simplify setting and getting globals (#466)
- Adding named meters, removing batchers (#431)
- Adding attach/detach methods as per spec (#429)
- Adding OT Collector metrics exporter (#454)
- Initial release opentelemetry-ext-otcollector
- Rename metric handle to bound metric instrument (#470)
- Moving resources to sdk (#464)
- Implementing propagators to API to use context (#446)
- Renaming TraceOptions to TraceFlags (#450)
- Renaming TracerSource to TracerProvider (#441)
- Improve validation of attributes (#460)
- Re-raise errors caught in opentelemetry.sdk.trace.Tracer.use_span() (#469)
- Implement observer instrument (#425)
0.4a0 - 2020-02-21
- Added named Tracers (#301)
- Add int and valid sequenced to AttributeValue type (#368)
- Add ABC for Metric (#391)
- Metrics export pipeline, and stdout exporter (#341)
- Adding Context API Implementation (#395)
- Adding trace.get_tracer function (#430)
- Add runtime validation for set_attribute (#348)
- Add support for B3 ParentSpanID (#286)
- Implement MinMaxSumCount aggregator (#422)
- Initial release opentelemetry-ext-zipkin, opentelemetry-ext-prometheus
- Separate Default classes from interface descriptions (#311)
- Export span status (#367)
- Export span kind (#387)
- Set status for ended spans (#297 and #358)
- Use module loggers (#351)
- Protect start_time and end_time from being set manually by the user (#363)
- Set status in start_as_current_span (#377)
- Implement force_flush for span processors (#389)
- Set sampled flag on sampling trace (#407)
- Add io and formatter options to console exporter (#412)
- Clean up ProbabilitySample for 64 bit trace IDs (#238)
- Remove monotonic and absolute metric instruments (#410)
0.3a0 - 2019-12-11
- Add metrics exporters (#192)
- Implement extract and inject support for HTTP_HEADERS and TEXT_MAP formats (#256)
- Multiple tracing API/SDK changes
- Multiple metrics API/SDK changes
- Remove option to create unstarted spans from API (#290)
0.2a0 - 2019-10-29
- W3C TraceContext fixes and compliance tests (#228)
- Sampler API/SDK (#225)
- Initial release: opentelemetry-ext-jaeger, opentelemetry-opentracing-shim
- Multiple metrics API/SDK changes
- Multiple tracing API/SDK changes
- Multiple context API changes
- Multiple bugfixes and improvements
0.1a0 - 2019-09-30
- Initial release api/sdk