|
32 | 32 | from opentelemetry.sdk._events import EventLoggerProvider as SDKEventLoggerProvider |
33 | 33 | from opentelemetry.sdk._logs import LoggerProvider as SDKLoggerProvider, LogRecordProcessor |
34 | 34 | from opentelemetry.sdk._logs._internal import SynchronousMultiLogRecordProcessor |
35 | | -from opentelemetry.sdk._logs.export import BatchLogRecordProcessor |
| 35 | +from opentelemetry.sdk._logs.export import BatchLogRecordProcessor, SimpleLogRecordProcessor |
36 | 36 | from opentelemetry.sdk.environment_variables import ( |
37 | 37 | OTEL_BSP_SCHEDULE_DELAY, |
38 | 38 | OTEL_EXPORTER_OTLP_ENDPOINT, |
@@ -932,7 +932,13 @@ def check_token(): |
932 | 932 | compression=Compression.Gzip, |
933 | 933 | ) |
934 | 934 | log_exporter = QuietLogExporter(log_exporter) |
935 | | - log_record_processors.append(BatchLogRecordProcessor(log_exporter)) |
| 935 | + |
| 936 | + if emscripten: # pragma: no cover |
| 937 | + # BatchLogRecordProcessor uses threads which fail in Pyodide / Emscripten |
| 938 | + logfire_log_processor = SimpleLogRecordProcessor(log_exporter) |
| 939 | + else: |
| 940 | + logfire_log_processor = BatchLogRecordProcessor(log_exporter) |
| 941 | + log_record_processors.append(logfire_log_processor) |
936 | 942 |
|
937 | 943 | if processors_with_pending_spans: |
938 | 944 | pending_multiprocessor = SynchronousMultiSpanProcessor() |
@@ -964,7 +970,12 @@ def check_token(): |
964 | 970 | metric_readers += [PeriodicExportingMetricReader(OTLPMetricExporter())] |
965 | 971 |
|
966 | 972 | if (otlp_endpoint or otlp_logs_endpoint) and otlp_logs_exporter in ('otlp', ''): |
967 | | - log_record_processors += [BatchLogRecordProcessor(OTLPLogExporter())] |
| 973 | + if emscripten: # pragma: no cover |
| 974 | + # BatchLogRecordProcessor uses threads which fail in Pyodide / Emscripten |
| 975 | + logfire_log_processor = SimpleLogRecordProcessor(OTLPLogExporter()) |
| 976 | + else: |
| 977 | + logfire_log_processor = BatchLogRecordProcessor(OTLPLogExporter()) |
| 978 | + log_record_processors.append(logfire_log_processor) |
968 | 979 |
|
969 | 980 | if metric_readers is not None: |
970 | 981 | meter_provider = MeterProvider( |
|
0 commit comments