Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 25 additions & 16 deletions docs/plugins/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ def on_page_markdown(markdown: str, page: Page, config: Config, files: Files) ->
markdown = logfire_print_help(markdown, page)
markdown = install_logfire(markdown, page)
markdown = integrations_metadata(markdown, page)
markdown = footer_web_frameworks(markdown, page)
markdown = footer_excluded_urls_and_headers(markdown, page)
return markdown


Expand Down Expand Up @@ -180,23 +180,29 @@ def integrations_metadata(markdown: str, page: Page) -> str:


otel_docs = {
'flask': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/flask/flask.html',
'fastapi': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/fastapi/fastapi.html',
'django': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/django/django.html',
'starlette': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/starlette/starlette.html',
'asgi': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/asgi/asgi.html',
'wsgi': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/wsgi/wsgi.html',
'aiohttp': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/aiohttp_server/aiohttp_server.html',
'integrations/web-frameworks/flask.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/flask/flask.html',
'integrations/web-frameworks/fastapi.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/fastapi/fastapi.html',
'integrations/web-frameworks/django.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/django/django.html',
'integrations/web-frameworks/starlette.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/starlette/starlette.html',
'integrations/web-frameworks/asgi.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/asgi/asgi.html',
'integrations/web-frameworks/wsgi.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/wsgi/wsgi.html',
'integrations/web-frameworks/aiohttp.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/aiohttp_server/aiohttp_server.html',
'integrations/http-clients/httpx.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/httpx/httpx.html',
'integrations/http-clients/requests.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/requests/requests.html',
'integrations/http-clients/aiohttp.md': 'https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/aiohttp_client/aiohttp_client.html',
}


def footer_web_frameworks(markdown: str, page: Page) -> str:
if (
not page.file.src_uri.startswith('integrations/web-frameworks/')
or page.file.src_uri == 'integrations/web-frameworks/gunicorn.md'
or page.file.src_path.endswith('index.md')
):
def footer_excluded_urls_and_headers(markdown: str, page: Page) -> str:
is_web_framework = (
page.file.src_uri.startswith('integrations/web-frameworks/')
and page.file.src_uri != 'integrations/web-frameworks/gunicorn.md'
and not page.file.src_path.endswith('index.md')
)
is_http_client = page.file.src_uri.startswith('integrations/http-clients/')
if not (is_web_framework or is_http_client):
return markdown
docs_url = otel_docs[page.file.src_uri]
Comment thread
alexmojaki marked this conversation as resolved.
exclude_lists = """
## Excluding URLs from instrumentation

Expand All @@ -211,12 +217,15 @@ def footer_web_frameworks(markdown: str, page: Page) -> str:
"""
elif not page.file.name == 'wsgi':
Comment thread
alexmojaki marked this conversation as resolved.
Outdated
exclude_lists += f"""
- [OpenTelemetry Documentation]({otel_docs[page.file.name]}#exclude-lists)
- [OpenTelemetry Documentation]({docs_url}#exclude-lists)
"""
if is_http_client:
# http-clients pages already document headers/bodies inline
Comment thread
alexmojaki marked this conversation as resolved.
Outdated
return markdown + exclude_lists
capture_headers = f"""
## Capturing request and response headers

- [Quick guide](../web-frameworks/index.md#capturing-http-server-request-and-response-headers)
- [OpenTelemetry Documentation]({otel_docs[page.file.name]}#capture-http-request-and-response-headers)
- [OpenTelemetry Documentation]({docs_url}#capture-http-request-and-response-headers)
"""
return markdown + exclude_lists + capture_headers
Loading