|
17 | 17 | import logging
|
18 | 18 | import os
|
19 | 19 |
|
20 |
| -from opentelemetry._logs import set_logger_provider |
21 |
| -from opentelemetry._events import set_event_logger_provider |
22 | 20 | from opentelemetry.environment_variables import (
|
23 | 21 | OTEL_LOGS_EXPORTER,
|
24 | 22 | OTEL_METRICS_EXPORTER,
|
|
30 | 28 | _DEFAULT_CONFIG as SYSTEM_METRICS_DEFAULT_CONFIG,
|
31 | 29 | SystemMetricsInstrumentor,
|
32 | 30 | )
|
33 |
| -from opentelemetry.semconv.resource import ResourceAttributes |
34 |
| -from opentelemetry.sdk._configuration import ( |
35 |
| - _OTelSDKConfigurator, |
36 |
| - _import_exporters, |
37 |
| - _get_exporter_names, |
38 |
| - _get_sampler, |
39 |
| - _import_sampler, |
40 |
| - _get_id_generator, |
41 |
| - _import_id_generator, |
42 |
| - _init_tracing, |
43 |
| - _init_metrics, |
44 |
| -) |
45 |
| -from opentelemetry.sdk._events import EventLoggerProvider |
46 |
| -from opentelemetry.sdk._logs import LoggerProvider, LoggingHandler |
47 |
| -from opentelemetry.sdk._logs.export import BatchLogRecordProcessor |
| 31 | +from opentelemetry.sdk._configuration import _OTelSDKConfigurator |
48 | 32 | from opentelemetry.sdk.environment_variables import (
|
49 | 33 | OTEL_METRICS_EXEMPLAR_FILTER,
|
50 | 34 | OTEL_EXPERIMENTAL_RESOURCE_DETECTORS,
|
51 | 35 | OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE,
|
52 | 36 | OTEL_EXPORTER_OTLP_PROTOCOL,
|
53 |
| - _OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, |
54 | 37 | )
|
55 |
| -from opentelemetry.sdk.resources import Resource |
56 | 38 | from opentelemetry.util._importlib_metadata import EntryPoint
|
57 | 39 |
|
58 | 40 | from elasticotel.distro.environment_variables import ELASTIC_OTEL_SYSTEM_METRICS_ENABLED
|
|
63 | 45 |
|
64 | 46 |
|
65 | 47 | class ElasticOpenTelemetryConfigurator(_OTelSDKConfigurator):
|
66 |
| - def _configure(self, **kwargs): |
67 |
| - """This is overriden to enable the log machinery (and thus log events) without |
68 |
| - attaching the OTel handler to the Python logging module. |
69 |
| -
|
70 |
| - This code is a simplified version of _initialize_components plus the changes |
71 |
| - required to have log events enabled out of the box""" |
72 |
| - span_exporters, metric_exporters, log_exporters = _import_exporters( |
73 |
| - _get_exporter_names("traces"), |
74 |
| - _get_exporter_names("metrics"), |
75 |
| - _get_exporter_names("logs"), |
76 |
| - ) |
77 |
| - sampler_name = _get_sampler() |
78 |
| - sampler = _import_sampler(sampler_name) |
79 |
| - id_generator_name = _get_id_generator() |
80 |
| - id_generator = _import_id_generator(id_generator_name) |
81 |
| - |
82 |
| - resource_attributes = {} |
83 |
| - # populate version if using auto-instrumentation |
84 |
| - auto_instrumentation_version = kwargs.get("auto_instrumentation_version") |
85 |
| - if auto_instrumentation_version: |
86 |
| - resource_attributes[ResourceAttributes.TELEMETRY_AUTO_VERSION] = auto_instrumentation_version |
87 |
| - # if env var OTEL_RESOURCE_ATTRIBUTES is given, it will read the service_name |
88 |
| - # from the env variable else defaults to "unknown_service" |
89 |
| - resource = Resource.create(resource_attributes) |
90 |
| - |
91 |
| - _init_tracing( |
92 |
| - exporters=span_exporters, |
93 |
| - id_generator=id_generator, |
94 |
| - sampler=sampler, |
95 |
| - resource=resource, |
96 |
| - ) |
97 |
| - _init_metrics(metric_exporters, resource) |
98 |
| - |
99 |
| - # from here we change the semantics of _OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED from |
100 |
| - # controlling all the logging support to just the logging handler. So we can use log events without |
101 |
| - # exporting all the logs to OTLP |
102 |
| - logger_provider = LoggerProvider(resource=resource) |
103 |
| - set_logger_provider(logger_provider) |
104 |
| - |
105 |
| - for _, exporter_class in log_exporters.items(): |
106 |
| - exporter_args = {} |
107 |
| - logger_provider.add_log_record_processor(BatchLogRecordProcessor(exporter_class(**exporter_args))) |
108 |
| - |
109 |
| - setup_logging_handler = ( |
110 |
| - os.getenv(_OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED, "false").strip().lower() == "true" |
111 |
| - ) |
112 |
| - if setup_logging_handler: |
113 |
| - handler = LoggingHandler(level=logging.NOTSET, logger_provider=logger_provider) |
114 |
| - logging.getLogger().addHandler(handler) |
115 |
| - |
116 |
| - # now setup the event logger |
117 |
| - event_logger_provider = EventLoggerProvider(logger_provider=logger_provider) |
118 |
| - set_event_logger_provider(event_logger_provider) |
| 48 | + pass |
119 | 49 |
|
120 | 50 |
|
121 | 51 | class ElasticOpenTelemetryDistro(BaseDistro):
|
|
0 commit comments