From 94e43394037a90fe7cfd6359668f9568c91105aa Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 3 Dec 2020 21:11:30 -0800 Subject: [PATCH 01/12] unify changelog --- CHANGELOG.md | 471 ++++++++++++++++++ .../CHANGELOG.md | 63 --- .../CHANGELOG.md | 39 -- .../opentelemetry-exporter-otlp/CHANGELOG.md | 70 --- .../CHANGELOG.md | 23 - .../CHANGELOG.md | 62 --- .../CHANGELOG.md | 30 -- opentelemetry-api/CHANGELOG.md | 212 -------- opentelemetry-instrumentation/CHANGELOG.md | 61 --- opentelemetry-proto/CHANGELOG.md | 30 -- opentelemetry-sdk/CHANGELOG.md | 284 ----------- 11 files changed, 471 insertions(+), 874 deletions(-) create mode 100644 CHANGELOG.md delete mode 100644 exporter/opentelemetry-exporter-jaeger/CHANGELOG.md delete mode 100644 exporter/opentelemetry-exporter-opencensus/CHANGELOG.md delete mode 100644 exporter/opentelemetry-exporter-otlp/CHANGELOG.md delete mode 100644 exporter/opentelemetry-exporter-prometheus/CHANGELOG.md delete mode 100644 exporter/opentelemetry-exporter-zipkin/CHANGELOG.md delete mode 100644 instrumentation/opentelemetry-instrumentation-opentracing-shim/CHANGELOG.md delete mode 100644 opentelemetry-api/CHANGELOG.md delete mode 100644 opentelemetry-instrumentation/CHANGELOG.md delete mode 100644 opentelemetry-proto/CHANGELOG.md delete mode 100644 opentelemetry-sdk/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000000..c7ae74f2b33 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,471 @@ +# Changelog + +## Unreleased + +- Add meter reference to observers + ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) +- Add `fields` to propagators + ([#1374](https://github.com/open-telemetry/opentelemetry-python/pull/1374)) + +## 0.16b1 + +Released 2020-11-26 + +- Add meter reference to observers + ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) + +## 0.16b0 + +Released 2020-11-25 + +- Add optional parameter to `record_exception` method + ([#1314](https://github.com/open-telemetry/opentelemetry-python/pull/1314)) +- Add pickle support to SpanContext class + ([#1380](https://github.com/open-telemetry/opentelemetry-python/pull/1380)) +- Add instrumentation library name and version to OTLP exported metrics + ([#1418](https://github.com/open-telemetry/opentelemetry-python/pull/1418)) +- Change temporality for Counter and UpDownCounter + ([#1384](https://github.com/open-telemetry/opentelemetry-python/pull/1384)) +- Add Gzip compression for exporter + ([#1141](https://github.com/open-telemetry/opentelemetry-python/pull/1141)) +- OTLP exporter: Handle error case when no credentials supplied + ([#1366](https://github.com/open-telemetry/opentelemetry-python/pull/1366)) +- Update protobuf versions + ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) +- Support for v2 api protobuf format + ([#1318](https://github.com/open-telemetry/opentelemetry-python/pull/1318)) +- Add IDs Generator as Configurable Property of Auto Instrumentation + ([#1404](https://github.com/open-telemetry/opentelemetry-python/pull/1404)) +- Added support for `OTEL_EXPORTER` to the `opentelemetry-instrument` command + ([#1036](https://github.com/open-telemetry/opentelemetry-python/pull/1036)) +- Add missing references to instrumented packages + ([#1416](https://github.com/open-telemetry/opentelemetry-python/pull/1416)) +- Instrumentation Package depends on the OTel SDK + ([#1405](https://github.com/open-telemetry/opentelemetry-python/pull/1405)) +- Allow samplers to modify tracestate + ([#1319](https://github.com/open-telemetry/opentelemetry-python/pull/1319)) +- Update exception handling optional parameters, add escaped attribute to record_exception + ([#1365](https://github.com/open-telemetry/opentelemetry-python/pull/1365)) +- Rename `MetricRecord` to `ExportRecord` + ([#1367](https://github.com/open-telemetry/opentelemetry-python/pull/1367)) +- Rename `Record` to `Accumulation` + ([#1373](https://github.com/open-telemetry/opentelemetry-python/pull/1373)) +- Rename `Meter` to `Accumulator` + ([#1372](https://github.com/open-telemetry/opentelemetry-python/pull/1372)) +- Fix `ParentBased` sampler for implicit parent spans. Fix also `trace_state` + erasure for dropped spans or spans sampled by the `TraceIdRatioBased` sampler. + ([#1394](https://github.com/open-telemetry/opentelemetry-python/pull/1394)) + +## 0.15b0 + +Released 2020-11-02 + +- Updating status codes to adhere to specs + ([#1282](https://github.com/open-telemetry/opentelemetry-python/pull/1282)) +- Add Env variables in OTLP exporter + ([#1101](https://github.com/open-telemetry/opentelemetry-python/pull/1101)) +- Set initial checkpoint timestamp in aggregators + ([#1237](https://github.com/open-telemetry/opentelemetry-python/pull/1237)) +- Add support for Jaeger Span Exporter configuration by environment variables and
+ change JaegerSpanExporter constructor parameters + ([#1114](https://github.com/open-telemetry/opentelemetry-python/pull/1114)) +- Make `SpanProcessor.on_start` accept parent Context + ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) +- Fix b3 propagator entrypoint + ([#1265](https://github.com/open-telemetry/opentelemetry-python/pull/1265)) +- Allow None in sequence attributes values + ([#998](https://github.com/open-telemetry/opentelemetry-python/pull/998)) +- Samplers to accept parent Context + ([#1267](https://github.com/open-telemetry/opentelemetry-python/pull/1267)) +- Span.is_recording() returns false after span has ended + ([#1289](https://github.com/open-telemetry/opentelemetry-python/pull/1289)) +- Allow samplers to modify tracestate + ([#1319](https://github.com/open-telemetry/opentelemetry-python/pull/1319)) +- Remove TracerProvider coupling from Tracer init + ([#1295](https://github.com/open-telemetry/opentelemetry-python/pull/1295)) + +## 0.14b0 + +Released 2020-10-13 +- Add optional parameter to `record_exception` method + ([#1242](https://github.com/open-telemetry/opentelemetry-python/pull/1242)) +- Add support for `OTEL_PROPAGATORS` + ([#1123](https://github.com/open-telemetry/opentelemetry-python/pull/1123)) +- Store `int`s as `int`s in the global Configuration object + ([#1118](https://github.com/open-telemetry/opentelemetry-python/pull/1118)) +- Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider + ([#1153](https://github.com/open-telemetry/opentelemetry-python/pull/1153)) +- Update baggage propagation header + ([#1194](https://github.com/open-telemetry/opentelemetry-python/pull/1194)) +- Make instances of SpanContext immutable + ([#1134](https://github.com/open-telemetry/opentelemetry-python/pull/1134)) +- Parent is now always passed in via Context, intead of Span or SpanContext + ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146)) +- Add keys method to TextMap propagator Getter + ([#1196](https://github.com/open-telemetry/opentelemetry-python/issues/1196)) +- Add timestamps to OTLP exporter + ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199)) +- Update OpenTelemetry protos to v0.5.0 + ([#1143](https://github.com/open-telemetry/opentelemetry-python/pull/1143)) +- Zipkin exporter now accepts a ``max_tag_value_length`` attribute to customize the + maximum allowed size a tag value can have. + ([#1151](https://github.com/open-telemetry/opentelemetry-python/pull/1151)) +- Fixed OTLP events to Zipkin annotations translation. + ([#1161](https://github.com/open-telemetry/opentelemetry-python/pull/1161)) +- Fixed bootstrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask. + ([#1138](https://github.com/open-telemetry/opentelemetry-python/pull/1138)) +- Add Global Error Handler + ([#1080](https://github.com/open-telemetry/opentelemetry-python/pull/1080)) +- Update sampling result names + ([#1128](https://github.com/open-telemetry/opentelemetry-python/pull/1128)) +- Add support for `OTEL_BSP_MAX_QUEUE_SIZE`, `OTEL_BSP_SCHEDULE_DELAY_MILLIS`, `OTEL_BSP_MAX_EXPORT_BATCH_SIZE` and `OTEL_BSP_EXPORT_TIMEOUT_MILLIS` environment variables + ([#1105](https://github.com/open-telemetry/opentelemetry-python/pull/1120)) +- Event attributes are now immutable + ([#1195](https://github.com/open-telemetry/opentelemetry-python/pull/1195)) +- Renaming metrics Batcher to Processor + ([#1203](https://github.com/open-telemetry/opentelemetry-python/pull/1203)) +- Protect access to Span implementation + ([#1188](https://github.com/open-telemetry/opentelemetry-python/pull/1188)) +- `start_as_current_span` and `use_span` can now optionally auto-record any exceptions raised inside the context manager. + ([#1162](https://github.com/open-telemetry/opentelemetry-python/pull/1162)) +- Adding Resource to MeterRecord + ([#1209](https://github.com/open-telemetry/opentelemetry-python/pull/1209)) + +## 0.13b0 + +Released 2020-09-17 + +- Refactor `SpanContext.is_valid` from a method to a data attribute + ([#1005](https://github.com/open-telemetry/opentelemetry-python/pull/1005)) +- Moved samplers from API to SDK + ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023)) +- Change return value type of `correlationcontext.get_correlations` to immutable `MappingProxyType` + ([#1024](https://github.com/open-telemetry/opentelemetry-python/pull/1024)) +- Sampling spec changes + ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034)) +- Remove lazy Event and Link API from Span interface + ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045)) +- Rename CorrelationContext to Baggage + ([#1060](https://github.com/open-telemetry/opentelemetry-python/pull/1060)) +- Rename HTTPTextFormat to TextMapPropagator. This change also updates `get_global_httptextformat` and + `set_global_httptextformat` to `get_global_textmap` and `set_global_textmap` + ([#1085](https://github.com/open-telemetry/opentelemetry-python/pull/1085)) +- Fix api/sdk setup.cfg to include missing python files + ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091)) +- Drop support for Python 3.4 + ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) +- Add instrumentation info to exported spans + ([#1095](https://github.com/open-telemetry/opentelemetry-python/pull/1095)) +- Add metric OTLP exporter + ([#835](https://github.com/open-telemetry/opentelemetry-python/pull/835)) +- Add type hints to OTLP exporter + ([#1121](https://github.com/open-telemetry/opentelemetry-python/pull/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 replace `host_name`, + `port`, `protocol`, `endpoint`. This brings this implementation inline with other + implementations. + ([#1064](https://github.com/open-telemetry/opentelemetry-python/pull/1064)) +- Zipkin exporter report instrumentation info. + ([#1097](https://github.com/open-telemetry/opentelemetry-python/pull/1097)) +- Add status mapping to tags + ([#1111](https://github.com/open-telemetry/opentelemetry-python/issues/1111)) +- Report instrumentation info + ([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098)) +- Add support for http metrics + ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) +- Improve BatchExportSpanProcessor + ([#1062](https://github.com/open-telemetry/opentelemetry-python/pull/1062)) +- Populate resource attributes as per semantic conventions + ([#1053](https://github.com/open-telemetry/opentelemetry-python/pull/1053)) +- Rename Resource labels to attributes + ([#1082](https://github.com/open-telemetry/opentelemetry-python/pull/1082)) +- Rename members of `trace.sampling.Decision` enum + ([#1115](https://github.com/open-telemetry/opentelemetry-python/pull/1115)) +- Merge `OTELResourceDetector` result when creating resources + ([#1096](https://github.com/open-telemetry/opentelemetry-python/pull/1096)) + +## 0.12b0 + +Released 2020-08-14 + +- Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- Stop TracerProvider and MeterProvider from being overridden + ([#959](https://github.com/open-telemetry/opentelemetry-python/pull/959)) +- Change package name to opentelemetry-exporter-otlp + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- Update default port to 55680 + ([#977](https://github.com/open-telemetry/opentelemetry-python/pull/977)) +- Change package name to opentelemetry-exporter-zipkin + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- Add proper length zero padding to hex strings of traceId, spanId, parentId sent on the wire, for compatibility with jaeger-collector + ([#908](https://github.com/open-telemetry/opentelemetry-python/pull/908)) +- Change package name to opentelemetry-exporter-prometheus + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- Change package name to opentelemetry-exporter-opencensus + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- Send start_timestamp and convert labels to strings + ([#937](https://github.com/open-telemetry/opentelemetry-python/pull/937)) +- Change package name to opentelemetry-exporter-jaeger + ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) +- Thrift URL for Jaeger exporter doesn't allow HTTPS (hardcoded to HTTP) + ([#978] (https://github.com/open-telemetry/opentelemetry-python/pull/978)) +- Change reference names to opentelemetry-instrumentation-opentracing-shim + ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) +- Changed default Sampler to `ParentOrElse(AlwaysOn)` + ([#960](https://github.com/open-telemetry/opentelemetry-python/pull/960)) +- Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` + ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) +- Implement Views in metrics SDK + ([#596](https://github.com/open-telemetry/opentelemetry-python/pull/596)) +- Update environment variable OTEL_RESOURCE to OTEL_RESOURCE_ATTRIBUTES as per + the specification + +## 0.11b0 + +- Return INVALID_SPAN if no TracerProvider set for get_current_span + ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) +- Rename record_error to record_exception + ([#927](https://github.com/open-telemetry/opentelemetry-python/pull/927)) +- Update span exporter to use OpenTelemetry Proto v0.4.0 + ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/889)) +- Add support for resources and resource detector + ([#853](https://github.com/open-telemetry/opentelemetry-python/pull/853)) + +## 0.10b0 + +Released 2020-06-23 + +- Regenerate proto code and add pyi stubs + ([#823](https://github.com/open-telemetry/opentelemetry-python/pull/823)) +- Rename CounterAggregator -> SumAggregator + ([#816](https://github.com/open-telemetry/opentelemetry-python/pull/816)) + +## 0.9b0 + +Released 2020-06-10 + +- Move stateful & resource from Meter to MeterProvider + ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) +- Rename Measure to ValueRecorder in metrics + ([#761](https://github.com/open-telemetry/opentelemetry-python/pull/761)) +- Adding trace.get_current_span, Removing Tracer.get_current_span + ([#552](https://github.com/open-telemetry/opentelemetry-python/pull/552)) +- Rename Observer to ValueObserver + ([#764](https://github.com/open-telemetry/opentelemetry-python/pull/764)) +- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics + ([#789](https://github.com/open-telemetry/opentelemetry-python/pull/789)) +- Log a warning when replacing the global Tracer/Meter provider + ([#856](https://github.com/open-telemetry/opentelemetry-python/pull/856)) +- bugfix: byte type attributes are decoded before adding to attributes dict + ([#775](https://github.com/open-telemetry/opentelemetry-python/pull/775)) +- Add start_pipeline to MeterProvider + ([#791](https://github.com/open-telemetry/opentelemetry-python/pull/791)) +- Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation, + and console script `opentelemetry-auto-instrumentation` to `opentelemetry-instrument` +- Initial release of opentelemetry-ext-otlp, opentelemetry-proto + +## 0.8b0 + +Released 2020-05-27 + +- Handle boolean, integer and float values in Configuration + ([#662](https://github.com/open-telemetry/opentelemetry-python/pull/662)) +- bugfix: ensure status is always string + ([#640](https://github.com/open-telemetry/opentelemetry-python/pull/640)) +- Transform resource to tags when exporting + ([#707](https://github.com/open-telemetry/opentelemetry-python/pull/707)) +- Rename otcollector to opencensus + ([#695](https://github.com/open-telemetry/opentelemetry-python/pull/695)) +- Transform resource to tags when exporting + ([#645](https://github.com/open-telemetry/opentelemetry-python/pull/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](https://github.com/open-telemetry/opentelemetry-python/pull/865)) +- Add a new bootstrap command that enables automatic instrument installations. + ([#650](https://github.com/open-telemetry/opentelemetry-python/pull/650)) +- Validate span attribute types in SDK + ([#678](https://github.com/open-telemetry/opentelemetry-python/pull/678)) +- Specify to_json indent from arguments + ([#718](https://github.com/open-telemetry/opentelemetry-python/pull/718)) +- Span.resource will now default to an empty resource + ([#724](https://github.com/open-telemetry/opentelemetry-python/pull/724)) +- bugfix: Fix error message + ([#729](https://github.com/open-telemetry/opentelemetry-python/pull/729)) +- deep copy empty attributes + ([#714](https://github.com/open-telemetry/opentelemetry-python/pull/714)) + +## 0.7b1 + +Released 2020-05-12 + +- Add reset for the global configuration object, for testing purposes + ([#636](https://github.com/open-telemetry/opentelemetry-python/pull/636)) +- tracer.get_tracer now optionally accepts a TracerProvider + ([#602](https://github.com/open-telemetry/opentelemetry-python/pull/602)) +- Configuration object can now be used by any component of opentelemetry, + including 3rd party instrumentations + ([#563](https://github.com/open-telemetry/opentelemetry-python/pull/563)) +- bugfix: configuration object now matches fields in a case-sensitive manner + ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) +- bugfix: configuration object now accepts all valid python variable names + ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) +- bugfix: configuration undefined attributes now return None instead of raising + an AttributeError. + ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) +- bugfix: 'debug' field is now correct + ([#549](https://github.com/open-telemetry/opentelemetry-python/pull/549)) +- Add support for programmatic instrumentation + ([#579](https://github.com/open-telemetry/opentelemetry-python/pull/569)) +- bugfix: enable auto-instrumentation command to work for custom entry points + (e.g. flask_run) + ([#567](https://github.com/open-telemetry/opentelemetry-python/pull/567)) +- Exporter API: span parents are now always spancontext + ([#548](https://github.com/open-telemetry/opentelemetry-python/pull/548)) +- Console span exporter now prints prettier, more legible messages + ([#505](https://github.com/open-telemetry/opentelemetry-python/pull/505)) +- bugfix: B3 propagation now retrieves parentSpanId correctly + ([#621](https://github.com/open-telemetry/opentelemetry-python/pull/621)) +- bugfix: a DefaultSpan now longer causes an exception when used with tracer + ([#577](https://github.com/open-telemetry/opentelemetry-python/pull/577)) +- move last_updated_timestamp into aggregators instead of bound metric + instrument + ([#522](https://github.com/open-telemetry/opentelemetry-python/pull/522)) +- bugfix: suppressing instrumentation in metrics to eliminate an infinite loop + of telemetry + ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) +- bugfix: freezing span attribute sequences, reducing potential user errors + ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) + +## 0.6b0 + +Released 2020-03-30 + +- Add support for lazy events and links + ([#474](https://github.com/open-telemetry/opentelemetry-python/pull/474)) +- Metrics API no longer uses LabelSet + ([#527](https://github.com/open-telemetry/opentelemetry-python/pull/527)) +- Adding is_remote flag to SpanContext, indicating when a span is remote + ([#516](https://github.com/open-telemetry/opentelemetry-python/pull/516)) +- Allow digit as first char in vendor specific trace state key + ([#511](https://github.com/open-telemetry/opentelemetry-python/pull/511)) +- Exporting to collector now works + ([#508](https://github.com/open-telemetry/opentelemetry-python/pull/508)) +- Adding a solution to release metric handles and observers + ([#435](https://github.com/open-telemetry/opentelemetry-python/pull/435)) +- Initial release: opentelemetry-instrumentation + +## 0.5b0 + +Released 2020-03-16 + +- Adding Correlation Context API/SDK and propagator + ([#471](https://github.com/open-telemetry/opentelemetry-python/pull/471)) +- Adding a global configuration module to simplify setting and getting globals + ([#466](https://github.com/open-telemetry/opentelemetry-python/pull/466)) +- Rename metric handle to bound metric instrument + ([#470](https://github.com/open-telemetry/opentelemetry-python/pull/470)) +- Moving resources to sdk + ([#464](https://github.com/open-telemetry/opentelemetry-python/pull/464)) +- Implementing propagators to API to use context + ([#446](https://github.com/open-telemetry/opentelemetry-python/pull/446)) +- Adding named meters, removing batchers + ([#431](https://github.com/open-telemetry/opentelemetry-python/pull/431)) +- Renaming TraceOptions to TraceFlags + ([#450](https://github.com/open-telemetry/opentelemetry-python/pull/450)) +- Renaming TracerSource to TracerProvider + ([#441](https://github.com/open-telemetry/opentelemetry-python/pull/441)) +- Adding attach/detach methods as per spec + ([#429](https://github.com/open-telemetry/opentelemetry-python/pull/429)) +- Adding OT Collector metrics exporter + ([#454](https://github.com/open-telemetry/opentelemetry-python/pull/454)) +- Improve validation of attributes + ([#460](https://github.com/open-telemetry/opentelemetry-python/pull/460)) +- Re-raise errors caught in opentelemetry.sdk.trace.Tracer.use_span() + ([#469](https://github.com/open-telemetry/opentelemetry-python/pull/469)) +- Implement observer instrument + ([#425](https://github.com/open-telemetry/opentelemetry-python/pull/425)) +- Initial release opentelemetry-ext-otcollector + +## 0.4a0 + +Released 2020-02-21 + +- Separate Default classes from interface descriptions + ([#311](https://github.com/open-telemetry/opentelemetry-python/pull/311)) +- Added named Tracers + ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301)) +- Add int and valid sequenced to AttributeValue type + ([#368](https://github.com/open-telemetry/opentelemetry-python/pull/368)) +- Add ABC for Metric + ([#391](https://github.com/open-telemetry/opentelemetry-python/pull/391)) +- Metrics export pipeline, and stdout exporter + ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/341)) +- Adding Context API Implementation + ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395)) +- Remove monotonic and absolute metric instruments + ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) +- Adding trace.get_tracer function + ([#430](https://github.com/open-telemetry/opentelemetry-python/pull/430)) +- Export span status + ([#367](https://github.com/open-telemetry/opentelemetry-python/pull/367)) +- Export span kind + ([#387](https://github.com/open-telemetry/opentelemetry-python/pull/387)) +- Set status for ended spans + ([#297](https://github.com/open-telemetry/opentelemetry-python/pull/297) and + [#358](https://github.com/open-telemetry/opentelemetry-python/pull/358)) +- Use module loggers + ([#351](https://github.com/open-telemetry/opentelemetry-python/pull/351)) +- Protect start_time and end_time from being set manually by the user + ([#363](https://github.com/open-telemetry/opentelemetry-python/pull/363)) +- Add runtime validation for set_attribute + ([#348](https://github.com/open-telemetry/opentelemetry-python/pull/348)) +- Add support for B3 ParentSpanID + ([#286](https://github.com/open-telemetry/opentelemetry-python/pull/286)) +- Set status in start_as_current_span + ([#377](https://github.com/open-telemetry/opentelemetry-python/pull/377)) +- Implement force_flush for span processors + ([#389](https://github.com/open-telemetry/opentelemetry-python/pull/389)) +- Set sampled flag on sampling trace + ([#407](https://github.com/open-telemetry/opentelemetry-python/pull/407)) +- Add io and formatter options to console exporter + ([#412](https://github.com/open-telemetry/opentelemetry-python/pull/412)) +- Clean up ProbabilitySample for 64 bit trace IDs + ([#238](https://github.com/open-telemetry/opentelemetry-python/pull/238)) +- Implement MinMaxSumCount aggregator + ([#422](https://github.com/open-telemetry/opentelemetry-python/pull/422)) +- Initial release opentelemetry-ext-zipkin, opentelemetry-ext-prometheus + +## 0.3a0 + +Released 2019-12-11 + +- Multiple tracing API/SDK changes +- Multiple metrics API/SDK changes +- Remove option to create unstarted spans from API + ([#290](https://github.com/open-telemetry/opentelemetry-python/pull/290)) +- Add metrics exporters + ([#192](https://github.com/open-telemetry/opentelemetry-python/pull/192)) +- Implement extract and inject support for HTTP_HEADERS and TEXT_MAP formats + ([#256](https://github.com/open-telemetry/opentelemetry-python/pull/256)) + +## 0.2a0 + +Released 2019-10-29 + +- W3C TraceContext fixes and compliance tests + ([#228](https://github.com/open-telemetry/opentelemetry-python/pull/228)) +- Multiple metrics API/SDK changes +- Multiple tracing API/SDK changes +- Multiple context API changes +- Sampler API/SDK + ([#225](https://github.com/open-telemetry/opentelemetry-python/pull/225)) +- Multiple bugfixes and improvements +- Initial release: opentelemetry-ext-jaeger, opentelemetry-opentracing-shim + +## 0.1a0 + +Released 2019-09-30 + +- Initial release api/sdk diff --git a/exporter/opentelemetry-exporter-jaeger/CHANGELOG.md b/exporter/opentelemetry-exporter-jaeger/CHANGELOG.md deleted file mode 100644 index 32454b4bca6..00000000000 --- a/exporter/opentelemetry-exporter-jaeger/CHANGELOG.md +++ /dev/null @@ -1,63 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.15b0 - -Released 2020-11-02 -- Add support for Jaeger Span Exporter configuration by environment variables and
- change JaegerSpanExporter constructor parameters - ([#1114](https://github.com/open-telemetry/opentelemetry-python/pull/1114)) - -## Version 0.13b0 - -Released 2020-09-17 -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) -- Report instrumentation info - ([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Change package name to opentelemetry-exporter-jaeger - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - -- Thrift URL for Jaeger exporter doesn't allow HTTPS (hardcoded to HTTP) - ([#978] (https://github.com/open-telemetry/opentelemetry-python/pull/978)) - -## 0.8b0 - -Released 2020-05-27 - -- Transform resource to tags when exporting - ([#645](https://github.com/open-telemetry/opentelemetry-python/pull/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](https://github.com/open-telemetry/opentelemetry-python/pull/865)) - -## 0.6b0 - -Released 2020-03-30 - -- Exporting to collector now works - ([#508](https://github.com/open-telemetry/opentelemetry-python/pull/508)) - -## 0.4a0 - -Released 2020-02-21 - -- Export span status ([#367](https://github.com/open-telemetry/opentelemetry-python/pull/367)) -- Export span kind ([#387](https://github.com/open-telemetry/opentelemetry-python/pull/387)) - -## 0.3a0 - -Released 2019-12-11 - -## 0.2a0 - -Released 2019-10-29 - -- Initial release diff --git a/exporter/opentelemetry-exporter-opencensus/CHANGELOG.md b/exporter/opentelemetry-exporter-opencensus/CHANGELOG.md deleted file mode 100644 index 33ccae1d455..00000000000 --- a/exporter/opentelemetry-exporter-opencensus/CHANGELOG.md +++ /dev/null @@ -1,39 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.16b0 - -Released 2020-11-25 - -- Update protobuf versions - ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Drop support for Python 3.4' - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Change package name to opentelemetry-exporter-opencensus - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- Send start_timestamp and convert labels to strings - ([#937](https://github.com/open-telemetry/opentelemetry-python/pull/937)) - -## 0.8b0 - -Released 2020-05-27 - -- Rename otcollector to opencensus - ([#695](https://github.com/open-telemetry/opentelemetry-python/pull/695)) - -## 0.5b0 - -Released 2020-03-16 - -- Initial release. diff --git a/exporter/opentelemetry-exporter-otlp/CHANGELOG.md b/exporter/opentelemetry-exporter-otlp/CHANGELOG.md deleted file mode 100644 index e3968d6825e..00000000000 --- a/exporter/opentelemetry-exporter-otlp/CHANGELOG.md +++ /dev/null @@ -1,70 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.16b1 - -Released 2020-11-26 - -- Add meter reference to observers - ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) - -## Version 0.16b0 - -Released 2020-11-25 - -- Add instrumentation library name and version to OTLP exported metrics - ([#1418](https://github.com/open-telemetry/opentelemetry-python/pull/1418)) -- Change temporality for Counter and UpDownCounter - ([#1384](https://github.com/open-telemetry/opentelemetry-python/pull/1384)) -- Add Gzip compression for exporter - ([#1141](https://github.com/open-telemetry/opentelemetry-python/pull/1141)) -- OTLP exporter: Handle error case when no credentials supplied - ([#1366](https://github.com/open-telemetry/opentelemetry-python/pull/1366)) -## Version 0.15b0 - -Released 2020-11-02 - -- Add Env variables in OTLP exporter - ([#1101](https://github.com/open-telemetry/opentelemetry-python/pull/1101)) -- Do not use bound instruments in OTLP exporter - ([#1237](https://github.com/open-telemetry/opentelemetry-python/pull/1237)) - -## Version 0.14b0 - -Released 2020-10-13 - -- Add timestamps to OTLP exporter - ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199)) -- Update OpenTelemetry protos to v0.5.0 - ([#1143](https://github.com/open-telemetry/opentelemetry-python/pull/1143)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Add instrumentation info to exported spans - ([#1095](https://github.com/open-telemetry/opentelemetry-python/pull/1095)) -- Add metric OTLP exporter - ([#835](https://github.com/open-telemetry/opentelemetry-python/pull/835)) -- Add type hints to OTLP exporter - ([#1121](https://github.com/open-telemetry/opentelemetry-python/pull/1121)) - -## Version 0.12b0 - -- Change package name to opentelemetry-exporter-otlp - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- Update default port to 55680 - ([#977](https://github.com/open-telemetry/opentelemetry-python/pull/977)) - -## Version 0.11b0 - -Released 2020-07-28 - -- Update span exporter to use OpenTelemetry Proto v0.4.0 ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/889)) - -## 0.9b0 - -Released 2020-06-10 - -- Initial release diff --git a/exporter/opentelemetry-exporter-prometheus/CHANGELOG.md b/exporter/opentelemetry-exporter-prometheus/CHANGELOG.md deleted file mode 100644 index 618e2c41460..00000000000 --- a/exporter/opentelemetry-exporter-prometheus/CHANGELOG.md +++ /dev/null @@ -1,23 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.13b0 - -Released 2020-09-17 - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Change package name to opentelemetry-exporter-prometheus - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - -## 0.4a0 - -Released 2020-02-21 - -- Initial release diff --git a/exporter/opentelemetry-exporter-zipkin/CHANGELOG.md b/exporter/opentelemetry-exporter-zipkin/CHANGELOG.md deleted file mode 100644 index bb10a1a629b..00000000000 --- a/exporter/opentelemetry-exporter-zipkin/CHANGELOG.md +++ /dev/null @@ -1,62 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.16b0 - -Released 2020-11-25 - -- Support for v2 api protobuf format ([#1318](https://github.com/open-telemetry/opentelemetry-python/pull/1318)) - -## Version 0.14b0 - -Released 2020-10-13 - -- Zipkin exporter now accepts a ``max_tag_value_length`` attribute to customize the - maximum allowed size a tag value can have. ([#1151](https://github.com/open-telemetry/opentelemetry-python/pull/1151)) -- Fixed OTLP events to Zipkin annotations translation. ([#1161](https://github.com/open-telemetry/opentelemetry-python/pull/1161)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Add support for OTEL_EXPORTER_ZIPKIN_ENDPOINT env var. As part of this change, the - configuration of the ZipkinSpanExporter exposes a `url` argument to replace `host_name`, - `port`, `protocol`, `endpoint`. This brings this implementation inline with other - implementations. - ([#1064](https://github.com/open-telemetry/opentelemetry-python/pull/1064)) -- Zipkin exporter report instrumentation info. - ([#1097](https://github.com/open-telemetry/opentelemetry-python/pull/1097)) -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) -- Add status mapping to tags - ([#1111](https://github.com/open-telemetry/opentelemetry-python/issues/1111)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Change package name to opentelemetry-exporter-zipkin - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- Add proper length zero padding to hex strings of traceId, spanId, parentId sent on the wire, for compatibility with jaeger-collector - ([#908](https://github.com/open-telemetry/opentelemetry-python/pull/908)) - -## 0.8b0 - -Released 2020-05-27 - -- Transform resource to tags when exporting - ([#707](https://github.com/open-telemetry/opentelemetry-python/pull/707)) - -## 0.7b1 - -Released 2020-05-12 - -- bugfix: 'debug' field is now correct - ([#549](https://github.com/open-telemetry/opentelemetry-python/pull/549)) - -## 0.4a0 - -Released 2020-02-21 - -- Initial release diff --git a/instrumentation/opentelemetry-instrumentation-opentracing-shim/CHANGELOG.md b/instrumentation/opentelemetry-instrumentation-opentracing-shim/CHANGELOG.md deleted file mode 100644 index be243d95847..00000000000 --- a/instrumentation/opentelemetry-instrumentation-opentracing-shim/CHANGELOG.md +++ /dev/null @@ -1,30 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.13b0 - -Released 2020-09-17 - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Change reference names to opentelemetry-instrumentation-opentracing-shim - ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) - -## 0.3a0 - -Released 2019-12-11 - -- Implement extract and inject support for HTTP_HEADERS and TEXT_MAP formats - ([#256](https://github.com/open-telemetry/opentelemetry-python/pull/256)) - -## 0.2a0 - -Released 2019-10-29 - -- Initial release diff --git a/opentelemetry-api/CHANGELOG.md b/opentelemetry-api/CHANGELOG.md deleted file mode 100644 index 84604f4bb27..00000000000 --- a/opentelemetry-api/CHANGELOG.md +++ /dev/null @@ -1,212 +0,0 @@ -# Changelog - -## Unreleased - -- Add `fields` to propagators - ([#1374](https://github.com/open-telemetry/opentelemetry-python/pull/1374)) - -## Version 0.16b0 - -Released 2020-11-25 - -- Add optional parameter to `record_exception` method - ([#1314](https://github.com/open-telemetry/opentelemetry-python/pull/1314)) -- Add pickle support to SpanContext class - ([#1380](https://github.com/open-telemetry/opentelemetry-python/pull/1380)) - -## Version 0.15b0 - -Released 2020-11-02 - -- Updating status codes to adhere to specs - ([#1282](https://github.com/open-telemetry/opentelemetry-python/pull/1282)) - -## Version 0.14b0 - -Released 2020-10-13 -- Add optional parameter to `record_exception` method - ([#1242](https://github.com/open-telemetry/opentelemetry-python/pull/1242)) -- Add support for `OTEL_PROPAGATORS` - ([#1123](https://github.com/open-telemetry/opentelemetry-python/pull/1123)) -- Store `int`s as `int`s in the global Configuration object - ([#1118](https://github.com/open-telemetry/opentelemetry-python/pull/1118)) -- Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider - ([#1153](https://github.com/open-telemetry/opentelemetry-python/pull/1153)) -- Update baggage propagation header - ([#1194](https://github.com/open-telemetry/opentelemetry-python/pull/1194)) -- Make instances of SpanContext immutable - ([#1134](https://github.com/open-telemetry/opentelemetry-python/pull/1134)) -- Parent is now always passed in via Context, intead of Span or SpanContext - ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146)) -- Add keys method to TextMap propagator Getter - ([#1196](https://github.com/open-telemetry/opentelemetry-python/issues/1196)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Refactor `SpanContext.is_valid` from a method to a data attribute - ([#1005](https://github.com/open-telemetry/opentelemetry-python/pull/1005)) -- Moved samplers from API to SDK - ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023)) -- Change return value type of `correlationcontext.get_correlations` to immutable `MappingProxyType` - ([#1024](https://github.com/open-telemetry/opentelemetry-python/pull/1024)) -- Change is_recording_events to is_recording - ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034)) -- Remove lazy Event and Link API from Span interface - ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045)) -- Rename CorrelationContext to Baggage - ([#1060](https://github.com/open-telemetry/opentelemetry-python/pull/1060)) -- Rename HTTPTextFormat to TextMapPropagator. This change also updates `get_global_httptextformat` and - `set_global_httptextformat` to `get_global_textmap` and `set_global_textmap` - ([#1085](https://github.com/open-telemetry/opentelemetry-python/pull/1085)) -- Fix api/sdk setup.cfg to include missing python files - ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091)) -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- Stop TracerProvider and MeterProvider from being overridden - ([#959](https://github.com/open-telemetry/opentelemetry-python/pull/959)) - -## Version 0.11b0 - -- Return INVALID_SPAN if no TracerProvider set for get_current_span - ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) -- Rename record_error to record_exception - ([#927](https://github.com/open-telemetry/opentelemetry-python/pull/927)) - -## 0.9b0 - -Released 2020-06-10 - -- Move stateful from Meter to MeterProvider - ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) -- Rename Measure to ValueRecorder in metrics - ([#761](https://github.com/open-telemetry/opentelemetry-python/pull/761)) -- Adding trace.get_current_span, Removing Tracer.get_current_span - ([#552](https://github.com/open-telemetry/opentelemetry-python/pull/552)) -- Rename Observer to ValueObserver - ([#764](https://github.com/open-telemetry/opentelemetry-python/pull/764)) -- Add SumObserver and UpDownSumObserver in metrics - ([#789](https://github.com/open-telemetry/opentelemetry-python/pull/789)) -- Log a warning when replacing the global Tracer/Meter provider - ([#856](https://github.com/open-telemetry/opentelemetry-python/pull/856)) - -## 0.8b0 - -Released 2020-05-27 - -- Handle boolean, integer and float values in Configuration - ([#662](https://github.com/open-telemetry/opentelemetry-python/pull/662)) -- bugfix: ensure status is always string - ([#640](https://github.com/open-telemetry/opentelemetry-python/pull/640)) - -## 0.7b1 - -Released 2020-05-12 - -- Add reset for the global configuration object, for testing purposes - ([#636](https://github.com/open-telemetry/opentelemetry-python/pull/636)) -- tracer.get_tracer now optionally accepts a TracerProvider - ([#602](https://github.com/open-telemetry/opentelemetry-python/pull/602)) -- Configuration object can now be used by any component of opentelemetry, - including 3rd party instrumentations - ([#563](https://github.com/open-telemetry/opentelemetry-python/pull/563)) -- bugfix: configuration object now matches fields in a case-sensitive manner - ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) -- bugfix: configuration object now accepts all valid python variable names - ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) -- bugfix: configuration undefined attributes now return None instead of raising - an AttributeError. - ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) - -## 0.6b0 - -Released 2020-03-30 - -- Add support for lazy events and links - ([#474](https://github.com/open-telemetry/opentelemetry-python/pull/474)) -- Metrics API no longer uses LabelSet - ([#527](https://github.com/open-telemetry/opentelemetry-python/pull/527)) -- Adding is_remote flag to SpanContext, indicating when a span is remote - ([#516](https://github.com/open-telemetry/opentelemetry-python/pull/516)) -- Allow digit as first char in vendor specific trace state key - ([#511](https://github.com/open-telemetry/opentelemetry-python/pull/511)) - -## 0.5b0 - -Released 2020-03-16 - -- Adding Correlation Context API and propagator - ([#471](https://github.com/open-telemetry/opentelemetry-python/pull/471)) -- Adding a global configuration module to simplify setting and getting globals - ([#466](https://github.com/open-telemetry/opentelemetry-python/pull/466)) -- Rename metric handle to bound metric instrument - ([#470](https://github.com/open-telemetry/opentelemetry-python/pull/470)) -- Moving resources to sdk - ([#464](https://github.com/open-telemetry/opentelemetry-python/pull/464)) -- Implementing propagators to API to use context - ([#446](https://github.com/open-telemetry/opentelemetry-python/pull/446)) -- Adding named meters, removing batchers - ([#431](https://github.com/open-telemetry/opentelemetry-python/pull/431)) -- Renaming TraceOptions to TraceFlags - ([#450](https://github.com/open-telemetry/opentelemetry-python/pull/450)) -- Renaming TracerSource to TracerProvider - ([#441](https://github.com/open-telemetry/opentelemetry-python/pull/441)) -- Adding attach/detach methods as per spec - ([#429](https://github.com/open-telemetry/opentelemetry-python/pull/450) - -## 0.4a0 - -Released 2020-02-21 - -- Separate Default classes from interface descriptions - ([#311](https://github.com/open-telemetry/opentelemetry-python/pull/311)) -- Added named Tracers - ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301)) -- Add int and valid sequenced to AttributeValue type - ([#368](https://github.com/open-telemetry/opentelemetry-python/pull/368)) -- Add ABC for Metric - ([#391](https://github.com/open-telemetry/opentelemetry-python/pull/391)) -- Metric classes required for export pipeline - ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/341)) -- Adding Context API Implementation - ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395)) -- Remove monotonic and absolute metric instruments - ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) -- Adding trace.get_tracer function - ([#430](https://github.com/open-telemetry/opentelemetry-python/pull/430)) - -## 0.3a0 - -Released 2019-12-11 - -- Multiple tracing API changes -- Multiple metrics API changes -- Remove option to create unstarted spans from API - ([#290](https://github.com/open-telemetry/opentelemetry-python/pull/290)) - -## 0.2a0 - -Released 2019-10-29 - -- W3C TraceContext fixes and compliance tests - ([#228](https://github.com/open-telemetry/opentelemetry-python/pull/228)) -- Multiple metrics API changes -- Multiple tracing API changes -- Multiple context API changes -- Sampler API - ([#225](https://github.com/open-telemetry/opentelemetry-python/pull/225)) -- Multiple bugfixes and improvements - -## 0.1a0 - -Released 2019-09-30 - -- Initial release diff --git a/opentelemetry-instrumentation/CHANGELOG.md b/opentelemetry-instrumentation/CHANGELOG.md deleted file mode 100644 index 2a93c09ba5c..00000000000 --- a/opentelemetry-instrumentation/CHANGELOG.md +++ /dev/null @@ -1,61 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.16b0 - -Released 2020-11-25 - -- Add IDs Generator as Configurable Property of Auto Instrumentation - ([#1404](https://github.com/open-telemetry/opentelemetry-python/pull/1404)) -- Added support for `OTEL_EXPORTER` to the `opentelemetry-instrument` command ([#1036](https://github.com/open-telemetry/opentelemetry-python/pull/1036)) -- Add missing references to instrumented packages - ([#1416](https://github.com/open-telemetry/opentelemetry-python/pull/1416)) -- Instrumentation Package depends on the OTel SDK - ([#1405](https://github.com/open-telemetry/opentelemetry-python/pull/1405)) - -## Version 0.14b0 - -Released 2020-10-13 - -- Fixed bootstrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask. ([#1138](https://github.com/open-telemetry/opentelemetry-python/pull/1138)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) -- Add support for http metrics - ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) - -## 0.9b0 - -Released 2020-06-10 - -- Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation, - and console script `opentelemetry-auto-instrumentation` to `opentelemetry-instrument` - -## 0.8b0 - -Released 2020-05-27 - -- Add a new bootstrap command that enables automatic instrument installations. - ([#650](https://github.com/open-telemetry/opentelemetry-python/pull/650)) - -## 0.7b1 - -Released 2020-05-12 - -- Add support for programmatic instrumentation - ([#579](https://github.com/open-telemetry/opentelemetry-python/pull/569)) -- bugfix: enable auto-instrumentation command to work for custom entry points - (e.g. flask_run) - ([#567](https://github.com/open-telemetry/opentelemetry-python/pull/567)) - - -## 0.6b0 - -Released 2020-03-30 - -- Initial release. diff --git a/opentelemetry-proto/CHANGELOG.md b/opentelemetry-proto/CHANGELOG.md deleted file mode 100644 index 9906bdee12c..00000000000 --- a/opentelemetry-proto/CHANGELOG.md +++ /dev/null @@ -1,30 +0,0 @@ -# Changelog - -## Unreleased - -## Version 0.16b0 - -Released 2020-11-25 - -- Update protobuf versions - ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) - -## Version 0.10b0 - -Released 2020-06-23 - -- Regenerate proto code and add pyi stubs - ([#823](https://github.com/open-telemetry/opentelemetry-python/pull/823)) - -## 0.9b0 - -Released 2020-06-10 - -- Initial release diff --git a/opentelemetry-sdk/CHANGELOG.md b/opentelemetry-sdk/CHANGELOG.md deleted file mode 100644 index 5014e1c19b6..00000000000 --- a/opentelemetry-sdk/CHANGELOG.md +++ /dev/null @@ -1,284 +0,0 @@ -# Changelog - -## Unreleased - -- Add meter reference to observers - ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) -- Add `fields` to propagators - ([#1374](https://github.com/open-telemetry/opentelemetry-python/pull/1374)) - -## Version 0.16b0 - -Released 2020-11-25 - -- Allow samplers to modify tracestate - ([#1319](https://github.com/open-telemetry/opentelemetry-python/pull/1319)) -- Add optional parameter to `record_exception` method - ([#1314](https://github.com/open-telemetry/opentelemetry-python/pull/1314)) -- Update exception handling optional parameters, add escaped attribute to record_exception - ([#1365](https://github.com/open-telemetry/opentelemetry-python/pull/1365)) -- Rename `MetricRecord` class to `ExportRecord` - ([#1367](https://github.com/open-telemetry/opentelemetry-python/pull/1367)) -- Rename Record in Metrics SDK to Accumulation - ([#1373](https://github.com/open-telemetry/opentelemetry-python/pull/1373)) -- Rename Meter class to Accumulator in Metrics SDK - ([#1372](https://github.com/open-telemetry/opentelemetry-python/pull/1372)) -- Fix `ParentBased` sampler for implicit parent spans. Fix also `trace_state` - erasure for dropped spans or spans sampled by the `TraceIdRatioBased` sampler. - ([#1394](https://github.com/open-telemetry/opentelemetry-python/pull/1394)) - -## Version 0.15b0 - -Released 2020-11-02 - -- Make `SpanProcessor.on_start` accept parent Context - ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) -- Fix b3 propagator entrypoint - ([#1265](https://github.com/open-telemetry/opentelemetry-python/pull/1265)) -- Allow None in sequence attributes values - ([#998](https://github.com/open-telemetry/opentelemetry-python/pull/998)) -- Samplers to accept parent Context - ([#1267](https://github.com/open-telemetry/opentelemetry-python/pull/1267)) -- Updating status codes to adhere to spec - ([#1282](https://github.com/open-telemetry/opentelemetry-python/pull/1282)) -- Span.is_recording() returns false after span has ended - ([#1289](https://github.com/open-telemetry/opentelemetry-python/pull/1289)) -- Set initial checkpoint timestamp in aggregators - ([#1237](https://github.com/open-telemetry/opentelemetry-python/pull/1237)) -- Allow samplers to modify tracestate - ([#1319](https://github.com/open-telemetry/opentelemetry-python/pull/1319)) -- Remove TracerProvider coupling from Tracer init - ([#1295](https://github.com/open-telemetry/opentelemetry-python/pull/1295)) - -## Version 0.14b0 - -Released 2020-10-13 -- Add optional parameter to `record_exception` method - ([#1242](https://github.com/open-telemetry/opentelemetry-python/pull/1242)) -- Add timestamps to aggregators - ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199)) -- Add Global Error Handler - ([#1080](https://github.com/open-telemetry/opentelemetry-python/pull/1080)) -- Update sampling result names - ([#1128](https://github.com/open-telemetry/opentelemetry-python/pull/1128)) -- Add support for `OTEL_BSP_MAX_QUEUE_SIZE`, `OTEL_BSP_SCHEDULE_DELAY_MILLIS`, `OTEL_BSP_MAX_EXPORT_BATCH_SIZE` and `OTEL_BSP_EXPORT_TIMEOUT_MILLIS` environment variables - ([#1105](https://github.com/open-telemetry/opentelemetry-python/pull/1120)) -- Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider - ([#1153](https://github.com/open-telemetry/opentelemetry-python/pull/1153)) -- Event attributes are now immutable - ([#1195](https://github.com/open-telemetry/opentelemetry-python/pull/1195)) -- Renaming metrics Batcher to Processor - ([#1203](https://github.com/open-telemetry/opentelemetry-python/pull/1203)) -- Protect access to Span implementation - ([#1188](https://github.com/open-telemetry/opentelemetry-python/pull/1188)) -- `start_as_current_span` and `use_span` can now optionally auto-record any exceptions raised inside the context manager. - ([#1162](https://github.com/open-telemetry/opentelemetry-python/pull/1162)) -- Adding Resource to MeterRecord - ([#1209](https://github.com/open-telemetry/opentelemetry-python/pull/1209)) -- Parent is now always passed in via Context, intead of Span or SpanContext - ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146)) -- Add keys method to TextMap propagator Getter - ([#1196](https://github.com/open-telemetry/opentelemetry-python/issues/1196)) - -## Version 0.13b0 - -Released 2020-09-17 - -- Moved samplers from API to SDK - ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023)) -- Sampling spec changes - ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034)) -- Remove lazy Event and Link API from Span interface - ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045)) -- Improve BatchExportSpanProcessor - ([#1062](https://github.com/open-telemetry/opentelemetry-python/pull/1062)) -- Populate resource attributes as per semantic conventions - ([#1053](https://github.com/open-telemetry/opentelemetry-python/pull/1053)) -- Rename Resource labels to attributes - ([#1082](https://github.com/open-telemetry/opentelemetry-python/pull/1082)) -- Fix api/sdk setup.cfg to include missing python files - ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091)) -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) -- Rename members of `trace.sampling.Decision` enum - ([#1115](https://github.com/open-telemetry/opentelemetry-python/pull/1115)) -- Merge `OTELResourceDetector` result when creating resources - ([#1096](https://github.com/open-telemetry/opentelemetry-python/pull/1096)) - -## Version 0.12b0 - -Released 2020-08-14 - -- Changed default Sampler to `ParentOrElse(AlwaysOn)` - ([#960](https://github.com/open-telemetry/opentelemetry-python/pull/960)) -- Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` - ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- Implement Views in metrics SDK - ([#596](https://github.com/open-telemetry/opentelemetry-python/pull/596)) -- Update environment variable OTEL_RESOURCE to OTEL_RESOURCE_ATTRIBUTES as per - the specification - -## Version 0.11b0 - -- Add support for resources and resource detector - ([#853](https://github.com/open-telemetry/opentelemetry-python/pull/853)) -- Rename record_error to record_exception - ([#927](https://github.com/open-telemetry/opentelemetry-python/pull/927)) - -## Version 0.10b0 - -Released 2020-06-23 - -- Rename CounterAggregator -> SumAggregator - ([#816](https://github.com/open-telemetry/opentelemetry-python/pull/816)) - -## 0.9b0 - -Released 2020-06-10 - -- Move stateful & resource from Meter to MeterProvider - ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) -- Rename Measure to ValueRecorder in metrics - ([#761](https://github.com/open-telemetry/opentelemetry-python/pull/761)) -- Adding trace.get_current_span, Removing Tracer.get_current_span - ([#552](https://github.com/open-telemetry/opentelemetry-python/pull/552)) -- bugfix: byte type attributes are decoded before adding to attributes dict - ([#775](https://github.com/open-telemetry/opentelemetry-python/pull/775)) -- Rename Observer to ValueObserver - ([#764](https://github.com/open-telemetry/opentelemetry-python/pull/764)) -- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics - ([#789](https://github.com/open-telemetry/opentelemetry-python/pull/789)) -- Add start_pipeline to MeterProvider - ([#791](https://github.com/open-telemetry/opentelemetry-python/pull/791)) - -## 0.8b0 - -Released 2020-05-27 - -- Validate span attribute types in SDK - ([#678](https://github.com/open-telemetry/opentelemetry-python/pull/678)) -- Specify to_json indent from arguments - ([#718](https://github.com/open-telemetry/opentelemetry-python/pull/718)) -- Span.resource will now default to an empty resource - ([#724](https://github.com/open-telemetry/opentelemetry-python/pull/724)) -- bugfix: Fix error message - ([#729](https://github.com/open-telemetry/opentelemetry-python/pull/729)) -- deep copy empty attributes - ([#714](https://github.com/open-telemetry/opentelemetry-python/pull/714)) - -## 0.7b1 - -Released 2020-05-12 - -- Exporter API: span parents are now always spancontext - ([#548](https://github.com/open-telemetry/opentelemetry-python/pull/548)) -- tracer.get_tracer now optionally accepts a TracerProvider - ([#602](https://github.com/open-telemetry/opentelemetry-python/pull/602)) -- Console span exporter now prints prettier, more legible messages - ([#505](https://github.com/open-telemetry/opentelemetry-python/pull/505)) -- bugfix: B3 propagation now retrieves parentSpanId correctly - ([#621](https://github.com/open-telemetry/opentelemetry-python/pull/621)) -- bugfix: a DefaultSpan now longer causes an exception when used with tracer - ([#577](https://github.com/open-telemetry/opentelemetry-python/pull/577)) -- move last_updated_timestamp into aggregators instead of bound metric - instrument - ([#522](https://github.com/open-telemetry/opentelemetry-python/pull/522)) -- bugfix: suppressing instrumentation in metrics to eliminate an infinite loop - of telemetry - ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) -- bugfix: freezing span attribute sequences, reducing potential user errors - ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) - -## 0.6b0 - -Released 2020-03-30 - -- Add support for lazy events and links - ([#474](https://github.com/open-telemetry/opentelemetry-python/pull/474)) -- Metrics API no longer uses LabelSet - ([#527](https://github.com/open-telemetry/opentelemetry-python/pull/527)) -- Adding is_remote flag to SpanContext, indicating when a span is remote - ([#516](https://github.com/open-telemetry/opentelemetry-python/pull/516)) -- Adding a solution to release metric handles and observers - ([#435](https://github.com/open-telemetry/opentelemetry-python/pull/435)) - -## 0.5b0 - -Released 2020-03-16 - -- Adding Correlation Context SDK and propagator - ([#471](https://github.com/open-telemetry/opentelemetry-python/pull/471)) -- Adding OT Collector metrics exporter - ([#454](https://github.com/open-telemetry/opentelemetry-python/pull/454)) -- Improve validation of attributes - ([#460](https://github.com/open-telemetry/opentelemetry-python/pull/460)) -- Moving resources to sdk - ([#464](https://github.com/open-telemetry/opentelemetry-python/pull/464)) -- Re-raise errors caught in opentelemetry.sdk.trace.Tracer.use_span() - ([#469](https://github.com/open-telemetry/opentelemetry-python/pull/469)) -- Implement observer instrument - ([#425](https://github.com/open-telemetry/opentelemetry-python/pull/425)) - -## 0.4a0 - -Released 2020-02-21 - -- Added named Tracers - ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301)) -- Set status for ended spans - ([#297](https://github.com/open-telemetry/opentelemetry-python/pull/297) and - [#358](https://github.com/open-telemetry/opentelemetry-python/pull/358)) -- Use module loggers - ([#351](https://github.com/open-telemetry/opentelemetry-python/pull/351)) -- Protect start_time and end_time from being set manually by the user - ([#363](https://github.com/open-telemetry/opentelemetry-python/pull/363)) -- Add runtime validation for set_attribute - ([#348](https://github.com/open-telemetry/opentelemetry-python/pull/348)) -- Add support for B3 ParentSpanID - ([#286](https://github.com/open-telemetry/opentelemetry-python/pull/286)) -- Set status in start_as_current_span - ([#377](https://github.com/open-telemetry/opentelemetry-python/pull/377)) -- Implement force_flush for span processors - ([#389](https://github.com/open-telemetry/opentelemetry-python/pull/389)) -- Metrics export pipeline, and stdout exporter - ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/389)) -- Set sampled flag on sampling trace - ([#407](https://github.com/open-telemetry/opentelemetry-python/pull/407)) -- Add io and formatter options to console exporter - ([#412](https://github.com/open-telemetry/opentelemetry-python/pull/412)) -- Clean up ProbabilitySample for 64 bit trace IDs - ([#238](https://github.com/open-telemetry/opentelemetry-python/pull/238)) -- Adding Context API Implementation - ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395)) -- Remove monotonic and absolute metric instruments - ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) -- Implement MinMaxSumCount aggregator - ([#422](https://github.com/open-telemetry/opentelemetry-python/pull/422)) - -## 0.3a0 - -Released 2019-12-11 - -- Multiple tracing SDK changes -- Multiple metrics SDK changes -- Add metrics exporters - ([#192](https://github.com/open-telemetry/opentelemetry-python/pull/192)) -- Multiple bugfixes and improvements - -## 0.2a0 - -Released 2019-10-29 - -- W3C TraceContext fixes and compliance tests - ([#228](https://github.com/open-telemetry/opentelemetry-python/pull/228)) -- Multiple metrics SDK changes -- Multiple tracing SDK changes -- Sampler SDK - ([#225](https://github.com/open-telemetry/opentelemetry-python/pull/225)) -- Multiple bugfixes and improvements - -## 0.1a0 - -Released 2019-09-30 - -- Initial release From 751466ba016efc73c9641398a419c45cc55f94de Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Thu, 3 Dec 2020 22:34:31 -0800 Subject: [PATCH 02/12] update log --- CHANGELOG.md | 301 ++++++++++++++++++++++++++------------------------- 1 file changed, 155 insertions(+), 146 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c7ae74f2b33..36c3b5a737b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,43 +1,42 @@ # Changelog +All notable changes to this project will be documented in this file. -## Unreleased +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -- Add meter reference to observers - ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) +## [Unreleased] +### Added - Add `fields` to propagators ([#1374](https://github.com/open-telemetry/opentelemetry-python/pull/1374)) -## 0.16b1 - -Released 2020-11-26 - +## [0.16b1] - 2020-11-26 +### Added - Add meter reference to observers ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) -## 0.16b0 - -Released 2020-11-25 - +## [0.16b0] - 2020-11-25 +### Added - Add optional parameter to `record_exception` method ([#1314](https://github.com/open-telemetry/opentelemetry-python/pull/1314)) - Add pickle support to SpanContext class ([#1380](https://github.com/open-telemetry/opentelemetry-python/pull/1380)) - Add instrumentation library name and version to OTLP exported metrics ([#1418](https://github.com/open-telemetry/opentelemetry-python/pull/1418)) -- Change temporality for Counter and UpDownCounter - ([#1384](https://github.com/open-telemetry/opentelemetry-python/pull/1384)) - Add Gzip compression for exporter ([#1141](https://github.com/open-telemetry/opentelemetry-python/pull/1141)) -- OTLP exporter: Handle error case when no credentials supplied - ([#1366](https://github.com/open-telemetry/opentelemetry-python/pull/1366)) -- Update protobuf versions - ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - Support for v2 api protobuf format ([#1318](https://github.com/open-telemetry/opentelemetry-python/pull/1318)) - Add IDs Generator as Configurable Property of Auto Instrumentation ([#1404](https://github.com/open-telemetry/opentelemetry-python/pull/1404)) - Added support for `OTEL_EXPORTER` to the `opentelemetry-instrument` command ([#1036](https://github.com/open-telemetry/opentelemetry-python/pull/1036)) +### Changed +- Change temporality for Counter and UpDownCounter + ([#1384](https://github.com/open-telemetry/opentelemetry-python/pull/1384)) +- OTLP exporter: Handle error case when no credentials supplied + ([#1366](https://github.com/open-telemetry/opentelemetry-python/pull/1366)) +- Update protobuf versions + ([#1356](https://github.com/open-telemetry/opentelemetry-python/pull/1356)) - Add missing references to instrumented packages ([#1416](https://github.com/open-telemetry/opentelemetry-python/pull/1416)) - Instrumentation Package depends on the OTel SDK @@ -56,19 +55,20 @@ Released 2020-11-25 erasure for dropped spans or spans sampled by the `TraceIdRatioBased` sampler. ([#1394](https://github.com/open-telemetry/opentelemetry-python/pull/1394)) -## 0.15b0 - -Released 2020-11-02 +## [0.15b0] -2020-11-02 -- Updating status codes to adhere to specs - ([#1282](https://github.com/open-telemetry/opentelemetry-python/pull/1282)) +### Addeds - Add Env variables in OTLP exporter ([#1101](https://github.com/open-telemetry/opentelemetry-python/pull/1101)) -- Set initial checkpoint timestamp in aggregators - ([#1237](https://github.com/open-telemetry/opentelemetry-python/pull/1237)) - Add support for Jaeger Span Exporter configuration by environment variables and
change JaegerSpanExporter constructor parameters ([#1114](https://github.com/open-telemetry/opentelemetry-python/pull/1114)) + +### Changed +- Updating status codes to adhere to specs + ([#1282](https://github.com/open-telemetry/opentelemetry-python/pull/1282)) +- Set initial checkpoint timestamp in aggregators + ([#1237](https://github.com/open-telemetry/opentelemetry-python/pull/1237)) - Make `SpanProcessor.on_start` accept parent Context ([#1251](https://github.com/open-telemetry/opentelemetry-python/pull/1251)) - Fix b3 propagator entrypoint @@ -84,13 +84,25 @@ Released 2020-11-02 - Remove TracerProvider coupling from Tracer init ([#1295](https://github.com/open-telemetry/opentelemetry-python/pull/1295)) -## 0.14b0 +## [0.14b0] - 2020-10-13 -Released 2020-10-13 +### Added - Add optional parameter to `record_exception` method ([#1242](https://github.com/open-telemetry/opentelemetry-python/pull/1242)) - Add support for `OTEL_PROPAGATORS` ([#1123](https://github.com/open-telemetry/opentelemetry-python/pull/1123)) +- Add keys method to TextMap propagator Getter + ([#1196](https://github.com/open-telemetry/opentelemetry-python/issues/1196)) +- Add timestamps to OTLP exporter + ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199)) +- Add Global Error Handler + ([#1080](https://github.com/open-telemetry/opentelemetry-python/pull/1080)) +- Add support for `OTEL_BSP_MAX_QUEUE_SIZE`, `OTEL_BSP_SCHEDULE_DELAY_MILLIS`, `OTEL_BSP_MAX_EXPORT_BATCH_SIZE` and `OTEL_BSP_EXPORT_TIMEOUT_MILLIS` environment variables + ([#1105](https://github.com/open-telemetry/opentelemetry-python/pull/1120)) +- Adding Resource to MeterRecord + ([#1209](https://github.com/open-telemetry/opentelemetry-python/pull/1209)) +s +### Changed - Store `int`s as `int`s in the global Configuration object ([#1118](https://github.com/open-telemetry/opentelemetry-python/pull/1118)) - Allow for Custom Trace and Span IDs Generation - `IdsGenerator` for TracerProvider @@ -101,10 +113,6 @@ Released 2020-10-13 ([#1134](https://github.com/open-telemetry/opentelemetry-python/pull/1134)) - Parent is now always passed in via Context, intead of Span or SpanContext ([#1146](https://github.com/open-telemetry/opentelemetry-python/pull/1146)) -- Add keys method to TextMap propagator Getter - ([#1196](https://github.com/open-telemetry/opentelemetry-python/issues/1196)) -- Add timestamps to OTLP exporter - ([#1199](https://github.com/open-telemetry/opentelemetry-python/pull/1199)) - Update OpenTelemetry protos to v0.5.0 ([#1143](https://github.com/open-telemetry/opentelemetry-python/pull/1143)) - Zipkin exporter now accepts a ``max_tag_value_length`` attribute to customize the @@ -114,12 +122,8 @@ Released 2020-10-13 ([#1161](https://github.com/open-telemetry/opentelemetry-python/pull/1161)) - Fixed bootstrap command to correctly install opentelemetry-instrumentation-falcon instead of opentelemetry-instrumentation-flask. ([#1138](https://github.com/open-telemetry/opentelemetry-python/pull/1138)) -- Add Global Error Handler - ([#1080](https://github.com/open-telemetry/opentelemetry-python/pull/1080)) - Update sampling result names ([#1128](https://github.com/open-telemetry/opentelemetry-python/pull/1128)) -- Add support for `OTEL_BSP_MAX_QUEUE_SIZE`, `OTEL_BSP_SCHEDULE_DELAY_MILLIS`, `OTEL_BSP_MAX_EXPORT_BATCH_SIZE` and `OTEL_BSP_EXPORT_TIMEOUT_MILLIS` environment variables - ([#1105](https://github.com/open-telemetry/opentelemetry-python/pull/1120)) - Event attributes are now immutable ([#1195](https://github.com/open-telemetry/opentelemetry-python/pull/1195)) - Renaming metrics Batcher to Processor @@ -128,32 +132,10 @@ Released 2020-10-13 ([#1188](https://github.com/open-telemetry/opentelemetry-python/pull/1188)) - `start_as_current_span` and `use_span` can now optionally auto-record any exceptions raised inside the context manager. ([#1162](https://github.com/open-telemetry/opentelemetry-python/pull/1162)) -- Adding Resource to MeterRecord - ([#1209](https://github.com/open-telemetry/opentelemetry-python/pull/1209)) - -## 0.13b0 -Released 2020-09-17 +## [0.13b0] - 2020-09-17 -- Refactor `SpanContext.is_valid` from a method to a data attribute - ([#1005](https://github.com/open-telemetry/opentelemetry-python/pull/1005)) -- Moved samplers from API to SDK - ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023)) -- Change return value type of `correlationcontext.get_correlations` to immutable `MappingProxyType` - ([#1024](https://github.com/open-telemetry/opentelemetry-python/pull/1024)) -- Sampling spec changes - ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034)) -- Remove lazy Event and Link API from Span interface - ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045)) -- Rename CorrelationContext to Baggage - ([#1060](https://github.com/open-telemetry/opentelemetry-python/pull/1060)) -- Rename HTTPTextFormat to TextMapPropagator. This change also updates `get_global_httptextformat` and - `set_global_httptextformat` to `get_global_textmap` and `set_global_textmap` - ([#1085](https://github.com/open-telemetry/opentelemetry-python/pull/1085)) -- Fix api/sdk setup.cfg to include missing python files - ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091)) -- Drop support for Python 3.4 - ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) +### Added - Add instrumentation info to exported spans ([#1095](https://github.com/open-telemetry/opentelemetry-python/pull/1095)) - Add metric OTLP exporter @@ -173,10 +155,29 @@ Released 2020-09-17 ([#1098](https://github.com/open-telemetry/opentelemetry-python/pull/1098)) - Add support for http metrics ([#1116](https://github.com/open-telemetry/opentelemetry-python/pull/1116)) -- Improve BatchExportSpanProcessor - ([#1062](https://github.com/open-telemetry/opentelemetry-python/pull/1062)) - Populate resource attributes as per semantic conventions ([#1053](https://github.com/open-telemetry/opentelemetry-python/pull/1053)) + +### Changed +- Refactor `SpanContext.is_valid` from a method to a data attribute + ([#1005](https://github.com/open-telemetry/opentelemetry-python/pull/1005)) +- Moved samplers from API to SDK + ([#1023](https://github.com/open-telemetry/opentelemetry-python/pull/1023)) +- Change return value type of `correlationcontext.get_correlations` to immutable `MappingProxyType` + ([#1024](https://github.com/open-telemetry/opentelemetry-python/pull/1024)) +- Sampling spec changes + ([#1034](https://github.com/open-telemetry/opentelemetry-python/pull/1034)) +- Remove lazy Event and Link API from Span interface + ([#1045](https://github.com/open-telemetry/opentelemetry-python/pull/1045)) +- Rename CorrelationContext to Baggage + ([#1060](https://github.com/open-telemetry/opentelemetry-python/pull/1060)) +- Rename HTTPTextFormat to TextMapPropagator. This change also updates `get_global_httptextformat` and + `set_global_httptextformat` to `get_global_textmap` and `set_global_textmap` + ([#1085](https://github.com/open-telemetry/opentelemetry-python/pull/1085)) +- Fix api/sdk setup.cfg to include missing python files + ([#1091](https://github.com/open-telemetry/opentelemetry-python/pull/1091)) +- Improve BatchExportSpanProcessor + ([#1062](https://github.com/open-telemetry/opentelemetry-python/pull/1062)) - Rename Resource labels to attributes ([#1082](https://github.com/open-telemetry/opentelemetry-python/pull/1082)) - Rename members of `trace.sampling.Decision` enum @@ -184,91 +185,92 @@ Released 2020-09-17 - Merge `OTELResourceDetector` result when creating resources ([#1096](https://github.com/open-telemetry/opentelemetry-python/pull/1096)) -## 0.12b0 +### Removed +- Drop support for Python 3.4 + ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) + +## [0.12b0] - 2020-08-14 -Released 2020-08-14 +### Added +- Implement Views in metrics SDK + ([#596](https://github.com/open-telemetry/opentelemetry-python/pull/596)) +### Changed - Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) - Stop TracerProvider and MeterProvider from being overridden ([#959](https://github.com/open-telemetry/opentelemetry-python/pull/959)) -- Change package name to opentelemetry-exporter-otlp - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - Update default port to 55680 ([#977](https://github.com/open-telemetry/opentelemetry-python/pull/977)) -- Change package name to opentelemetry-exporter-zipkin - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - Add proper length zero padding to hex strings of traceId, spanId, parentId sent on the wire, for compatibility with jaeger-collector ([#908](https://github.com/open-telemetry/opentelemetry-python/pull/908)) -- Change package name to opentelemetry-exporter-prometheus - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) -- Change package name to opentelemetry-exporter-opencensus - ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - Send start_timestamp and convert labels to strings ([#937](https://github.com/open-telemetry/opentelemetry-python/pull/937)) -- Change package name to opentelemetry-exporter-jaeger +- Renamed several packages ([#953](https://github.com/open-telemetry/opentelemetry-python/pull/953)) - Thrift URL for Jaeger exporter doesn't allow HTTPS (hardcoded to HTTP) - ([#978] (https://github.com/open-telemetry/opentelemetry-python/pull/978)) + ([#978](https://github.com/open-telemetry/opentelemetry-python/pull/978)) - Change reference names to opentelemetry-instrumentation-opentracing-shim ([#969](https://github.com/open-telemetry/opentelemetry-python/pull/969)) - Changed default Sampler to `ParentOrElse(AlwaysOn)` ([#960](https://github.com/open-telemetry/opentelemetry-python/pull/960)) - Update environment variable names, prefix changed from `OPENTELEMETRY` to `OTEL` ([#904](https://github.com/open-telemetry/opentelemetry-python/pull/904)) -- Implement Views in metrics SDK - ([#596](https://github.com/open-telemetry/opentelemetry-python/pull/596)) -- Update environment variable OTEL_RESOURCE to OTEL_RESOURCE_ATTRIBUTES as per +- Update environment variable `OTEL_RESOURCE` to `OTEL_RESOURCE_ATTRIBUTES` as per the specification ## 0.11b0 +### Added +- Add support for resources and resource detector + ([#853](https://github.com/open-telemetry/opentelemetry-python/pull/853)) +### Changed - Return INVALID_SPAN if no TracerProvider set for get_current_span ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) - Rename record_error to record_exception ([#927](https://github.com/open-telemetry/opentelemetry-python/pull/927)) - Update span exporter to use OpenTelemetry Proto v0.4.0 ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/889)) -- Add support for resources and resource detector - ([#853](https://github.com/open-telemetry/opentelemetry-python/pull/853)) - -## 0.10b0 -Released 2020-06-23 +## [0.10b0] - 2020-06-23 +### Changed - Regenerate proto code and add pyi stubs ([#823](https://github.com/open-telemetry/opentelemetry-python/pull/823)) - Rename CounterAggregator -> SumAggregator ([#816](https://github.com/open-telemetry/opentelemetry-python/pull/816)) -## 0.9b0 - -Released 2020-06-10 +## [0.9b0] - 2020-06-10 +### Added +- Adding trace.get_current_span, Removing Tracer.get_current_span + ([#552](https://github.com/open-telemetry/opentelemetry-python/pull/552)) +- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics + ([#789](https://github.com/open-telemetry/opentelemetry-python/pull/789)) +- Add start_pipeline to MeterProvider + ([#791](https://github.com/open-telemetry/opentelemetry-python/pull/791)) +- Initial release of opentelemetry-ext-otlp, opentelemetry-proto +### Changed - Move stateful & resource from Meter to MeterProvider ([#751](https://github.com/open-telemetry/opentelemetry-python/pull/751)) - Rename Measure to ValueRecorder in metrics ([#761](https://github.com/open-telemetry/opentelemetry-python/pull/761)) -- Adding trace.get_current_span, Removing Tracer.get_current_span - ([#552](https://github.com/open-telemetry/opentelemetry-python/pull/552)) - Rename Observer to ValueObserver ([#764](https://github.com/open-telemetry/opentelemetry-python/pull/764)) -- Add SumObserver, UpDownSumObserver and LastValueAggregator in metrics - ([#789](https://github.com/open-telemetry/opentelemetry-python/pull/789)) - Log a warning when replacing the global Tracer/Meter provider ([#856](https://github.com/open-telemetry/opentelemetry-python/pull/856)) - bugfix: byte type attributes are decoded before adding to attributes dict ([#775](https://github.com/open-telemetry/opentelemetry-python/pull/775)) -- Add start_pipeline to MeterProvider - ([#791](https://github.com/open-telemetry/opentelemetry-python/pull/791)) - Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation, and console script `opentelemetry-auto-instrumentation` to `opentelemetry-instrument` -- Initial release of opentelemetry-ext-otlp, opentelemetry-proto -## 0.8b0 +## [0.8b0] - 2020-05-27 -Released 2020-05-27 +### Added +- Add a new bootstrap command that enables automatic instrument installations. + ([#650](https://github.com/open-telemetry/opentelemetry-python/pull/650)) +### Changed - Handle boolean, integer and float values in Configuration ([#662](https://github.com/open-telemetry/opentelemetry-python/pull/662)) - bugfix: ensure status is always string @@ -279,12 +281,10 @@ Released 2020-05-27 ([#695](https://github.com/open-telemetry/opentelemetry-python/pull/695)) - Transform resource to tags when exporting ([#645](https://github.com/open-telemetry/opentelemetry-python/pull/645)) -- ext/boto: Could not serialize attribute aws.region to tag when exporting via jaeger +- `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](https://github.com/open-telemetry/opentelemetry-python/pull/865)) -- Add a new bootstrap command that enables automatic instrument installations. - ([#650](https://github.com/open-telemetry/opentelemetry-python/pull/650)) - Validate span attribute types in SDK ([#678](https://github.com/open-telemetry/opentelemetry-python/pull/678)) - Specify to_json indent from arguments @@ -296,12 +296,15 @@ Released 2020-05-27 - deep copy empty attributes ([#714](https://github.com/open-telemetry/opentelemetry-python/pull/714)) -## 0.7b1 - -Released 2020-05-12 +## [0.7b1] - 2020-05-12 +### Added - Add reset for the global configuration object, for testing purposes ([#636](https://github.com/open-telemetry/opentelemetry-python/pull/636)) +- Add support for programmatic instrumentation + ([#579](https://github.com/open-telemetry/opentelemetry-python/pull/569)) + +### Changed - tracer.get_tracer now optionally accepts a TracerProvider ([#602](https://github.com/open-telemetry/opentelemetry-python/pull/602)) - Configuration object can now be used by any component of opentelemetry, @@ -316,8 +319,6 @@ Released 2020-05-12 ([#583](https://github.com/open-telemetry/opentelemetry-python/pull/583)) - bugfix: 'debug' field is now correct ([#549](https://github.com/open-telemetry/opentelemetry-python/pull/549)) -- Add support for programmatic instrumentation - ([#579](https://github.com/open-telemetry/opentelemetry-python/pull/569)) - bugfix: enable auto-instrumentation command to work for custom entry points (e.g. flask_run) ([#567](https://github.com/open-telemetry/opentelemetry-python/pull/567)) @@ -338,62 +339,61 @@ Released 2020-05-12 - bugfix: freezing span attribute sequences, reducing potential user errors ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) -## 0.6b0 - -Released 2020-03-30 +## [0.6b0] - 2020-03-30 +### Added - Add support for lazy events and links ([#474](https://github.com/open-telemetry/opentelemetry-python/pull/474)) -- Metrics API no longer uses LabelSet - ([#527](https://github.com/open-telemetry/opentelemetry-python/pull/527)) - Adding is_remote flag to SpanContext, indicating when a span is remote ([#516](https://github.com/open-telemetry/opentelemetry-python/pull/516)) -- Allow digit as first char in vendor specific trace state key - ([#511](https://github.com/open-telemetry/opentelemetry-python/pull/511)) -- Exporting to collector now works - ([#508](https://github.com/open-telemetry/opentelemetry-python/pull/508)) - Adding a solution to release metric handles and observers ([#435](https://github.com/open-telemetry/opentelemetry-python/pull/435)) - Initial release: opentelemetry-instrumentation -## 0.5b0 +### Changed +- Metrics API no longer uses LabelSet + ([#527](https://github.com/open-telemetry/opentelemetry-python/pull/527)) +- Allow digit as first char in vendor specific trace state key + ([#511](https://github.com/open-telemetry/opentelemetry-python/pull/511)) +- Exporting to collector now works + ([#508](https://github.com/open-telemetry/opentelemetry-python/pull/508)) -Released 2020-03-16 +## [0.5b0] - 2020-03-16 +### Added - Adding Correlation Context API/SDK and propagator ([#471](https://github.com/open-telemetry/opentelemetry-python/pull/471)) - Adding a global configuration module to simplify setting and getting globals ([#466](https://github.com/open-telemetry/opentelemetry-python/pull/466)) +- Adding named meters, removing batchers + ([#431](https://github.com/open-telemetry/opentelemetry-python/pull/431)) +- Adding attach/detach methods as per spec + ([#429](https://github.com/open-telemetry/opentelemetry-python/pull/429)) +- Adding OT Collector metrics exporter + ([#454](https://github.com/open-telemetry/opentelemetry-python/pull/454)) +- Initial release opentelemetry-ext-otcollector + +### Changed - Rename metric handle to bound metric instrument ([#470](https://github.com/open-telemetry/opentelemetry-python/pull/470)) - Moving resources to sdk ([#464](https://github.com/open-telemetry/opentelemetry-python/pull/464)) - Implementing propagators to API to use context ([#446](https://github.com/open-telemetry/opentelemetry-python/pull/446)) -- Adding named meters, removing batchers - ([#431](https://github.com/open-telemetry/opentelemetry-python/pull/431)) - Renaming TraceOptions to TraceFlags ([#450](https://github.com/open-telemetry/opentelemetry-python/pull/450)) - Renaming TracerSource to TracerProvider ([#441](https://github.com/open-telemetry/opentelemetry-python/pull/441)) -- Adding attach/detach methods as per spec - ([#429](https://github.com/open-telemetry/opentelemetry-python/pull/429)) -- Adding OT Collector metrics exporter - ([#454](https://github.com/open-telemetry/opentelemetry-python/pull/454)) - Improve validation of attributes ([#460](https://github.com/open-telemetry/opentelemetry-python/pull/460)) - Re-raise errors caught in opentelemetry.sdk.trace.Tracer.use_span() ([#469](https://github.com/open-telemetry/opentelemetry-python/pull/469)) - Implement observer instrument ([#425](https://github.com/open-telemetry/opentelemetry-python/pull/425)) -- Initial release opentelemetry-ext-otcollector - -## 0.4a0 -Released 2020-02-21 +## [0.4a0] - 2020-02-21 -- Separate Default classes from interface descriptions - ([#311](https://github.com/open-telemetry/opentelemetry-python/pull/311)) +### Added - Added named Tracers ([#301](https://github.com/open-telemetry/opentelemetry-python/pull/301)) - Add int and valid sequenced to AttributeValue type @@ -404,10 +404,19 @@ Released 2020-02-21 ([#341](https://github.com/open-telemetry/opentelemetry-python/pull/341)) - Adding Context API Implementation ([#395](https://github.com/open-telemetry/opentelemetry-python/pull/395)) -- Remove monotonic and absolute metric instruments - ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) - Adding trace.get_tracer function ([#430](https://github.com/open-telemetry/opentelemetry-python/pull/430)) +- Add runtime validation for set_attribute + ([#348](https://github.com/open-telemetry/opentelemetry-python/pull/348)) +- Add support for B3 ParentSpanID + ([#286](https://github.com/open-telemetry/opentelemetry-python/pull/286)) +- Implement MinMaxSumCount aggregator + ([#422](https://github.com/open-telemetry/opentelemetry-python/pull/422)) +- Initial release opentelemetry-ext-zipkin, opentelemetry-ext-prometheus + +### Changed +- Separate Default classes from interface descriptions + ([#311](https://github.com/open-telemetry/opentelemetry-python/pull/311)) - Export span status ([#367](https://github.com/open-telemetry/opentelemetry-python/pull/367)) - Export span kind @@ -419,10 +428,6 @@ Released 2020-02-21 ([#351](https://github.com/open-telemetry/opentelemetry-python/pull/351)) - Protect start_time and end_time from being set manually by the user ([#363](https://github.com/open-telemetry/opentelemetry-python/pull/363)) -- Add runtime validation for set_attribute - ([#348](https://github.com/open-telemetry/opentelemetry-python/pull/348)) -- Add support for B3 ParentSpanID - ([#286](https://github.com/open-telemetry/opentelemetry-python/pull/286)) - Set status in start_as_current_span ([#377](https://github.com/open-telemetry/opentelemetry-python/pull/377)) - Implement force_flush for span processors @@ -433,39 +438,43 @@ Released 2020-02-21 ([#412](https://github.com/open-telemetry/opentelemetry-python/pull/412)) - Clean up ProbabilitySample for 64 bit trace IDs ([#238](https://github.com/open-telemetry/opentelemetry-python/pull/238)) -- Implement MinMaxSumCount aggregator - ([#422](https://github.com/open-telemetry/opentelemetry-python/pull/422)) -- Initial release opentelemetry-ext-zipkin, opentelemetry-ext-prometheus -## 0.3a0 +### Removed +- Remove monotonic and absolute metric instruments + ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) -Released 2019-12-11 +## [0.3a0] - 2019-12-11 -- Multiple tracing API/SDK changes -- Multiple metrics API/SDK changes -- Remove option to create unstarted spans from API - ([#290](https://github.com/open-telemetry/opentelemetry-python/pull/290)) +### Added - Add metrics exporters ([#192](https://github.com/open-telemetry/opentelemetry-python/pull/192)) - Implement extract and inject support for HTTP_HEADERS and TEXT_MAP formats ([#256](https://github.com/open-telemetry/opentelemetry-python/pull/256)) -## 0.2a0 +### Changed +- Multiple tracing API/SDK changes +- Multiple metrics API/SDK changes + +### Removed +- Remove option to create unstarted spans from API + ([#290](https://github.com/open-telemetry/opentelemetry-python/pull/290)) -Released 2019-10-29 +## [0.2a0] - 2019-10-29 +### Added - W3C TraceContext fixes and compliance tests ([#228](https://github.com/open-telemetry/opentelemetry-python/pull/228)) -- Multiple metrics API/SDK changes -- Multiple tracing API/SDK changes -- Multiple context API changes - Sampler API/SDK ([#225](https://github.com/open-telemetry/opentelemetry-python/pull/225)) -- Multiple bugfixes and improvements - Initial release: opentelemetry-ext-jaeger, opentelemetry-opentracing-shim -## 0.1a0 +### Changed +- Multiple metrics API/SDK changes +- Multiple tracing API/SDK changes +- Multiple context API changes +- Multiple bugfixes and improvements -Released 2019-09-30 +## [0.1a0] - 2019-09-30 +### Added - Initial release api/sdk From 6482fadde1ef204e7479744715d2df90299b8185 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Fri, 4 Dec 2020 08:01:57 -0800 Subject: [PATCH 03/12] update titles with links --- CHANGELOG.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 36c3b5a737b..b5554fa1714 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,17 +4,17 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased] +## [Unreleased](https://github.com/open-telemetry/opentelemetry-python/compare/v0.16b1...HEAD) ### Added - Add `fields` to propagators ([#1374](https://github.com/open-telemetry/opentelemetry-python/pull/1374)) -## [0.16b1] - 2020-11-26 +## [0.16b1](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.16b1) - 2020-11-26 ### Added - Add meter reference to observers ([#1425](https://github.com/open-telemetry/opentelemetry-python/pull/1425)) -## [0.16b0] - 2020-11-25 +## [0.16b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.16b0) - 2020-11-25 ### Added - Add optional parameter to `record_exception` method ([#1314](https://github.com/open-telemetry/opentelemetry-python/pull/1314)) @@ -55,7 +55,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 erasure for dropped spans or spans sampled by the `TraceIdRatioBased` sampler. ([#1394](https://github.com/open-telemetry/opentelemetry-python/pull/1394)) -## [0.15b0] -2020-11-02 +## [0.15b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.15b0) -2020-11-02 ### Addeds - Add Env variables in OTLP exporter @@ -84,7 +84,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Remove TracerProvider coupling from Tracer init ([#1295](https://github.com/open-telemetry/opentelemetry-python/pull/1295)) -## [0.14b0] - 2020-10-13 +## [0.14b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.14b0) - 2020-10-13 ### Added - Add optional parameter to `record_exception` method @@ -133,7 +133,7 @@ s - `start_as_current_span` and `use_span` can now optionally auto-record any exceptions raised inside the context manager. ([#1162](https://github.com/open-telemetry/opentelemetry-python/pull/1162)) -## [0.13b0] - 2020-09-17 +## [0.13b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.13b0) - 2020-09-17 ### Added - Add instrumentation info to exported spans @@ -189,7 +189,7 @@ s - Drop support for Python 3.4 ([#1099](https://github.com/open-telemetry/opentelemetry-python/pull/1099)) -## [0.12b0] - 2020-08-14 +## [0.12b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.12.0) - 2020-08-14 ### Added - Implement Views in metrics SDK @@ -219,7 +219,7 @@ s - Update environment variable `OTEL_RESOURCE` to `OTEL_RESOURCE_ATTRIBUTES` as per the specification -## 0.11b0 +## [0.11b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.11.0) - 2020-07-28 ### Added - Add support for resources and resource detector @@ -232,7 +232,7 @@ s - Update span exporter to use OpenTelemetry Proto v0.4.0 ([#872](https://github.com/open-telemetry/opentelemetry-python/pull/889)) -## [0.10b0] - 2020-06-23 +## [0.10b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.10.0) - 2020-06-23 ### Changed - Regenerate proto code and add pyi stubs @@ -240,7 +240,7 @@ s - Rename CounterAggregator -> SumAggregator ([#816](https://github.com/open-telemetry/opentelemetry-python/pull/816)) -## [0.9b0] - 2020-06-10 +## [0.9b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.9.0) - 2020-06-10 ### Added - Adding trace.get_current_span, Removing Tracer.get_current_span @@ -264,7 +264,7 @@ s - Rename opentelemetry-auto-instrumentation to opentelemetry-instrumentation, and console script `opentelemetry-auto-instrumentation` to `opentelemetry-instrument` -## [0.8b0] - 2020-05-27 +## [0.8b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.8.0) - 2020-05-27 ### Added - Add a new bootstrap command that enables automatic instrument installations. @@ -296,7 +296,7 @@ s - deep copy empty attributes ([#714](https://github.com/open-telemetry/opentelemetry-python/pull/714)) -## [0.7b1] - 2020-05-12 +## [0.7b1](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.7.1) - 2020-05-12 ### Added - Add reset for the global configuration object, for testing purposes @@ -339,7 +339,7 @@ s - bugfix: freezing span attribute sequences, reducing potential user errors ([#529](https://github.com/open-telemetry/opentelemetry-python/pull/529)) -## [0.6b0] - 2020-03-30 +## [0.6b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.6.0) - 2020-03-30 ### Added - Add support for lazy events and links From 7681272fcfbc1442f6aef2779c74eb5168b9ec59 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Fri, 4 Dec 2020 08:24:47 -0800 Subject: [PATCH 04/12] adding missing links --- CHANGELOG.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5554fa1714..f9f199c9885 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -358,7 +358,7 @@ s - Exporting to collector now works ([#508](https://github.com/open-telemetry/opentelemetry-python/pull/508)) -## [0.5b0] - 2020-03-16 +## [0.5b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.5.0) - 2020-03-16 ### Added - Adding Correlation Context API/SDK and propagator @@ -391,7 +391,7 @@ s - Implement observer instrument ([#425](https://github.com/open-telemetry/opentelemetry-python/pull/425)) -## [0.4a0] - 2020-02-21 +## [0.4a0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.4.0) - 2020-02-21 ### Added - Added named Tracers @@ -443,7 +443,7 @@ s - Remove monotonic and absolute metric instruments ([#410](https://github.com/open-telemetry/opentelemetry-python/pull/410)) -## [0.3a0] - 2019-12-11 +## [0.3a0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.3.0) - 2019-12-11 ### Added - Add metrics exporters @@ -459,7 +459,7 @@ s - Remove option to create unstarted spans from API ([#290](https://github.com/open-telemetry/opentelemetry-python/pull/290)) -## [0.2a0] - 2019-10-29 +## [0.2a0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.2.0) - 2019-10-29 ### Added - W3C TraceContext fixes and compliance tests @@ -474,7 +474,7 @@ s - Multiple context API changes - Multiple bugfixes and improvements -## [0.1a0] - 2019-09-30 +## [0.1a0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.1.0) - 2019-09-30 ### Added - Initial release api/sdk From c301cba9da83852d534901d9d2d2ed9904bbc326 Mon Sep 17 00:00:00 2001 From: Alex Boten Date: Fri, 4 Dec 2020 08:29:53 -0800 Subject: [PATCH 05/12] adding changelog CI check --- .github/workflows/changelog.yml | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 .github/workflows/changelog.yml diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 00000000000..7e4b1032a7d --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,34 @@ +# This action requires that any PR targeting the master branch should touch at +# least one CHANGELOG file. If a CHANGELOG entry is not required, add the "Skip +# Changelog" label to disable this action. + +name: changelog + +on: + pull_request: + types: [opened, synchronize, reopened, labeled, unlabeled] + branches: + - master + +jobs: + changelog: + runs-on: ubuntu-latest + if: "!contains(github.event.pull_request.labels.*.name, 'Skip Changelog')" + + steps: + - uses: actions/checkout@v2 + + - name: Check for CHANGELOG changes + run: | + # Only the latest commit of the feature branch is available + # automatically. To diff with the base branch, we need to + # fetch that too (and we only need its latest commit). + git fetch origin ${{ github.base_ref }} --depth=1 + if [[ $(git diff --name-only FETCH_HEAD | grep CHANGELOG) ]] + then + echo "A CHANGELOG was modified. Looks good!" + else + echo "No CHANGELOG was modified." + echo "Please add a CHANGELOG entry, or add the \"Skip Changelog\" label if not required." + false + fi \ No newline at end of file From 62445ed1ce2136e4c2b360bbd51fb0595d362086 Mon Sep 17 00:00:00 2001 From: alrex Date: Sun, 6 Dec 2020 19:40:24 -0800 Subject: [PATCH 06/12] Update CHANGELOG.md Co-authored-by: Srikanth Chekuri --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9f199c9885..08dc4dc7e0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -57,7 +57,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [0.15b0](https://github.com/open-telemetry/opentelemetry-python/releases/tag/v0.15b0) -2020-11-02 -### Addeds +### Added - Add Env variables in OTLP exporter ([#1101](https://github.com/open-telemetry/opentelemetry-python/pull/1101)) - Add support for Jaeger Span Exporter configuration by environment variables and
From d52bc60f74f680353983ccfa9df64bdcb182f3a5 Mon Sep 17 00:00:00 2001 From: Leighton Chen Date: Tue, 8 Dec 2020 09:23:34 -0500 Subject: [PATCH 07/12] Explicitly install dependencies in lint env for tox (#1456) --- .github/workflows/test.yml | 2 +- tox.ini | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7a7b9354dcb..b54c1841a1a 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,7 @@ env: # Otherwise, set variable to the commit of your branch on # opentelemetry-python-contrib which is compatible with these Core repo # changes. - CONTRIB_REPO_SHA: b37945bdeaf49822b240281d493d053995cc2b7b + CONTRIB_REPO_SHA: master jobs: build: diff --git a/tox.ini b/tox.ini index b9682256458..447613d0393 100644 --- a/tox.ini +++ b/tox.ini @@ -139,7 +139,17 @@ deps = httpretty commands_pre = - python scripts/eachdist.py install --editable --with-test-deps + python -m pip install -e {toxinidir}/opentelemetry-api[test] + python -m pip install -e {toxinidir}/opentelemetry-sdk[test] + python -m pip install -e {toxinidir}/opentelemetry-instrumentation[test] + python -m pip install -e {toxinidir}/opentelemetry-proto[test] + python -m pip install -e {toxinidir}/tests/util[test] + python -m pip install -e {toxinidir}/instrumentation/opentelemetry-instrumentation-opentracing-shim[test] + python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-jaeger[test] + python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-opencensus[test] + python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-otlp[test] + python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-prometheus[test] + python -m pip install -e {toxinidir}/exporter/opentelemetry-exporter-zipkin[test] commands = python scripts/eachdist.py lint --check-only From 7500f733be6c2f5145edcbe2edefa23241378e55 Mon Sep 17 00:00:00 2001 From: Srikanth Chekuri Date: Tue, 8 Dec 2020 14:39:06 +0000 Subject: [PATCH 08/12] Fix typo (#1450) --- .../src/opentelemetry/exporter/otlp/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/__init__.py b/exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/__init__.py index d005232d3eb..7265003fee8 100644 --- a/exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/__init__.py +++ b/exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/__init__.py @@ -50,7 +50,7 @@ "service.name": "service" }) - trace.set_tracer_provider(TracerProvider(resource=resource))) + trace.set_tracer_provider(TracerProvider(resource=resource)) tracer = trace.get_tracer(__name__) otlp_exporter = OTLPSpanExporter(endpoint="localhost:55680", insecure=True) From 444161dd92592d3f325cfe8980b19dc994088b03 Mon Sep 17 00:00:00 2001 From: Leighton Chen Date: Tue, 8 Dec 2020 10:02:10 -0500 Subject: [PATCH 09/12] Return none for Getter if key does not exist (#1449) --- .../baggage/propagation/__init__.py | 2 +- .../trace/propagation/textmap.py | 14 ++++--- .../trace/propagation/tracecontext.py | 5 ++- .../src/opentelemetry/trace/span.py | 4 +- .../tests/trace/propagation/test_textmap.py | 42 +++++++++++++++++++ 5 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 opentelemetry-api/tests/trace/propagation/test_textmap.py diff --git a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py index ad47179c3de..75ba25bbe8d 100644 --- a/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py +++ b/opentelemetry-api/src/opentelemetry/baggage/propagation/__init__.py @@ -101,7 +101,7 @@ def _format_baggage(baggage_entries: typing.Mapping[str, object]) -> str: def _extract_first_element( - items: typing.Iterable[textmap.TextMapPropagatorT], + items: typing.Optional[typing.Iterable[textmap.TextMapPropagatorT]], ) -> typing.Optional[textmap.TextMapPropagatorT]: if items is None: return None diff --git a/opentelemetry-api/src/opentelemetry/trace/propagation/textmap.py b/opentelemetry-api/src/opentelemetry/trace/propagation/textmap.py index fb92d371680..0612a740f64 100644 --- a/opentelemetry-api/src/opentelemetry/trace/propagation/textmap.py +++ b/opentelemetry-api/src/opentelemetry/trace/propagation/textmap.py @@ -29,7 +29,9 @@ class Getter(typing.Generic[TextMapPropagatorT]): """ - def get(self, carrier: TextMapPropagatorT, key: str) -> typing.List[str]: + def get( + self, carrier: TextMapPropagatorT, key: str + ) -> typing.Optional[typing.List[str]]: """Function that can retrieve zero or more values from the carrier. In the case that the value does not exist, returns an empty list. @@ -38,8 +40,8 @@ def get(self, carrier: TextMapPropagatorT, key: str) -> typing.List[str]: carrier: An object which contains values that are used to construct a Context. key: key of a field in carrier. - Returns: first value of the propagation key or an empty list if the - key doesn't exist. + Returns: first value of the propagation key or None if the key doesn't + exist. """ raise NotImplementedError() @@ -58,8 +60,10 @@ def keys(self, carrier: TextMapPropagatorT) -> typing.List[str]: class DictGetter(Getter[typing.Dict[str, CarrierValT]]): def get( self, carrier: typing.Dict[str, CarrierValT], key: str - ) -> typing.List[str]: - val = carrier.get(key, []) + ) -> typing.Optional[typing.List[str]]: + val = carrier.get(key, None) + if val is None: + return None if isinstance(val, typing.Iterable) and not isinstance(val, str): return list(val) return [val] diff --git a/opentelemetry-api/src/opentelemetry/trace/propagation/tracecontext.py b/opentelemetry-api/src/opentelemetry/trace/propagation/tracecontext.py index adcdb5e1255..146ba47772a 100644 --- a/opentelemetry-api/src/opentelemetry/trace/propagation/tracecontext.py +++ b/opentelemetry-api/src/opentelemetry/trace/propagation/tracecontext.py @@ -91,7 +91,10 @@ def extract( return trace.set_span_in_context(trace.INVALID_SPAN, context) tracestate_headers = getter.get(carrier, self._TRACESTATE_HEADER_NAME) - tracestate = _parse_tracestate(tracestate_headers) + if tracestate_headers is None: + tracestate = None + else: + tracestate = _parse_tracestate(tracestate_headers) span_context = trace.SpanContext( trace_id=int(trace_id, 16), diff --git a/opentelemetry-api/src/opentelemetry/trace/span.py b/opentelemetry-api/src/opentelemetry/trace/span.py index d41a0c3fbd4..6506f6f949d 100644 --- a/opentelemetry-api/src/opentelemetry/trace/span.py +++ b/opentelemetry-api/src/opentelemetry/trace/span.py @@ -175,8 +175,8 @@ def __new__( trace_id: int, span_id: int, is_remote: bool, - trace_flags: "TraceFlags" = DEFAULT_TRACE_OPTIONS, - trace_state: "TraceState" = DEFAULT_TRACE_STATE, + trace_flags: typing.Optional["TraceFlags"] = DEFAULT_TRACE_OPTIONS, + trace_state: typing.Optional["TraceState"] = DEFAULT_TRACE_STATE, ) -> "SpanContext": if trace_flags is None: trace_flags = DEFAULT_TRACE_OPTIONS diff --git a/opentelemetry-api/tests/trace/propagation/test_textmap.py b/opentelemetry-api/tests/trace/propagation/test_textmap.py new file mode 100644 index 00000000000..830f7ac2c1c --- /dev/null +++ b/opentelemetry-api/tests/trace/propagation/test_textmap.py @@ -0,0 +1,42 @@ +# Copyright The OpenTelemetry Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import unittest + +from opentelemetry.trace.propagation.textmap import DictGetter + + +class TestDictGetter(unittest.TestCase): + def test_get_none(self): + getter = DictGetter() + carrier = {} + val = getter.get(carrier, "test") + self.assertIsNone(val) + + def test_get_str(self): + getter = DictGetter() + carrier = {"test": "val"} + val = getter.get(carrier, "test") + self.assertEqual(val, ["val"]) + + def test_get_iter(self): + getter = DictGetter() + carrier = {"test": ["val"]} + val = getter.get(carrier, "test") + self.assertEqual(val, ["val"]) + + def test_keys(self): + getter = DictGetter() + keys = getter.keys({"test": "val"}) + self.assertEqual(keys, ["test"]) From b691414a37a67815d66fbf98a038a9cd022cbb38 Mon Sep 17 00:00:00 2001 From: Abtin Date: Tue, 8 Dec 2020 10:25:41 -0500 Subject: [PATCH 10/12] fix typo (#1452) --- docs/examples/basic_meter/basic_metrics.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/examples/basic_meter/basic_metrics.py b/docs/examples/basic_meter/basic_metrics.py index 0d57238c2db..73415682056 100644 --- a/docs/examples/basic_meter/basic_metrics.py +++ b/docs/examples/basic_meter/basic_metrics.py @@ -16,9 +16,9 @@ This module serves as an example for a simple application using metrics. It shows: -- How to configure a meter passing a sateful or stateless. +- How to configure a meter passing a stateful or stateless. - How to configure an exporter and how to create a controller. -- How to create some metrics intruments and how to capture data with them. +- How to create some metrics instruments and how to capture data with them. - How to use views to specify aggregation types for each metric instrument. """ import sys From 79861fc94066646315728a123cc29782cd67005e Mon Sep 17 00:00:00 2001 From: snyder114 <31932630+snyder114@users.noreply.github.com> Date: Tue, 8 Dec 2020 07:43:16 -0800 Subject: [PATCH 11/12] Update README.md (#1428) --- README.md | 40 +++++++++++++++++++++++----------------- 1 file changed, 23 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 507ebaf6499..8d211cd118e 100644 --- a/README.md +++ b/README.md @@ -38,23 +38,22 @@ ## OpenTelemetry Python -The Python [OpenTelemetry](https://opentelemetry.io/) implementation. +This page describes the Python [OpenTelemetry](https://opentelemetry.io/) implementation. OpenTelemetry is an observability framework for cloud-native software. ## Getting started -OpenTelemetry's goal is to provide a single set of APIs to capture distributed traces and metrics from your application and send them to an observability platform. This project allows you to do just that for applications written in Python. +The goal of OpenTelemetry is to provide a single set of APIs to capture distributed traces and metrics from your application and send them to an observability platform. This project lets you do just that for applications written in Python. This repository includes multiple installable packages. The `opentelemetry-api` -package includes abstract classes and no-op implementations that comprise the OpenTelemetry API following -[the -specification](https://github.com/open-telemetry/opentelemetry-specification). +package includes abstract classes and no-op implementations that comprise the OpenTelemetry API following the +[OpenTelemetry specification](https://github.com/open-telemetry/opentelemetry-specification). The `opentelemetry-sdk` package is the reference implementation of the API. Libraries that produce telemetry data should only depend on `opentelemetry-api`, and defer the choice of the SDK to the application developer. Applications may depend on `opentelemetry-sdk` or another package that implements the API. -The API and SDK packages are available on PyPI, and can installed via `pip`: +The API and SDK packages are available on the Python Package Index (PyPI). You can install them via `pip` with the following commands: ```sh pip install opentelemetry-api @@ -63,7 +62,7 @@ pip install opentelemetry-sdk The [`instrumentation/`](https://github.com/open-telemetry/opentelemetry-python/tree/master/instrumentation) -directory includes OpenTelemetry instrumentation packages, which can be installed separately as: +directory includes OpenTelemetry instrumentation packages. You can install the packages separately with the following command: ```sh pip install opentelemetry-instrumentation-{instrumentation} @@ -71,14 +70,14 @@ pip install opentelemetry-instrumentation-{instrumentation} The [`exporter/`](https://github.com/open-telemetry/opentelemetry-python/tree/master/exporter) -directory includes OpenTelemetry exporter packages, which can be installed separately as: +directory includes OpenTelemetry exporter packages. You can install the packages separately with the following command: ```sh pip install opentelemetry-exporter-{exporter} ``` To install the development versions of these packages instead, clone or fork -this repo and do an [editable +this repository and perform an [editable install](https://pip.pypa.io/en/stable/reference/pip_install/#editable-installs): ```sh @@ -87,17 +86,20 @@ pip install -e ./opentelemetry-sdk pip install -e ./instrumentation/opentelemetry-instrumentation-{instrumentation} ``` +For additional exporter and instrumentation packages, see the +[`opentelemetry-python-contrib`](https://github.com/open-telemetry/opentelemetry-python-contrib) repository. + ## Documentation -The online documentation is available at https://opentelemetry-python.readthedocs.io/, -if you want to access the documentation for the latest version use +The online documentation is available at https://opentelemetry-python.readthedocs.io/. +To access the latest version of the documentation, see https://opentelemetry-python.readthedocs.io/en/latest/. ## Contributing -See [CONTRIBUTING.md](CONTRIBUTING.md). +For information about contributing to OpenTelemetry Python, see [CONTRIBUTING.md](CONTRIBUTING.md). -We meet weekly on Thursday at 9AM PT. The meeting is subject to change depending on contributors' availability. Check the [OpenTelemetry community calendar](https://calendar.google.com/calendar/embed?src=google.com_b79e3e90j7bbsa2n2p5an5lf60%40group.calendar.google.com) for specific dates. +We meet weekly on Thursdays at 9AM PST. The meeting is subject to change depending on contributors' availability. Check the [OpenTelemetry community calendar](https://calendar.google.com/calendar/embed?src=google.com_b79e3e90j7bbsa2n2p5an5lf60%40group.calendar.google.com) for specific dates. Meetings take place via [Zoom video conference](https://zoom.us/j/6729396170). @@ -115,14 +117,14 @@ Approvers ([@open-telemetry/python-approvers](https://github.com/orgs/open-telem - [Reiley Yang](https://github.com/reyang), Microsoft - [Yusuke Tsutsumi](https://github.com/toumorokoshi), Google -*Find more about the approver role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver).* +*For more information about the approver role, see the [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#approver).* Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-telemetry/teams/python-maintainers)): - [Alex Boten](https://github.com/codeboten), Lightstep - [Leighton Chen](https://github.com/lzchen), Microsoft -*Find more about the maintainer role in [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).* +*For more information about the maintainer role, see the [community repository](https://github.com/open-telemetry/community/blob/master/community-membership.md#maintainer).* ### Thanks to all the people who already contributed! @@ -132,5 +134,9 @@ Maintainers ([@open-telemetry/python-maintainers](https://github.com/orgs/open-t ## Project Status -Project [boards](https://github.com/open-telemetry/opentelemetry-python/projects) and [milestones](https://github.com/open-telemetry/opentelemetry-python/milestones) can be found at the respective links. We try to keep these accurate and should be the best place to go for answers on project status. The dates and features described in issues -and milestones are estimates, and subject to change. +For project boards and milestones, see the following links: +- [Project boards](https://github.com/open-telemetry/opentelemetry-python/projects) +- [Milestones](https://github.com/open-telemetry/opentelemetry-python/milestones) + +We try to keep these links accurate, so they're the best place to go for questions about project status. The dates and features described in the issues +and milestones are estimates and subject to change. From a7b2b92e5125ebb05cb5847e66eb085f5b640829 Mon Sep 17 00:00:00 2001 From: LetzNico Date: Tue, 8 Dec 2020 17:03:11 +0100 Subject: [PATCH 12/12] Add support for span collection limit via env vars (#1377) --- .../tests/test_jaeger_exporter.py | 8 ++- .../src/opentelemetry/sdk/trace/__init__.py | 19 ++++--- opentelemetry-sdk/tests/trace/test_trace.py | 50 +++++++++++++++++++ 3 files changed, 67 insertions(+), 10 deletions(-) diff --git a/exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py b/exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py index c49a3216884..75ab622c954 100644 --- a/exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py +++ b/exporter/opentelemetry-exporter-jaeger/tests/test_jaeger_exporter.py @@ -41,6 +41,12 @@ def setUp(self): self._test_span = trace._Span("test_span", context=context) self._test_span.start() self._test_span.end() + # pylint: disable=protected-access + Configuration._reset() + + def tearDown(self): + # pylint: disable=protected-access + Configuration._reset() def test_constructor_default(self): """Test the default values assigned by constructor.""" @@ -142,8 +148,6 @@ def test_constructor_by_environment_variables(self): environ_patcher.stop() - Configuration._reset() - def test_nsec_to_usec_round(self): # pylint: disable=protected-access nsec_to_usec_round = jaeger_exporter._nsec_to_usec_round diff --git a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py index 6328414ab37..cd087a7314e 100644 --- a/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py +++ b/opentelemetry-sdk/src/opentelemetry/sdk/trace/__init__.py @@ -37,6 +37,7 @@ from opentelemetry import context as context_api from opentelemetry import trace as trace_api +from opentelemetry.configuration import Configuration from opentelemetry.sdk import util from opentelemetry.sdk.resources import Resource from opentelemetry.sdk.trace import sampling @@ -49,9 +50,11 @@ logger = logging.getLogger(__name__) -MAX_NUM_ATTRIBUTES = 1000 -MAX_NUM_EVENTS = 1000 -MAX_NUM_LINKS = 1000 +SPAN_ATTRIBUTE_COUNT_LIMIT = Configuration().get( + "SPAN_ATTRIBUTE_COUNT_LIMIT", 1000 +) +SPAN_EVENT_COUNT_LIMIT = Configuration().get("SPAN_EVENT_COUNT_LIMIT", 1000) +SPAN_LINK_COUNT_LIMIT = Configuration().get("SPAN_LINK_COUNT_LIMIT", 1000) VALID_ATTR_VALUE_TYPES = (bool, str, int, float) @@ -446,7 +449,7 @@ def __init__( self.attributes = self._new_attributes() else: self.attributes = BoundedDict.from_map( - MAX_NUM_ATTRIBUTES, attributes + SPAN_ATTRIBUTE_COUNT_LIMIT, attributes ) self.events = self._new_events() @@ -462,7 +465,7 @@ def __init__( if links is None: self.links = self._new_links() else: - self.links = BoundedList.from_seq(MAX_NUM_LINKS, links) + self.links = BoundedList.from_seq(SPAN_LINK_COUNT_LIMIT, links) self._end_time = None # type: Optional[int] self._start_time = None # type: Optional[int] @@ -483,15 +486,15 @@ def __repr__(self): @staticmethod def _new_attributes(): - return BoundedDict(MAX_NUM_ATTRIBUTES) + return BoundedDict(SPAN_ATTRIBUTE_COUNT_LIMIT) @staticmethod def _new_events(): - return BoundedList(MAX_NUM_EVENTS) + return BoundedList(SPAN_EVENT_COUNT_LIMIT) @staticmethod def _new_links(): - return BoundedList(MAX_NUM_LINKS) + return BoundedList(SPAN_LINK_COUNT_LIMIT) @staticmethod def _format_context(context): diff --git a/opentelemetry-sdk/tests/trace/test_trace.py b/opentelemetry-sdk/tests/trace/test_trace.py index 8bb84d1d7d5..6879b6390d3 100644 --- a/opentelemetry-sdk/tests/trace/test_trace.py +++ b/opentelemetry-sdk/tests/trace/test_trace.py @@ -16,11 +16,15 @@ import shutil import subprocess import unittest +from importlib import reload from logging import ERROR, WARNING from typing import Optional from unittest import mock +import pytest + from opentelemetry import trace as trace_api +from opentelemetry.configuration import Configuration from opentelemetry.context import Context from opentelemetry.sdk import resources, trace from opentelemetry.sdk.trace import Resource, sampling @@ -1182,3 +1186,49 @@ def test_attributes_to_json(self): + date_str + '", "attributes": {"key2": "value2"}}], "links": [], "resource": {}}', ) + + +class TestSpanLimits(unittest.TestCase): + def setUp(self): + # reset global state of configuration object + # pylint: disable=protected-access + Configuration._reset() + + def tearDown(self): + # reset global state of configuration object + # pylint: disable=protected-access + Configuration._reset() + + @mock.patch.dict( + "os.environ", + { + "OTEL_SPAN_ATTRIBUTE_COUNT_LIMIT": "10", + "OTEL_SPAN_EVENT_COUNT_LIMIT": "20", + "OTEL_SPAN_LINK_COUNT_LIMIT": "30", + }, + ) + def test_span_environment_limits(self): + reload(trace) + tracer = new_tracer() + ids_generator = trace_api.RandomIdsGenerator() + some_links = [ + trace_api.Link( + trace_api.SpanContext( + trace_id=ids_generator.generate_trace_id(), + span_id=ids_generator.generate_span_id(), + is_remote=False, + ) + ) + for _ in range(100) + ] + with pytest.raises(ValueError): + with tracer.start_as_current_span("root", links=some_links): + pass + + with tracer.start_as_current_span("root") as root: + for idx in range(100): + root.set_attribute("my_attribute_{}".format(idx), 0) + root.add_event("my_event_{}".format(idx)) + + self.assertEqual(len(root.attributes), 10) + self.assertEqual(len(root.events), 20)