We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
FIX #565 (Import for apollo tracing extension requires telemetry)
## Description

FIX #565 

## Types of Changes

<!--- What types of changes does your pull request introduce? Put an `x` in all the boxes that apply. -->
- [ ] Core
- [x] Bugfix
- [ ] New feature
- [ ] Enhancement/optimization
- [ ] Documentation

## Issues Fixed or Closed by This PR

* #565 

## Checklist

<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
- [x] My code follows the code style of this project.
- [ ] My change requires a change to the documentation.
- [ ] I have updated the documentation accordingly.
- [x] I have read the CONTRIBUTING document.
- [ ] I have added tests to cover my changes.
- [x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).


--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `strawberry/extensions/tracing/__init__.py`
Content:
```
1 from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa
2 from .opentelemetry import OpenTelemetryExtension, OpenTelemetryExtensionSync  # noqa
3
```
--- END FILES ---

Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.

Here is an example:

```diff
diff --git a/examples/server_async.py b/examples/server_async.py
--- a/examples/server_async.py
+++ b/examples/server_async.py
@@ -313,4 +313,4 @@
 
 
 if __name__ == "__main__":
-    asyncio.run(run_async_server("."), debug=True)
+    asyncio.run(run_async_server(), debug=True)
diff --git a/examples/server_sync.py b/examples/server_sync.py
--- a/examples/server_sync.py
+++ b/examples/server_sync.py
@@ -313,5 +313,5 @@
 
 
 if __name__ == "__main__":
-    server = run_sync_server(".")
+    server = run_sync_server()
     server.shutdown()

```

diff --git a/strawberry/extensions/tracing/__init__.py b/strawberry/extensions/tracing/__init__.py
--- a/strawberry/extensions/tracing/__init__.py
+++ b/strawberry/extensions/tracing/__init__.py
@@ -1,2 +1,27 @@
-from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa
-from .opentelemetry import OpenTelemetryExtension, OpenTelemetryExtensionSync  # noqa
+import importlib
+from typing import TYPE_CHECKING
+
+
+if TYPE_CHECKING:
+    from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa
+    from .opentelemetry import (  # noqa
+        OpenTelemetryExtension,
+        OpenTelemetryExtensionSync,
+    )
+
+__all__ = [
+    "ApolloTracingExtension",
+    "ApolloTracingExtensionSync",
+    "OpenTelemetryExtension",
+    "OpenTelemetryExtensionSync",
+]
+
+
+def __getattr__(name: str):
+    if name in {"ApolloTracingExtension", "ApolloTracingExtensionSync"}:
+        return getattr(importlib.import_module(".apollo", __name__), name)
+
+    if name in {"OpenTelemetryExtension", "OpenTelemetryExtensionSync"}:
+        return getattr(importlib.import_module(".opentelemetry", __name__), name)
+
+    raise AttributeError(f"module {__name__!r} has no attribute {name!r}")

{"golden_diff": "diff --git a/strawberry/extensions/tracing/__init__.py b/strawberry/extensions/tracing/__init__.py\n--- a/strawberry/extensions/tracing/__init__.py\n+++ b/strawberry/extensions/tracing/__init__.py\n@@ -1,2 +1,27 @@\n-from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa\n-from .opentelemetry import OpenTelemetryExtension, OpenTelemetryExtensionSync  # noqa\n+import importlib\n+from typing import TYPE_CHECKING\n+\n+\n+if TYPE_CHECKING:\n+    from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa\n+    from .opentelemetry import (  # noqa\n+        OpenTelemetryExtension,\n+        OpenTelemetryExtensionSync,\n+    )\n+\n+__all__ = [\n+    \"ApolloTracingExtension\",\n+    \"ApolloTracingExtensionSync\",\n+    \"OpenTelemetryExtension\",\n+    \"OpenTelemetryExtensionSync\",\n+]\n+\n+\n+def __getattr__(name: str):\n+    if name in {\"ApolloTracingExtension\", \"ApolloTracingExtensionSync\"}:\n+        return getattr(importlib.import_module(\".apollo\", __name__), name)\n+\n+    if name in {\"OpenTelemetryExtension\", \"OpenTelemetryExtensionSync\"}:\n+        return getattr(importlib.import_module(\".opentelemetry\", __name__), name)\n+\n+    raise AttributeError(f\"module {__name__!r} has no attribute {name!r}\")\n", "issue": "FIX #565 (Import for apollo tracing extension requires telemetry)\n## Description\r\n\r\nFIX #565 \r\n\r\n## Types of Changes\r\n\r\n<!--- What types of changes does your pull request introduce? Put an `x` in all the boxes that apply. -->\r\n- [ ] Core\r\n- [x] Bugfix\r\n- [ ] New feature\r\n- [ ] Enhancement/optimization\r\n- [ ] Documentation\r\n\r\n## Issues Fixed or Closed by This PR\r\n\r\n* #565 \r\n\r\n## Checklist\r\n\r\n<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->\r\n- [x] My code follows the code style of this project.\r\n- [ ] My change requires a change to the documentation.\r\n- [ ] I have updated the documentation accordingly.\r\n- [x] I have read the CONTRIBUTING document.\r\n- [ ] I have added tests to cover my changes.\r\n- [x] I have tested the changes and verified that they work and don't break anything (as well as I can manage).\r\n\n", "before_files": [{"content": "from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa\nfrom .opentelemetry import OpenTelemetryExtension, OpenTelemetryExtensionSync  # noqa\n", "path": "strawberry/extensions/tracing/__init__.py"}], "after_files": [{"content": "import importlib\nfrom typing import TYPE_CHECKING\n\n\nif TYPE_CHECKING:\n    from .apollo import ApolloTracingExtension, ApolloTracingExtensionSync  # noqa\n    from .opentelemetry import (  # noqa\n        OpenTelemetryExtension,\n        OpenTelemetryExtensionSync,\n    )\n\n__all__ = [\n    \"ApolloTracingExtension\",\n    \"ApolloTracingExtensionSync\",\n    \"OpenTelemetryExtension\",\n    \"OpenTelemetryExtensionSync\",\n]\n\n\ndef __getattr__(name: str):\n    if name in {\"ApolloTracingExtension\", \"ApolloTracingExtensionSync\"}:\n        return getattr(importlib.import_module(\".apollo\", __name__), name)\n\n    if name in {\"OpenTelemetryExtension\", \"OpenTelemetryExtensionSync\"}:\n        return getattr(importlib.import_module(\".opentelemetry\", __name__), name)\n\n    raise AttributeError(f\"module {__name__!r} has no attribute {name!r}\")\n", "path": "strawberry/extensions/tracing/__init__.py"}]}