Skip to content

Commit 7fbc481

Browse files
committed
Deprecate opencensus deprecation
1 parent 1f6b4fa commit 7fbc481

1 file changed

Lines changed: 18 additions & 11 deletions

File tree

src/qcodes/logger/logger.py

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@
88
import io
99
import json
1010
import logging
11-
12-
# logging.handlers is not imported by logging. This extra import is necessary
1311
import logging.handlers
1412
import os
1513
import platform
@@ -18,26 +16,24 @@
1816
from contextlib import contextmanager
1917
from copy import copy
2018
from datetime import datetime
21-
from typing import TYPE_CHECKING, Optional, Union
19+
from typing import TYPE_CHECKING, Any, Optional, Union
20+
21+
from typing_extensions import deprecated
2222

2323
if TYPE_CHECKING:
2424
from collections.abc import Iterator, Sequence
2525
from types import TracebackType
2626

27-
from opencensus.ext.azure.common.protocol import ( # type: ignore[import-untyped]
28-
Envelope,
29-
)
30-
from opencensus.ext.azure.log_exporter import ( # type: ignore[import-untyped]
31-
AzureLogHandler,
32-
)
33-
3427
import qcodes as qc
3528
from qcodes.utils import (
29+
QCoDeSDeprecationWarning,
3630
get_all_installed_package_versions,
3731
get_qcodes_user_path,
3832
is_qcodes_installed_editably,
3933
)
4034

35+
AzureLogHandler = Any
36+
4137
log: logging.Logger = logging.getLogger(__name__)
4238

4339
LevelType = Union[int, str]
@@ -201,10 +197,18 @@ def flush_telemetry_traces() -> None:
201197
telemetry_handler.flush()
202198

203199

200+
@deprecated(
201+
"OpenCensus integration is deprecated. Please use your own telemetry integration as needed",
202+
category=QCoDeSDeprecationWarning,
203+
)
204204
def _create_telemetry_handler() -> "AzureLogHandler":
205205
"""
206206
Configure, create, and return the telemetry handler
207207
"""
208+
if TYPE_CHECKING:
209+
from opencensus.ext.azure.common.protocol import ( # type: ignore[import-untyped]
210+
Envelope,
211+
)
208212
from opencensus.ext.azure.log_exporter import AzureLogHandler
209213
global telemetry_handler
210214

@@ -251,6 +255,7 @@ def callback_function(envelope: "Envelope") -> bool:
251255
connection_string=f"InstrumentationKey="
252256
f"{qc.config.telemetry.instrumentation_key}"
253257
)
258+
assert telemetry_handler is not None
254259
telemetry_handler.add_telemetry_processor(callback_function)
255260
telemetry_handler.setLevel(logging.INFO)
256261
telemetry_handler.addFilter(CustomDimensionsFilter(default_custom_dimensions))
@@ -312,7 +317,9 @@ def start_logger() -> None:
312317
logging.captureWarnings(capture=True)
313318

314319
if qc.config.telemetry.enabled:
315-
root_logger.addHandler(_create_telemetry_handler())
320+
root_logger.addHandler(
321+
_create_telemetry_handler() # pyright: ignore[reportDeprecated]
322+
)
316323

317324
log.info("QCoDes logger setup completed")
318325

0 commit comments

Comments
 (0)