|
15 | 15 | # limitations under the License. |
16 | 16 | """ETOS suite starter module.""" |
17 | 17 | import os |
18 | | -from importlib.metadata import version, PackageNotFoundError |
| 18 | +from importlib.metadata import PackageNotFoundError, version |
19 | 19 |
|
| 20 | +from etos_lib.logging.logger import setup_logging |
20 | 21 | from opentelemetry import trace |
21 | 22 | from opentelemetry.exporter.otlp.proto.grpc.trace_exporter import OTLPSpanExporter |
22 | | -from opentelemetry.sdk.resources import SERVICE_NAME, SERVICE_NAMESPACE, SERVICE_VERSION, Resource |
| 23 | +from opentelemetry.sdk.resources import ( |
| 24 | + DEPLOYMENT_ENVIRONMENT, |
| 25 | + SERVICE_NAME, |
| 26 | + SERVICE_VERSION, |
| 27 | + OTELResourceDetector, |
| 28 | + ProcessResourceDetector, |
| 29 | + Resource, |
| 30 | + get_aggregated_resources, |
| 31 | +) |
23 | 32 | from opentelemetry.sdk.trace import TracerProvider |
24 | 33 | from opentelemetry.sdk.trace.export import BatchSpanProcessor |
25 | 34 |
|
26 | | -from etos_lib.logging.logger import setup_logging |
27 | | - |
28 | 35 | # The suite starter shall not send logs to RabbitMQ as it |
29 | 36 | # is too early in the ETOS test run. |
30 | 37 | os.environ["ETOS_ENABLE_SENDING_LOGS"] = "false" |
|
37 | 44 | BASE = os.path.dirname(os.path.abspath(__file__)) |
38 | 45 | DEV = os.getenv("DEV", "false").lower() == "true" |
39 | 46 | ENVIRONMENT = "development" if DEV else "production" |
40 | | -setup_logging("ETOS Suite Starter", VERSION, ENVIRONMENT) |
| 47 | +OTEL_RESOURCE = Resource.create( |
| 48 | + { |
| 49 | + SERVICE_NAME: "etos-suite-starter", |
| 50 | + SERVICE_VERSION: VERSION, |
| 51 | + DEPLOYMENT_ENVIRONMENT: ENVIRONMENT, |
| 52 | + } |
| 53 | +) |
| 54 | + |
41 | 55 |
|
42 | | -if os.getenv("OTEL_EXPORTER_OTLP_TRACES_ENDPOINT"): |
43 | | - PROVIDER = TracerProvider( |
44 | | - resource=Resource.create( |
45 | | - { |
46 | | - SERVICE_NAME: "etos-suite-starter", |
47 | | - SERVICE_VERSION: VERSION, |
48 | | - SERVICE_NAMESPACE: ENVIRONMENT, |
49 | | - } |
50 | | - ) |
51 | | - ) |
| 56 | +if os.getenv("OTEL_EXPORTER_OTLP_ENDPOINT"): |
| 57 | + OTEL_RESOURCE = get_aggregated_resources( |
| 58 | + [OTELResourceDetector(), ProcessResourceDetector()], |
| 59 | + ).merge(OTEL_RESOURCE) |
| 60 | + PROVIDER = TracerProvider(resource=OTEL_RESOURCE) |
52 | 61 | EXPORTER = OTLPSpanExporter() |
53 | 62 | PROCESSOR = BatchSpanProcessor(EXPORTER) |
54 | 63 | PROVIDER.add_span_processor(PROCESSOR) |
55 | 64 | trace.set_tracer_provider(PROVIDER) |
| 65 | + setup_logging("ETOS Suite Starter", VERSION, ENVIRONMENT, OTEL_RESOURCE) |
| 66 | +else: |
| 67 | + setup_logging("ETOS Suite Starter", VERSION, ENVIRONMENT) |
0 commit comments