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 example for running Django with auto instrumentation (#1803)
- Moved
opentelemetry-instrumentation
to contrib repository (#1797)
1.1.0 - 2021-04-20
- Added
py.typed
file to every package. This should resolve a bunch of mypy errors for users. (#1720) - Add auto generated trace and resource attributes semantic conventions (#1759)
- Added
SpanKind
toshould_sample
parameters, suggest using parent span context's tracestate instead of manually passed in tracestate inshould_sample
(#1764) - Added experimental HTTP back propagators. (#1762)
- Zipkin exporter: Add support for timeout and implement shutdown (#1799)
- Adjust
B3Format
propagator to be spec compliant by not modifying context when propagation headers are not present/invalid/empty (#1728) - Silence unnecessary warning when creating a new Status object without description. (#1721)
- Update bootstrap cmd to use exact version when installing instrumentation packages. (#1722)
- Fix B3 propagator to never return None. (#1750)
- Added ProxyTracerProvider and ProxyTracer implementations to allow fetching provider and tracer instances before a global provider is set up. (#1726)
- Added
__contains__
toopentelementry.trace.span.TraceState
. (#1773) opentelemetry-opentracing-shim
Fix an issue in the shim where a Span was being wrapped in a NonRecordingSpan when it wasn't necessary. (#1776)- OTLP Exporter now uses the scheme in the endpoint to determine whether to establish a secure connection or not. (#1771)
1.0.0 - 2021-03-26
- Document how to work with fork process web server models(Gunicorn, uWSGI etc...) (#1609)
- Add
max_attr_value_length
support to Jaeger exporter (#1633) - Moved
use_span
from Tracer toopentelemetry.trace.use_span
. (#1668) opentelemetry.trace.use_span()
will now overwrite previously set status on span in case an exception is raised inside the context manager andset_status_on_exception
is set toTrue
. (#1668)- Add
udp_split_oversized_batches
support to jaeger exporter (#1500)
- remove
service_name
from constructor of jaeger and opencensus exporters and use of env variableOTEL_PYTHON_SERVICE_NAME
([#1669])(open-telemetry#1669) - Rename
IdsGenerator
toIdGenerator
(#1651) - Make TracerProvider's resource attribute private (#1652)
- Rename Resource's
create_empty
toget_empty
(#1653) - Renamed
BatchExportSpanProcessor
toBatchSpanProcessor
andSimpleExportSpanProcessor
toSimpleSpanProcessor
(#1656) - Rename
DefaultSpan
toNonRecordingSpan
(#1661) - Fixed distro configuration with
OTEL_TRACES_EXPORTER
env var set tootlp
(#1657) - Moving
Getter
,Setter
andTextMapPropagator
out ofopentelemetry.trace.propagation
and intoopentelemetry.propagators
(#1662) - Rename
BaggagePropagator
toW3CBaggagePropagator
(#1663) - Rename
JaegerSpanExporter
toJaegerExporter
and renameZipkinSpanExporter
toZipkinExporter
(#1664) - Expose
StatusCode
from theopentelemetry.trace
module (#1681) - Status now only sets
description
whenstatus_code
is set toStatusCode.ERROR
(#1673) - Update OTLP exporter to use OTLP proto
0.7.0
(#1674) - Remove time_ns from API and add a warning for older versions of Python (#1602)
- Hide implementation classes/variables in api/sdk (#1684)
- Cleanup OTLP exporter compression options, add tests (#1671)
- Initial documentation for environment variables (#1680)
- Change Zipkin exporter to obtain service.name from span (#1696)
- Split up
opentelemetry-exporter-jaeger
package intoopentelemetry-exporter-jaeger-proto-grpc
andopentelemetry-exporter-jaeger-thrift
packages to reduce dependencies for each one. (#1694) - Added
opentelemetry-exporter-otlp-proto-grpc
and changedopentelemetry-exporter-otlp
to install it as a dependency. This will allow for the next package/protocol to also be in its own package. (#1695) - Change Jaeger exporters to obtain service.name from span (#1703)
- Fixed an unset
OTEL_TRACES_EXPORTER
resulting in an error (#1707) - Split Zipkin exporter into
opentelemetry-exporter-zipkin-json
andopentelemetry-exporter-zipkin-proto-http
packages to reduce dependencies. Theopentelemetry-exporter-zipkin
installs both. (#1699) - Make setters and getters optional (#1690)
- Removed unused
get_hexadecimal_trace_id
andget_hexadecimal_span_id
methods. (#1675) - Remove
OTEL_EXPORTER_*_ INSECURE
env var (#1682) - Removing support for Python 3.5 (#1706)
0.19b0 - 2021-03-26
- remove
service_name
from constructor of jaeger and opencensus exporters and use of env variableOTEL_PYTHON_SERVICE_NAME
([#1669])(open-telemetry#1669) - Rename
IdsGenerator
toIdGenerator
(#1651)
- Removing support for Python 3.5 (#1706)
0.18b0 - 2021-02-16
- Add urllib to opentelemetry-bootstrap target list (#1584)
1.0.0rc1 - 2021-02-12
- Tracer provider environment variables are now consistent with the rest (#1571)
- Rename
TRACE_
toTRACES_
for environment variables (#1595) - Limits for Span attributes, events and links have been updated to 128 (1597)
- Read-only Span attributes have been moved to ReadableSpan class (#1560)
BatchExportSpanProcessor
flushes export queue when it reachesmax_export_batch_size
(#1521)
- 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)
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