Skip to content

Commit 60a7722

Browse files
authored
Merge branch 'main' into dev
2 parents c05ebc1 + 4febd33 commit 60a7722

File tree

36 files changed

+212
-68
lines changed

36 files changed

+212
-68
lines changed

.github/workflows/test.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ env:
1010
# Otherwise, set variable to the commit of your branch on
1111
# opentelemetry-python-contrib which is compatible with these Core repo
1212
# changes.
13-
CONTRIB_REPO_SHA: 9ce1c26d2732dfbdadbb492fc38c562dcd08ed2e
13+
CONTRIB_REPO_SHA: 7d4573da89c7aef748614e6f1511be3eddf5b230
1414

1515
# This is needed because we do not clone the core repo in contrib builds anymore.
1616
# When running contrib builds as part of core builds, we use actions/checkout@v4 which

CHANGELOG.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## Unreleased
99

10+
- Fix RandomIdGenerator can generate invalid Span/Trace Ids
11+
([#3921](https://github.com/open-telemetry/opentelemetry-python/issues/3921))
12+
13+
## Version 1.25.0/0.46b0 (2024-05-30)
14+
1015
- Fix class BoundedAttributes to have RLock rather than Lock
1116
([#3859](https://github.com/open-telemetry/opentelemetry-python/pull/3859))
1217
- Remove thread lock by loading RuntimeContext explicitly.
@@ -54,8 +59,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
5459
- unit annotations (enclosed in curly braces like `{requests}`) are stripped away
5560
- units with slash are converted e.g. `m/s` -> `meters_per_second`.
5661
- The exporter's API is not changed
57-
- Fix RandomIdGenerator can generate invalid Span/Trace Ids
58-
([#3921](https://github.com/open-telemetry/opentelemetry-python/issues/3921))
62+
- Add parameters for Distros and configurators to configure autoinstrumentation in addition to existing environment variables.
63+
([#3864] (https://github.com/open-telemetry/opentelemetry-python/pull/3864))
5964

6065
## Version 1.24.0/0.45b0 (2024-03-28)
6166

docs/getting_started/tests/test_flask.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,4 @@ def test_flask(self):
4646
output = str(server.stdout.read())
4747
self.assertIn('"name": "GET"', output)
4848
self.assertIn('"name": "example-request"', output)
49-
self.assertIn('"name": "/"', output)
49+
self.assertIn('"name": "GET /"', output)

eachdist.ini

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ sortfirst=
1111
exporter/*
1212

1313
[stable]
14-
version=1.25.0.dev
14+
version=1.26.0.dev
1515

1616
packages=
1717
opentelemetry-sdk
@@ -27,7 +27,7 @@ packages=
2727
opentelemetry-api
2828

2929
[prerelease]
30-
version=0.46b0.dev
30+
version=0.47b0.dev
3131

3232
packages=
3333
opentelemetry-opentracing-shim

exporter/opentelemetry-exporter-opencensus/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ classifiers = [
2929
dependencies = [
3030
"grpcio >= 1.0.0, < 2.0.0",
3131
"opencensus-proto >= 0.1.0, < 1.0.0",
32-
"opentelemetry-api >= 1.25.0.dev",
32+
"opentelemetry-api >= 1.26.0.dev",
3333
"opentelemetry-sdk >= 1.15",
3434
"protobuf ~= 3.13",
3535
"setuptools >= 16.0",

exporter/opentelemetry-exporter-opencensus/src/opentelemetry/exporter/opencensus/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "0.46b0.dev"
15+
__version__ = "0.47b0.dev"

exporter/opentelemetry-exporter-otlp-proto-common/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ classifiers = [
2626
"Programming Language :: Python :: 3.11",
2727
]
2828
dependencies = [
29-
"opentelemetry-proto == 1.25.0.dev",
29+
"opentelemetry-proto == 1.26.0.dev",
3030
]
3131

3232
[project.urls]

exporter/opentelemetry-exporter-otlp-proto-common/src/opentelemetry/exporter/otlp/proto/common/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-otlp-proto-grpc/pyproject.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,9 @@ dependencies = [
3030
"googleapis-common-protos ~= 1.52",
3131
"grpcio >= 1.0.0, < 2.0.0",
3232
"opentelemetry-api ~= 1.15",
33-
"opentelemetry-proto == 1.25.0.dev",
34-
"opentelemetry-sdk ~= 1.25.0.dev",
35-
"opentelemetry-exporter-otlp-proto-common == 1.25.0.dev",
33+
"opentelemetry-proto == 1.26.0.dev",
34+
"opentelemetry-sdk ~= 1.26.0.dev",
35+
"opentelemetry-exporter-otlp-proto-common == 1.26.0.dev",
3636
]
3737

3838
[project.entry-points.opentelemetry_logs_exporter]

exporter/opentelemetry-exporter-otlp-proto-grpc/src/opentelemetry/exporter/otlp/proto/grpc/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-otlp-proto-http/pyproject.toml

+3-3
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,9 @@ dependencies = [
2929
"Deprecated >= 1.2.6",
3030
"googleapis-common-protos ~= 1.52",
3131
"opentelemetry-api ~= 1.15",
32-
"opentelemetry-proto == 1.25.0.dev",
33-
"opentelemetry-sdk ~= 1.25.0.dev",
34-
"opentelemetry-exporter-otlp-proto-common == 1.25.0.dev",
32+
"opentelemetry-proto == 1.26.0.dev",
33+
"opentelemetry-sdk ~= 1.26.0.dev",
34+
"opentelemetry-exporter-otlp-proto-common == 1.26.0.dev",
3535
"requests ~= 2.7",
3636
]
3737

exporter/opentelemetry-exporter-otlp-proto-http/src/opentelemetry/exporter/otlp/proto/http/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-otlp/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ classifiers = [
2727
"Typing :: Typed",
2828
]
2929
dependencies = [
30-
"opentelemetry-exporter-otlp-proto-grpc == 1.25.0.dev",
31-
"opentelemetry-exporter-otlp-proto-http == 1.25.0.dev",
30+
"opentelemetry-exporter-otlp-proto-grpc == 1.26.0.dev",
31+
"opentelemetry-exporter-otlp-proto-http == 1.26.0.dev",
3232
]
3333

3434
[project.entry-points.opentelemetry_logs_exporter]

exporter/opentelemetry-exporter-otlp/src/opentelemetry/exporter/otlp/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-prometheus/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ classifiers = [
2828
dependencies = [
2929
"opentelemetry-api ~= 1.12",
3030
# DONOTMERGE: confirm that this will becomes ~= 1.21 in the next release
31-
"opentelemetry-sdk ~= 1.25.0.dev",
31+
"opentelemetry-sdk ~= 1.26.0.dev",
3232
"prometheus_client >= 0.5.0, < 1.0.0",
3333
]
3434

exporter/opentelemetry-exporter-prometheus/src/opentelemetry/exporter/prometheus/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "0.46b0.dev"
15+
__version__ = "0.47b0.dev"

exporter/opentelemetry-exporter-zipkin-json/src/opentelemetry/exporter/zipkin/json/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-zipkin-proto-http/pyproject.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ classifiers = [
2828
]
2929
dependencies = [
3030
"opentelemetry-api ~= 1.3",
31-
"opentelemetry-exporter-zipkin-json == 1.25.0.dev",
31+
"opentelemetry-exporter-zipkin-json == 1.26.0.dev",
3232
"opentelemetry-sdk ~= 1.11",
3333
"protobuf ~= 3.12",
3434
"requests ~= 2.7",

exporter/opentelemetry-exporter-zipkin-proto-http/src/opentelemetry/exporter/zipkin/proto/http/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

exporter/opentelemetry-exporter-zipkin/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ classifiers = [
2727
"Typing :: Typed",
2828
]
2929
dependencies = [
30-
"opentelemetry-exporter-zipkin-json == 1.25.0.dev",
31-
"opentelemetry-exporter-zipkin-proto-http == 1.25.0.dev",
30+
"opentelemetry-exporter-zipkin-json == 1.26.0.dev",
31+
"opentelemetry-exporter-zipkin-proto-http == 1.26.0.dev",
3232
]
3333

3434
[project.entry-points.opentelemetry_traces_exporter]

exporter/opentelemetry-exporter-zipkin/src/opentelemetry/exporter/zipkin/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

opentelemetry-api/src/opentelemetry/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

opentelemetry-proto/src/opentelemetry/proto/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

opentelemetry-sdk/pyproject.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ classifiers = [
2626
"Typing :: Typed",
2727
]
2828
dependencies = [
29-
"opentelemetry-api == 1.25.0.dev",
30-
"opentelemetry-semantic-conventions == 0.46b0.dev",
29+
"opentelemetry-api == 1.26.0.dev",
30+
"opentelemetry-semantic-conventions == 0.47b0.dev",
3131
"typing-extensions >= 3.7.4",
3232
]
3333

opentelemetry-sdk/src/opentelemetry/sdk/_configuration/__init__.py

+45-21
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@
5050
MetricReader,
5151
PeriodicExportingMetricReader,
5252
)
53-
from opentelemetry.sdk.resources import Resource
53+
from opentelemetry.sdk.resources import Attributes, Resource
5454
from opentelemetry.sdk.trace import TracerProvider
5555
from opentelemetry.sdk.trace.export import BatchSpanProcessor, SpanExporter
5656
from opentelemetry.sdk.trace.id_generator import IdGenerator
@@ -354,37 +354,61 @@ def _import_id_generator(id_generator_name: str) -> IdGenerator:
354354
raise RuntimeError(f"{id_generator_name} is not an IdGenerator")
355355

356356

357-
def _initialize_components(auto_instrumentation_version):
358-
trace_exporters, metric_exporters, log_exporters = _import_exporters(
359-
_get_exporter_names("traces"),
360-
_get_exporter_names("metrics"),
361-
_get_exporter_names("logs"),
357+
def _initialize_components(
358+
auto_instrumentation_version: Optional[str] = None,
359+
trace_exporter_names: Optional[List[str]] = None,
360+
metric_exporter_names: Optional[List[str]] = None,
361+
log_exporter_names: Optional[List[str]] = None,
362+
sampler: Optional[Sampler] = None,
363+
resource_attributes: Optional[Attributes] = None,
364+
id_generator: IdGenerator = None,
365+
logging_enabled: Optional[bool] = None,
366+
):
367+
if trace_exporter_names is None:
368+
trace_exporter_names = []
369+
if metric_exporter_names is None:
370+
metric_exporter_names = []
371+
if log_exporter_names is None:
372+
log_exporter_names = []
373+
span_exporters, metric_exporters, log_exporters = _import_exporters(
374+
trace_exporter_names + _get_exporter_names("traces"),
375+
metric_exporter_names + _get_exporter_names("metrics"),
376+
log_exporter_names + _get_exporter_names("logs"),
362377
)
363-
sampler_name = _get_sampler()
364-
sampler = _import_sampler(sampler_name)
365-
id_generator_name = _get_id_generator()
366-
id_generator = _import_id_generator(id_generator_name)
367-
# if env var OTEL_RESOURCE_ATTRIBUTES is given, it will read the service_name
368-
# from the env variable else defaults to "unknown_service"
369-
auto_resource = {}
378+
if sampler is None:
379+
sampler_name = _get_sampler()
380+
sampler = _import_sampler(sampler_name)
381+
if id_generator is None:
382+
id_generator_name = _get_id_generator()
383+
id_generator = _import_id_generator(id_generator_name)
384+
if resource_attributes is None:
385+
resource_attributes = {}
370386
# populate version if using auto-instrumentation
371387
if auto_instrumentation_version:
372-
auto_resource[ResourceAttributes.TELEMETRY_AUTO_VERSION] = (
388+
resource_attributes[ResourceAttributes.TELEMETRY_AUTO_VERSION] = (
373389
auto_instrumentation_version
374390
)
375-
resource = Resource.create(auto_resource)
391+
# if env var OTEL_RESOURCE_ATTRIBUTES is given, it will read the service_name
392+
# from the env variable else defaults to "unknown_service"
393+
resource = Resource.create(resource_attributes)
376394

377395
_init_tracing(
378-
exporters=trace_exporters,
396+
exporters=span_exporters,
379397
id_generator=id_generator,
380398
sampler=sampler,
381399
resource=resource,
382400
)
383401
_init_metrics(metric_exporters, resource)
384-
logging_enabled = os.getenv(
385-
_OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, "false"
386-
)
387-
if logging_enabled.strip().lower() == "true":
402+
if logging_enabled is None:
403+
logging_enabled = (
404+
os.getenv(
405+
_OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, "false"
406+
)
407+
.strip()
408+
.lower()
409+
== "true"
410+
)
411+
if logging_enabled:
388412
_init_logging(log_exporters, resource)
389413

390414

@@ -428,4 +452,4 @@ class _OTelSDKConfigurator(_BaseConfigurator):
428452
"""
429453

430454
def _configure(self, **kwargs):
431-
_initialize_components(kwargs.get("auto_instrumentation_version"))
455+
_initialize_components(**kwargs)

opentelemetry-sdk/src/opentelemetry/sdk/version.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,4 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
__version__ = "1.25.0.dev"
15+
__version__ = "1.26.0.dev"

0 commit comments

Comments
 (0)