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.
- Document how to work with fork process web server models(Gunicorn, uWSGI etc...) (#1609)
- Add
max_attr_value_lengthsupport to Jaeger exporter (#1633) - Moved
use_spanfrom 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_exceptionis set toTrue. (#1668)- Add
udp_split_oversized_batchessupport to jaeger exporter (#1500)
- remove
service_namefrom constructor of jaeger and opencensus exporters and use of env variableOTEL_PYTHON_SERVICE_NAME([#1669])(open-telemetry#1669) - Rename
IdsGeneratortoIdGenerator(#1651) - Make TracerProvider's resource attribute private (#1652)
- Rename Resource's
create_emptytoget_empty(#1653) - Renamed
BatchExportSpanProcessortoBatchSpanProcessorandSimpleExportSpanProcessortoSimpleSpanProcessor(#1656) - Rename
DefaultSpantoNonRecordingSpan(#1661) - Fixed distro configuration with
OTEL_TRACES_EXPORTERenv var set tootlp(#1657) - Moving
Getter,SetterandTextMapPropagatorout ofopentelemetry.trace.propagationand intoopentelemetry.propagators(#1662) - Rename
BaggagePropagatortoW3CBaggagePropagator(#1663) - Rename
JaegerSpanExportertoJaegerExporterand renameZipkinSpanExportertoZipkinExporter(#1664) - Expose
StatusCodefrom theopentelemetry.tracemodule (#1681) - Status now only sets
descriptionwhenstatus_codeis 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-jaegerpackage intoopentelemetry-exporter-jaeger-protoandopentelemetry-exporter-jaeger-thriftpackages to reduce dependencies for each one. (#1694)
- Removed unused
get_hexadecimal_trace_idandget_hexadecimal_span_idmethods. (#1675) - Remove
OTEL_EXPORTER_*_ INSECUREenv var (#1682)
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)
BatchExportSpanProcessorflushes export queue when it reachesmax_export_batch_size(#1521)
- Added
end_on_exitargument tostart_as_current_span(#1519) - Add
Span.set_attributesmethod 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
fieldsto 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
NoneforDictGetterif key not found (#1449) - Added support for Jaeger propagator (#1219)
- Remove dependency on SDK from
opentelemetry-instrumentationpackage. Theopentelemetry-sdkpackage now registers an entrypointopentelemetry_configuratorto allowopentelemetry-instrumentto load the configuration for the SDK (#1420) opentelemetry-exporter-zipkinAdd support for array attributes in Span and Resource exports (#1285)- Added
__repr__forDefaultSpan, addedtrace_flagsto__repr__ofSpanContext(#1485) opentelemetry-sdkAdd support for OTEL_TRACE_SAMPLER and OTEL_TRACE_SAMPLER_ARG env variables (#1496)- Adding
opentelemetry-distropackage to add default configuration for span exporter to OTLP (#1482)
opentelemetry-exporter-zipkinUpdated zipkin exporter status code and error tag (#1486)- Recreate span on every run of a
start_as_current_span-decorated function (#1451) opentelemetry-exporter-otlpHeaders are now passed in as tuple as metadata, instead of a string, which was incorrect. (#1507)opentelemetry-exporter-jaegerUpdated Jaeger exporter status code tag (#1488)opentelemetry-apiopentelemety-sdkMovedidsgeneratorinto sdk (#1514)opentelemetry-sdkThe 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-zipkinUpdate boolean attribute value transformation (#1509)- Move opentelemetry-opentracing-shim out of instrumentation folder (#1533)
opentelemetry-sdkThe JaegerPropagator has been moved into its own package:opentelemetry-propagator-jaeger(#1525)opentelemetry-exporter-jaeger,opentelemetry-exporter-zipkinUpdate InstrumentationInfo tag keys for Jaeger and Zipkin exporters (#1535)opentelemetry-sdkRemove rate property setter from TraceIdRatioBasedSampler (#1536)- Fix TraceState to adhere to specs (#1502)
- Update Resource
mergekey conflict precedence (#1544)
opentelemetry-apiRemove 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_exceptionmethod (#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_EXPORTERto theopentelemetry-instrumentcommand (#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
MetricRecordtoExportRecord(#1367) - Rename
RecordtoAccumulation(#1373) - Rename
MetertoAccumulator(#1372) - Fix
ParentBasedsampler for implicit parent spans. Fix alsotrace_stateerasure for dropped spans or spans sampled by theTraceIdRatioBasedsampler. (#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_startaccept 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_exceptionmethod (#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_SIZEandOTEL_BSP_EXPORT_TIMEOUT_MILLISenvironment variables (#1105) - Adding Resource to MeterRecord (#1209) s
- Store
ints asints in the global Configuration object (#1118) - Allow for Custom Trace and Span IDs Generation -
IdsGeneratorfor 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_lengthattribute 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_spananduse_spancan 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
urlargument 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_validfrom a method to a data attribute (#1005) - Moved samplers from API to SDK (#1023)
- Change return value type of
correlationcontext.get_correlationsto 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_httptextformatandset_global_httptextformattoget_global_textmapandset_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.Decisionenum (#1115) - Merge
OTELResourceDetectorresult 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
OPENTELEMETRYtoOTEL(#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
OPENTELEMETRYtoOTEL(#904) - Update environment variable
OTEL_RESOURCEtoOTEL_RESOURCE_ATTRIBUTESas 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-instrumentationtoopentelemetry-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