<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Home page -->
  <url>
    <loc>https://python-observability.com/</loc>
    <lastmod>2026-05-08</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>

  <!-- All documentation pages -->
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/async-tracing-patterns/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/async-tracing-patterns/instrumenting-aiohttp-client-requests/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/async-tracing-patterns/tracing-sqlalchemy-async-queries/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/context-propagation-and-baggage/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/context-propagation-and-baggage/propagating-trace-context-across-celery-tasks/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/instrumenting-python-web-frameworks/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/instrumenting-python-web-frameworks/instrumenting-django-with-opentelemetry/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/opentelemetry-sdk-setup/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/opentelemetry-sdk-setup/setting-up-opentelemetry-in-fastapi/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/span-lifecycle-and-attributes/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/distributed-tracing-and-opentelemetry-in-python/span-lifecycle-and-attributes/sampling-strategies-for-distributed-tracing/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/loguru-configuration-and-sinks/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/loguru-configuration-and-sinks/async-logging-with-loguru-enqueue/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/loguru-configuration-and-sinks/implementing-custom-sinks-in-loguru/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/python-standard-library-vs-third-party/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/python-standard-library-vs-third-party/structlog-json-logging-in-django/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-architecture-and-setup/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-architecture-and-setup/binding-context-variables-in-structlog/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-architecture-and-setup/loguru-vs-structlog-for-microservices/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-architecture-and-setup/migrating-from-standard-logging-to-structlog/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-vs-loguru-vs-stdlib-logging/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/modern-python-logging-libraries-deep-dive/structlog-vs-loguru-vs-stdlib-logging/choosing-a-logging-library-for-fastapi/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/context-variables-and-thread-safety/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/context-variables-and-thread-safety/thread-safe-logging-in-multiprocessing/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/context-variables-and-thread-safety/using-contextvars-for-request-tracing/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/formatter-configuration/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/formatter-configuration/adding-trace-ids-to-log-records/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/formatter-configuration/structured-logging-with-python-standard-library/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/handler-architecture/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/handler-architecture/best-practices-for-log-rotation-in-python/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/handler-architecture/non-blocking-logging-with-queuehandler/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/log-levels-and-severity-mapping/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/log-levels-and-severity-mapping/how-to-configure-python-logging-for-production/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/log-levels-and-severity-mapping/mapping-python-log-levels-to-syslog/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/logging-configuration-and-dictconfig/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-logging-fundamentals-and-structured-data/logging-configuration-and-dictconfig/configuring-logging-with-dictconfig/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/metric-types-and-cardinality/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/metric-types-and-cardinality/choosing-counter-gauge-histogram-summary/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/metric-types-and-cardinality/controlling-label-cardinality-in-prometheus/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/opentelemetry-metrics-sdk/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/opentelemetry-metrics-sdk/exporting-otlp-metrics-to-the-collector/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/opentelemetry-metrics-sdk/recording-counters-and-histograms-with-opentelemetry/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/opentelemetry-vs-prometheus-for-python-metrics/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/prometheus-client-instrumentation/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/prometheus-client-instrumentation/exposing-custom-metrics-with-prometheus-client/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://python-observability.com/python-metrics-and-instrumentation/prometheus-client-instrumentation/instrumenting-flask-with-prometheus-metrics/</loc>
    <lastmod>2026-06-19</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
</urlset>

