Releases: open-telemetry/opentelemetry-python
opentelemetry v0.15b0
opentelemetry-api
💥 Breaking Changes
- Updating status codes to adhere to spec (#1282)
🚀 Enhancements
- Add keys method to TextMap propagator Getter (#1196)
- Fix ConsoleSpanExporter exception (#1246)
- Updating limits for attributes, events, links (#1249)
opentelemetry-sdk
💥 Breaking Changes
🚀 Enhancements
- Allow None in sequence attributes values (#998)
- Set initial checkpoint timestamp in aggregators (#1237)
- Span.is_recording() returns false after span has ended (#1289)
- Fix b3 propagator entrypoint (#1265)
- Samplers to accept parent Context (#1267)
- Add keys method to TextMap propagator Getter (#1196)
- Make
SpanProcessor.on_start
accept parent Context (#1251) - Remove TracerProvider coupling from Tracer init (#1295)
opentelemetry-exporter-datadog
🚀 Enhancements
- Make
SpanProcessor.on_start
accept parent Context (#1251)
opentelemetry-exporter-jaeger
🚀 Enhancements
- Add support for Jaeger Span Exporter configuration by environment variables and change JaegerSpanExporter constructor parameters (#1114)
opentelemetry-exporter-otlp
🚀 Enhancements
opentelemetry-instrumentation-django
🚀 Enhancements
- Django instrumentation is now enabled by default but can be disabled by setting
OTEL_PYTHON_DJANGO_INSTRUMENT
toFalse
(#1239) - Span name resolves correctly for paths that also require a query parameter to match (#1309)
- Added capture of http.route (#1226)
- Add support for tracking http metrics (#1230)
- Record span status and http.status_code attribute on exception (#1257)
opentelemetry-instrumentation-flask
🚀 Enhancements
- Use
url.rule
instead ofrequest.endpoint
for span name (#1260)
opentelemetry-instrumentation-grpc
🚀 Enhancements
- Rewrite gRPC server interceptor (#1171)
opentelemetry-instrumentation-requests
🚀 Enhancements
- Add support for tracking http metrics (#1116)
opentelemetry v0.14b0
opentelemetry-api
💥 Breaking Changes
- Update baggage propagation header (#1194)
- Parent is now always passed in via Context, intead of Span or SpanContext (#1146)
🚀 Enhancements
- Add support for
OTEL_PROPAGATORS
(#1123) - Store
int
s asint
s in the global Configuration object
(#1118) - Make instances of SpanContext immutable (#1134)
- Allow for Custom Trace and Span IDs Generation -
IdsGenerator
for TracerProvider (#1153)
opentelemetry-sdk
💥 Breaking Changes
- Update sampling result names (#1128)
- Renaming metrics Batcher to Processor (#1203)
- Parent is now always passed in via Context, intead of Span or SpanContext (#1146)
🚀 Enhancements
- Add timestamps to aggregators (#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) - Allow for Custom Trace and Span IDs Generation -
IdsGenerator
for TracerProvider (#1153) - Event attributes are now immutable (#1195)
- 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)- Adding Resource to MeterRecord (#1209)
opentelemetry-exporter-datadog
🚀 Enhancements
- Add support for span resource labels and service name (#1074)
opentelemetry-exporter-otlp
💥 Breaking Changes
- Update OpenTelemetry protos to v0.5.0 (#1143)
🚀 Enhancements
- Add support for span resource labels and service name (#1074)
- Add timestamps to OTLP exporter (#1199)
opentelemetry-exporter-zipkin
🚀 Enhancements
- Add support for span resource labels and service name (#1074)
- Zipkin exporter now accepts a
max_tag_value_length
attribute to customize the maximum allowed size a tag value can have. (#1151)
opentelemetry-instrumentation-celery
🚀 Enhancements
- Span operation names now include the task type. (#1135)
- Added automatic context propagation. (#1135)
opentelemetry-instrumentation-django
🚀 Enhancements
- Changed span name extraction from request to comply semantic convention (#992)
- Added support for
OTEL_PYTHON_DJANGO_TRACED_REQUEST_ATTRS
(#1154)
opentelemetry-instrumentation-falcon
🚀 Enhancements
- Added support for
OTEL_PYTHON_FALCON_TRACED_REQUEST_ATTRS
(#1158)
opentelemetry-instrumentation-pymysql
🚀 Enhancements
- Bumped version from 0.9.3 to 0.10.1 (#1228)
opentelemetry-instrumentation-system-metrics
🐛 Bug Fixes
- Fix issue when specific metrics are not available in certain OS (#1207)
opentelemetry-instrumentation-tornado
🚀 Enhancements
- Added support for
OTEL_PYTHON_TORNADO_TRACED_REQUEST_ATTRS
(#1178)
opentelemetry-instrumentation
🚀 Enhancements
- Add support for http metrics (#1116)
🐛 Bug Fixes
- Fixed boostrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask (#1138)
opentelemetry v0.13b0
The 0.13b0 version officially drops support for Python 3.4 (#1099)
opentelemetry-api
💥 Breaking Changes
- Refactor
SpanContext.is_valid
from a method to a data attribute (#1005) - Moved samplers from API to SDK (#1023)
- Change is_recording_events to is_recording (#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)
🐛 Bug Fixes
- Change return value type of
correlationcontext.get_correlations
to immutableMappingProxyType
(#1024) - Fix api/sdk setup.cfg to include missing python files (#1091)
opentelemetry-sdk
💥 Breaking Changes
- Moved samplers from API to SDK (#1023)
- Sampling spec changes (#1034)
- Remove lazy Event and Link API from Span interface (#1045)
- Rename Resource labels to attributes (#1082)
- Rename members of
trace.sampling.Decision
enum (#1115)
🚀 Enhancements
- Improve BatchExportSpanProcessor (#1062)
- Populate resource attributes as per semantic conventions (#1053)
🐛 Bug Fixes
- Fix api/sdk setup.cfg to include missing python files (#1091)
opentelemetry-exporter-jaeger
🚀 Enhancements
- Report instrumentation info (#1098)
opentelemetry-exporter-otlp
🚀 Enhancements
opentelemetry-exporter-zipkin
🚀 Enhancements
- 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)
opentelemetry-instrumentation-aiohttp-client
🚀 Enhancements
- Updating span name to match semantic conventions (#972)
opentelemetry-instrumentation-dbapi
🐛 Bug Fixes
- cursors and connections now produce spans when used with context managers (#1028)
opentelemetry-instrumentation-falcon
🚀 Enhancements
- Initial release. Added instrumentation for Falcon 2.0+
opentelemetry-instrumentation-tornado
🚀 Enhancements
- Initial release. Supports Tornado 6.x on Python 3.5 and newer
opentelemetry v0.12.0
vBeta v12 release.
Update exporter package names
Change package names from "ext" to "exporter" (#953)
opentelemetry-ext-datadog -> opentelemetry-exporter-datadog
opentelemetry-ext-jaeger-> opentelemetry-exporter-jaeger
opentelemetry-ext-opencensusexporter-> opentelemetry-exporter-opencensus
opentelemetry-ext-otlp-> opentelemetry-exporter-otlp
opentelemetry-ext-prometheus-> opentelemetry-exporter-prometheus
opentelemetry-ext-zipkin-> opentelemetry-exporter-zipkin
Update instrumentation package names
Change package names from "ext" to "instrumentation" (#961, #966, #969)
opentelemetry-ext-aiohttp-client-> opentelemetry-instrumentation-aiohttp-client
opentelemetry-ext-asgi-> opentelemetry-instrumentation-asgi
opentelemetry-ext-asyncpg-> opentelemetry-instrumentation-asyncpg
opentelemetry-ext-boto-> opentelemetry-instrumentation-boto
opentelemetry-ext-botocore-> opentelemetry-instrumentation-botocore
opentelemetry-ext-celery-> opentelemetry-instrumentation-celery
opentelemetry-ext-dbapi-> opentelemetry-instrumentation-dbapi
opentelemetry-ext-django-> opentelemetry-instrumentation-django
opentelemetry-ext-elasticsearch-> opentelemetry-instrumentation-elasticsearch
opentelemetry-ext-flask-> opentelemetry-instrumentation-flask
opentelemetry-ext-grpc-> opentelemetry-instrumentation-grpc
opentelemetry-ext-jinja2-> opentelemetry-instrumentation-jinja2
opentelemetry-ext-mysql-> opentelemetry-instrumentation-mysql
opentelemetry-ext-opentracing-shim-> opentelemetry-instrumentation-opentracing-shim
opentelemetry-ext-psycopg2-> opentelemetry-instrumentation-psycopg2
opentelemetry-ext-pymemcache-> opentelemetry-instrumentation-pymemcache
opentelemetry-ext-pymongo-> opentelemetry-instrumentation-pymongo
opentelemetry-ext-pymysql-> opentelemetry-instrumentation-pymysql
opentelemetry-ext-pyramid-> opentelemetry-instrumentation-pyramid
opentelemetry-ext-redis-> opentelemetry-instrumentation-redis
opentelemetry-ext-requests-> opentelemetry-instrumentation-requests
opentelemetry-ext-sqlalchemy-> opentelemetry-instrumentation-sqlalchemy
opentelemetry-ext-sqlite3-> opentelemetry-instrumentation-sqlite3
opentelemetry-ext-system-metrics-> opentelemetry-instrumentation-system-metrics
opentelemetry-ext-wsgi-> opentelemetry-instrumentation-wsgi
opentelemetry-api
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904) - Stop TracerProvider and MeterProvider from being overridden (#959)
opentelemetry-sdk
- Changed default Sampler to
ParentOrElse(AlwaysOn)
(#960) - Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904) - Implement Views in metrics SDK (#596)
- Update environment variable OTEL_RESOURCE to OTEL_RESOURCE_ATTRIBUTES as per the specification (#973)
opentelemetry-instrumentation-django
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904)
opentelemetry-instrumentation-elasticsearch
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904)
opentelemetry-instrumentation-flask
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904)
opentelemetry-instrumentation-pyramid
- Update environment variable names, prefix changed from
OPENTELEMETRY
toOTEL
(#904)
opentelemetry-instrumentation-redis
- Update default SpanKind to
SpanKind.CLIENT
(#965)
opentelemetry v0.11.0
Beta v11 release.
opentelemetry-api
- Log a warning when replacing the global Tracer/Meter provider (#856)
- Return INVALID_SPAN if no TracerProvider set for get_current_span (#751)
- Rename record_error to record_exception (#927)
opentelemetry-sdk
- Add support for resources and resource detector (#853)
- Rename record_error to record_exception (#927)
opentelemetry-ext-asyncpg
- Shouldn't capture query parameters by default (#854)
opentelemetry-ext-boto
- bugfix: fails to export spans via jaeger (#866)
opentelemetry-ext-botocore
- bugfix: fails to export spans via jaeger (#866)
opentelemetry-ext-django
- Use one general exclude list instead of two (#872)
opentelemetry-ext-flask
- Use one general exclude list instead of two (#872)
opentelemetry-ext-grpc
opentelemetry-ext-jaeger
- 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)
opentelemetry-ext-mysql
- bugfix: Fix auto-instrumentation entry point for mysql (#858)
opentelemetry-ext-otlp
- Update span exporter to use OpenTelemetry Proto v0.4.0 (#872)
opentelemetry-ext-pyramid
- Use one general exclude list instead of two (#872)
opentelemetry-ext-wsgi
- Set span status on wsgi errors (#864)
opentelemetry-instrumentation-aiopg
- Initial release
opentelemetry-instrumentation-fastapi
- Initial release (#890)
opentelemetry v0.10.0
Beta v10 release.
opentelemetry-sdk
- Rename CounterAggregator -> SumAggregator (#816)
opentelemetry-exporter-cloud-monitoring
opentelemetry-exporter-cloud-trace
- Add g.co/agent label for Google internal metrics tracking (#833)
- Adding trouble-shooting tips (#827)
- Added Cloud Trace context propagation (#819)
- Added tests to tox coverage files (#804)
opentelemetry-ext-asyncpg
- Initial Release (#814)
opentelemetry-ext-celery
- Add instrumentation for Celery (#780)
opentelemetry-ext-elasticsearch
- Initial release (#747)
opentelemetry-ext-pymemcache
- Initial release (#772)
opentelemetry-instrumentation-starlette
- Initial release (#777)
opentelemetry-proto
- Regenerate proto code and add pyi stubs (#823)
opentelemetry v0.9.0
Beta v9 release.
docs
- Fix broken link (#763)
opentelemetry-api
- Adding trace.get_current_span, Removing Tracer.get_current_span (#552)
- Rename Measure to ValueRecorder (#761)
- Rename Observer to ValueObserver (#764)
- Add SumObserver and UpDownSumObserver in metrics (#789)
- Implement UpDownCounter instrument (#796)
- Move stateful from Meter to MeterProvider (#751)
opentelemetry-sdk
- Adding trace.get_current_span, Removing Tracer.get_current_span (#552)
- Flush metrics on exit (#749)
- Make force_flush available on SDK's tracer provider (#594)
- Rename Measure to ValueRecorder (#761)
- Rename Observer to ValueObserver (#764)
- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics (#789)
- Implement UpDownCounter instrument (#796)
- Move stateful & resource from Meter to MeterProvider (#751)
- Add start_pipeline to MeterProvider (#791)
- bugfix: byte type attributes are decoded before adding to attributes dict (#775)
opentelemetry-auto-instrumentation -> opentelemetry-instrumentation
- Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation and console script
opentelemetry-auto-instrumentation
toopentelemetry-instrument
opentelemetry-proto
- Add proto files (#728)
opentelemetry-ext-boto
- Add boto instrumentation (#665)
opentelemetry-ext-botocore
- Add botocore instrumentation (#689)
opentelemetry-exporter-cloud-monitoring
- Add cloud monitoring exporter (#739)
opentelemetry-exporter-cloud-trace
- Cloud Trace exporter (#698)
opentelemetry-ext-datadog
- Set sampling rate (#740)
opentelemetry-ext-otlp
- Add OTLP span exporter (#787)
opentelemetry-ext-pyramid
- Instrumentation for Pyramid (#776)
opentelemetry-ext-requests
opentelemetry-ext-opentracing-shim
- Add testbed for otshim (#727)
opentelemetry-ext-system-metrics
- Adding instrumentation to collect system metrics (#652)
opentelemetry v0.8.0
Beta v8 release.
docs
- Improvements to documentation, removed duplicated example (#658)
opentelemetry-api
- Handle boolean, integer and float values in Configuration (#662)
- bugfix: ensure status is always string (#640)
opentelemetry-sdk
- 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)
- bugfix: deep copy empty attributes (#714)
opentelemetry-auto-instrumentation
- Add a new bootstrap command that enables automatic instrument installations (#650)
opentelemetry-ext-asgi
- Add ASGI middleware (#716)
opentelemetry-ext-datadog
- Add exporter to Datadog (#572)
opentelemetry-ext-django
- Add exclude list for paths and hosts to prevent from tracing (#670)
- Add support for django >=1.10 (#717)
opentelemetry-ext-jaeger
- Transform resource to tags when exporting (#645)
opentelemetry-ext-otcollector - opentelemetry-ext-opencensusexporter
- Rename otcollector to opencensus (#695)
opentelemetry-ext-psycopg2
- Implement instrumentor interface, enabling auto-instrumentation (#694)
opentelemetry-ext-sqlite3
- Initial release (#683)
opentelemetry-ext-zipkin
- Transform resource to tags when exporting (#707)
opentelemetry v0.7.1
Beta v7 release.
opentelemetry-api
- Add reset for the global configuration object, for testing purposes (#636)
- 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)
opentelemetry-sdk
- Exporter API: span parents are now always spancontext (#548)
- tracer.get_tracer now optionally accepts a TracerProvider (#602)
- 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)
opentelemetry-auto-instrumentation
- Add support for programmatic instrumentation (#579)
- bugfix: enable auto-instrumentation command to work for custom entry points (e.g. flask_run) (#567)
opentelemetry-ext-aiohttp-client
- Add aiohttp client integration (#421)
opentelemetry-ext-dbapi
- Implement instrument_connection and uninstrument_connection (#624)
opentelemetry-ext-django
- Add django instrumentation (#593)
opentelemetry-ext-flask
- Add exclude list for paths and hosts (#630)
opentelemetry-ext-jinja2
- Add jinja2 instrumentation (#643)
opentelemetry-ext-mysql
- Implement instrumentor interface (#655)
opentelemetry-ext-pymongo
- Add support for auto-instrumentation (#612)
opentelemetry-ext-pymysql
- Add pymysql instrumentation (#504)
opentelemetry-ext-redis
- Add redis instrumentation (#595)
opentelemetry-ext-requests
- Rename package to opentelemetry-ext-requests (#619)
- Implement instrumentor interface, enabling auto-instrumentation (#597)
- Adding disable_session for more granular instrumentation control (#573)
- Add a callback for custom attributes (#656)
opentelemetry-ext-sqlalchemy
- Add sqlalchemy instrumentation (#591)
opentelemetry-ext-zipkin
- bugfix: 'debug' field is now correct (#549)
opentelemetry v0.6.0
Beta v6 release.
Documentation
Documentation continues to see large improvements, including re-organizing the examples to make them more discoverable.
READMEs and the getting started guide also have some corrections.
opentelemetry-api
- Add support for lazy events and links (#474)
- Metrics API no longer uses LabelSet (#527)
- Adding is_remote flag to SpanContext, indicating when a span is remote (#516)
- Allow digit as first char in vendor specific trace state key (#511)
opentelemetry-sdk
- Add support for lazy events and links (#474)
- Metrics API no longer uses LabelSet (#527)
- Adding is_remote flag to SpanContext, indicating when a span is remote (#516)
- Adding a solution to release metric handles and observers (#435)
opentelemetry-ext-flask
- Add an entry_point to be usable in auto-instrumentation (#327)
opentelemetry-ext-jaeger
- Exporting to collector now works (#508)
opentelemetry-ext-grpc
- Add gRPC integration (#476)
- Initial release