| <!doctype html> |
| <html lang="en" class="no-js"> |
| <head> |
| <meta charset="utf-8"> |
| <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> |
| <meta name="twitter:site" content="skywalking.apache.org"> |
| <meta name="twitter:image:src" content="https://skywalking.apache.org/images/skywalking_400x400.png"> |
| <meta property="og:image" content="https://skywalking.apache.org/images/skywalking_400x400.png"> |
| |
| <meta name="generator" content="Hugo 0.80.0" /> |
| |
| <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW"> |
| <link rel="stylesheet" href="/css/iconfont/iconfont.css"> |
| |
| |
| |
| <link rel="apple-touch-icon" sizes="180x180" href="/favicons/apple-touch-icon.png"> |
| <link rel="icon" type="image/png" sizes="32x32" href="/favicons/favicon-32x32.png"> |
| <link rel="icon" type="image/png" sizes="16x16" href="/favicons/favicon-16x16.png"> |
| <link rel="manifest" href="/favicons/site.webmanifest"> |
| <link rel="mask-icon" href="/favicons/safari-pinned-tab.svg" color="#5bbad5"> |
| <meta name="msapplication-TileColor" content="#da532c"> |
| <meta name="theme-color" content="#ffffff"> |
| |
| <title>SkyWalking Python Agent | Apache SkyWalking</title><meta property="og:title" content="SkyWalking Python Agent" /> |
| <meta property="og:description" content="SkyWalking Python Agent This is the official documentation of SkyWalking Python agent. Welcome to the SkyWalking community! |
| The Python Agent for Apache SkyWalking provides the native tracing/metrics/logging/profiling abilities for Python projects. |
| This documentation covers a number of ways to set up the Python agent for various use cases. |
| |
| Capabilities The following table demonstrates the currently supported telemetry collection capabilities in SkyWalking Python agent: |
| Reporter Supported? Details Trace ✅ (default: ON) Automatic instrumentation + Manual SDK Log ✅ (default: ON) Direct reporter only." /> |
| <meta property="og:type" content="article" /> |
| <meta property="og:url" content="/docs/skywalking-python/v1.2.0/readme/" /> |
| |
| <meta itemprop="name" content="SkyWalking Python Agent"> |
| <meta itemprop="description" content="SkyWalking Python Agent This is the official documentation of SkyWalking Python agent. Welcome to the SkyWalking community! |
| The Python Agent for Apache SkyWalking provides the native tracing/metrics/logging/profiling abilities for Python projects. |
| This documentation covers a number of ways to set up the Python agent for various use cases. |
| |
| Capabilities The following table demonstrates the currently supported telemetry collection capabilities in SkyWalking Python agent: |
| Reporter Supported? Details Trace ✅ (default: ON) Automatic instrumentation + Manual SDK Log ✅ (default: ON) Direct reporter only."> |
| |
| <meta itemprop="wordCount" content="137"> |
| |
| |
| |
| <meta itemprop="keywords" content="" /> |
| <meta name="twitter:card" content="summary"/> |
| <meta name="twitter:title" content="SkyWalking Python Agent"/> |
| <meta name="twitter:description" content="SkyWalking Python Agent This is the official documentation of SkyWalking Python agent. Welcome to the SkyWalking community! |
| The Python Agent for Apache SkyWalking provides the native tracing/metrics/logging/profiling abilities for Python projects. |
| This documentation covers a number of ways to set up the Python agent for various use cases. |
| |
| Capabilities The following table demonstrates the currently supported telemetry collection capabilities in SkyWalking Python agent: |
| Reporter Supported? Details Trace ✅ (default: ON) Automatic instrumentation + Manual SDK Log ✅ (default: ON) Direct reporter only."/> |
| |
| |
| |
| <link rel="preload" href="/scss/main.min.87646025889dabea717b27775dce3ff0338fa9fca8fd9c6b316d56f659f4142c.css" as="style"> |
| <link href="/scss/main.min.87646025889dabea717b27775dce3ff0338fa9fca8fd9c6b316d56f659f4142c.css" rel="stylesheet" integrity=""> |
| |
| |
| |
| <link rel="stylesheet" href="/css/docSearch.css" /> |
| <link rel="stylesheet" href="/css/highlight-github.css" /> |
| |
| |
| <script src="/js/jquery-3.6.0.min.js"></script> |
| |
| |
| |
| |
| |
| <title>SkyWalking Python Agent | Apache SkyWalking</title> |
| </head> |
| <body class="td-page project-doc"> |
| <header> |
| |
| <nav class="js-navbar-scroll navbar navbar-expand flex-column flex-md-row td-navbar"> |
| <div class="sidebar-button"> |
| <i class="iconfont icon-menu"></i> |
| </div> |
| <a class="navbar-brand" href="/"> |
| <span class="navbar-logo"><img width="130" src="/images/logo.svg" alt="SkyWalking"></span> |
| </a> |
| <div class="td-navbar-nav-scroll navbar-nav-wrapper" id="navigation"> |
| <ul class="navbar-nav mt-lg-0"> |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/docs" ><span>Projects and Docs</span></a> |
| </li> |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/events" ><span>Events</span></a> |
| </li> |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/blog" ><span>Blogs</span></a> |
| </li> |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/downloads" ><span>Downloads</span></a> |
| </li> |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/team" ><span>Team</span></a> |
| </li> |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| |
| |
| |
| |
| <a class="nav-link" href="/users" ><span>Users</span></a> |
| </li> |
| |
| |
| |
| |
| |
| <li class="nav-item mr-3 mb-lg-0"> |
| <span class="link dropdown blog"> |
| <a class="link-name nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">中文资料</a> |
| <div class="dropdown-menu"> |
| <a class="dropdown-item" href="/zh/">博客</a> |
| <a class="dropdown-item" href="https://space.bilibili.com/390683219" target="_blank" rel="noopener noreferrer"> |
| B站 |
| </a> |
| <a class="dropdown-item" href="https://juejin.cn/user/13673577331607" target="_blank" rel="noopener noreferrer"> |
| 掘金 |
| </a> |
| </div> |
| </span> |
| </li> |
| |
| |
| |
| </ul> |
| </div> |
| <div class="navbar-nav d-none d-lg-block search-input-box"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <span class="link dropdown"> |
| <a class="link-name dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> |
| Links |
| </a> |
| <div class="dropdown-menu"> |
| |
| <a class="dropdown-item" href="http://www.apache.org/">Apache Software Foundation</a> |
| <a class="dropdown-item" href="https://github.com/apache/skywalking/issues">GitHub Issue Tracker</a> |
| <a class="dropdown-item" href="https://github.com/apache/skywalking/discussions">Discussion</a> |
| <a class="dropdown-item" href="https://lists.apache.org/list.html?dev@skywalking.apache.org">Dev Mailing List</a> |
| <a class="dropdown-item" href="https://cwiki.apache.org/confluence/display/SKYWALKING/Home">WIKI</a> |
| <a class="dropdown-item" href="http://www.apache.org/licenses/">License</a> |
| <a class="dropdown-item" href="http://www.apache.org/events/current-event">Apache Events</a> |
| <a class="dropdown-item" href="http://www.apache.org/security/">Security</a> |
| <a class="dropdown-item" href="http://www.apache.org/foundation/sponsorship.html">Sponsor and Donate</a> |
| <a class="dropdown-item" href="http://www.apache.org/foundation/thanks.html">Thanks</a> |
| <a class="dropdown-item" href="https://apache.org/foundation/policies/privacy.html">Privacy</a> |
| </div> |
| </span> |
| |
| |
| |
| <div id="docsearch"></div> |
| |
| |
| </div> |
| </nav> |
| |
| </header> |
| <div class="container-fluid td-outer"> |
| |
| <div class="td-main"> |
| <div class="row flex-xl-nowrap"> |
| <div class="col-12 col-md-3 col-xl-2 d-print-none scroll-bar td-sidebar"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div class="description-wrapper"> |
| <h5> |
| <img width="26" height="26" src="/images/project/python-agent.svg"> |
| Python Agent |
| </h5> |
| <p>The Python Agent for Apache SkyWalking, which provides the native tracing/metrics/logging/profiling abilities for Python projects.</p> |
| </div> |
| |
| <div class="version-wrapper">Version: |
| <select class="version-select"> |
| |
| |
| |
| <option ZgotmplZ value="next"> |
| |
| next |
| |
| </option> |
| |
| |
| |
| <option ZgotmplZ value="latest"> |
| |
| latest |
| |
| </option> |
| |
| |
| |
| <option selected value="v1.2.0"> |
| |
| v1.2.0 |
| |
| </option> |
| |
| </select> |
| </div> |
| |
| <ul class="sidebar-menu"> |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/readme">SkyWalking Python Overview</a> |
| |
| </li> |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/installation">Installation</a> |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="#">Integration<i class="iconfont icon-arrow-right pull-right"></i></a> |
| |
| |
| |
| <ul class="sidebar-submenu"> |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/cli">Non-Intrusive Setup (Recommended)</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/intrusive">Legacy Setup (Fallback)</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/container">Containerized Setup</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/configuration">Configuration Vocabulary</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| |
| |
| <a href="#">Advanced Features<i class="iconfont icon-arrow-right pull-right"></i></a> |
| |
| |
| |
| <ul class="sidebar-submenu"> |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/advanced/logreporter">Log Reporter</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/advanced/meterreporter">Meter Reporter</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/advanced/api">Manual Trace Instrumentation</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/advanced/asyncenhancement">Asynchronous Enhancement</a> |
| |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="#">Supported Plugins<i class="iconfont icon-arrow-right pull-right"></i></a> |
| |
| |
| |
| <ul class="sidebar-submenu"> |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/plugins">Supported Libraries</a> |
| |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="#">FAQs<i class="iconfont icon-arrow-right pull-right"></i></a> |
| |
| |
| |
| <ul class="sidebar-submenu"> |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/faq/how-to-use-with-gunicorn">How To Use With Gunicorn</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/faq/how-to-use-with-uwsgi">How To Use With uWSGI</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/faq/how-to-disable-plugin">How To Disable Plugins</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/faq/performance">Performance Best Practices</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/setup/faq/how-to-build-from-sources">How To Build from Sources</a> |
| |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| </li> |
| |
| <li> |
| |
| |
| <a href="#">Contribution<i class="iconfont icon-arrow-right pull-right"></i></a> |
| |
| |
| |
| <ul class="sidebar-submenu"> |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/developer">Developer Guidance</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/codingstyle">Developer Coding Style</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/how-to-develop-plugin">Plugin Development Guidance</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/how-to-test-plugin">Plugin Testing Guidance</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/how-to-test-locally">Run Plugin Tests Locally</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/how-to-release">Release Guidance</a> |
| |
| </li> |
| |
| |
| |
| <li> |
| |
| <a href="/docs/skywalking-python/v1.2.0/en/contribution/how-to-release-docker">Image Release Guidance</a> |
| |
| </li> |
| |
| |
| |
| </ul> |
| |
| |
| </li> |
| |
| <li> |
| |
| <a href="https://github.com/apache/skywalking-python/blob/master/CHANGELOG.md">Changelog</a> |
| |
| </li> |
| |
| </ul> |
| <script src="/js/sidebar-menu.js"></script> |
| <script> |
| (function (){ |
| $.sidebarMenu($('.sidebar-menu')) |
| var path = window.location.pathname; |
| var hash = window.location.hash; |
| var $a = $('.sidebar-menu a') |
| $a.each(function (e){ |
| if($(this).attr('href')+'/' === path || $(this).attr('href').replace('#','/#') === path+hash){ |
| $(this).parents('li').addClass('active').show() |
| } |
| }) |
| $a.on('click',function (){ |
| var url = $(this).attr('href') |
| if(url!=='#'){ |
| window.location.href = url |
| } |
| }) |
| })() |
| </script> |
| |
| <div class="commit-id">Commit Id: 1f091ee</div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </div> |
| <main class="col-12 col-md-9 col-xl-8 pl-md-5 pr-md-4" role="main"> |
| <i class="iconfont icon-menu-doc doc-menu-button"></i> |
| |
| <div class="td-content"> |
| <h1 id="skywalking-python-agent">SkyWalking Python Agent</h1> |
| <p><strong>This is the official documentation of SkyWalking Python agent. Welcome to the SkyWalking community!</strong></p> |
| <p>The Python Agent for Apache SkyWalking provides the native tracing/metrics/logging/profiling abilities for Python projects.</p> |
| <p>This documentation covers a number of ways to set up the Python agent for various use cases.</p> |
| <p><a href="https://github.com/apache/skywalking-python"><img src="https://img.shields.io/github/stars/apache/skywalking-python.svg?style=for-the-badge&label=Stars&logo=github" alt="GitHub stars"></a> |
| <a href="https://twitter.com/AsfSkyWalking"><img src="https://img.shields.io/twitter/follow/asfskywalking.svg?style=for-the-badge&label=Follow&logo=twitter" alt="Twitter Follow"></a></p> |
| <p><img src="https://img.shields.io/pypi/v/apache-skywalking" alt="Release"> |
| <img src="https://img.shields.io/pypi/pyversions/apache-skywalking" alt="Version"> |
| <img src="https://github.com/apache/skywalking-python/actions/workflows/CI.yaml/badge.svg?event=push" alt="Build"></p> |
| <h2 id="capabilities">Capabilities</h2> |
| <p>The following table demonstrates the currently supported telemetry collection capabilities in SkyWalking Python agent:</p> |
| <table> |
| <thead> |
| <tr> |
| <th style="text-align:left">Reporter</th> |
| <th style="text-align:left">Supported?</th> |
| <th style="text-align:left">Details</th> |
| </tr> |
| </thead> |
| <tbody> |
| <tr> |
| <td style="text-align:left">Trace</td> |
| <td style="text-align:left">✅ (default: ON)</td> |
| <td style="text-align:left">Automatic instrumentation + Manual SDK</td> |
| </tr> |
| <tr> |
| <td style="text-align:left">Log</td> |
| <td style="text-align:left">✅ (default: ON)</td> |
| <td style="text-align:left">Direct reporter only. (Tracing context in log planned)</td> |
| </tr> |
| <tr> |
| <td style="text-align:left">Meter</td> |
| <td style="text-align:left">✅ (default: ON)</td> |
| <td style="text-align:left">Meter API + Automatic PVM metrics</td> |
| </tr> |
| <tr> |
| <td style="text-align:left">Event</td> |
| <td style="text-align:left">❌ (Planned)</td> |
| <td style="text-align:left">Report lifecycle events of your awesome Python application</td> |
| </tr> |
| <tr> |
| <td style="text-align:left">Profiling</td> |
| <td style="text-align:left">✅ (default: ON)</td> |
| <td style="text-align:left">Threading and Greenlet Profiler</td> |
| </tr> |
| </tbody> |
| </table> |
| <h2 id="live-demo">Live Demo</h2> |
| <ul> |
| <li>Find the <a href="https://skywalking.apache.org/#demo">live demo</a> with Python agent on our website.</li> |
| <li>Follow the <a href="https://skywalking.apache.org/docs/skywalking-showcase/next/readme/">showcase</a> to set up preview |
| deployment quickly.</li> |
| </ul> |
| |
| </div> |
| <div> |
| |
| |
| |
| <div id="edit-github"> |
| <svg |
| fill="currentColor" |
| height="20" |
| width="20" |
| viewBox="0 0 40 40" |
| aria-hidden="true" |
| style="margin-right: 0.1em;vertical-align: sub; color: #3176d9"> |
| <g> |
| <path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z" /> |
| </g> |
| </svg> |
| <a class="github-link" title="Edit this page" href="" target="_blank"> |
| <span id="edit-github-text">Edit this page</span> |
| </a> |
| </div> |
| |
| </div> |
| <script> |
| let reg = /\/docs\/[a-zA-Z\-]+\/([\w|\.]+)\//; |
| let res = reg.exec(location.href); |
| let version = res && res[1]; |
| let editGithub = document.getElementById("edit-github"); |
| if (editGithub) { |
| editGithub.style.display = version === "next" ? "block" : "none"; |
| } |
| |
| if (version === "next") { |
| reg = /\/docs\/(.+?)\//; |
| let repoRes = reg.exec(location.href); |
| let repo = repoRes && repoRes[1]; |
| if (repo === "main") { |
| repo = "skywalking" |
| } |
| reg = /\/next\/(.+)/; |
| let docs = reg.exec(location.href); |
| let docsUrl = docs && docs[1]; |
| if (docsUrl) { |
| docsUrl = docsUrl.replace(/readme/i, 'README'); |
| } |
| let prefixUrl = "https://github.com/apache/" + repo + "/blob/master/docs/"; |
| let editGithubLink = document.querySelector("#edit-github a"); |
| if (editGithubLink) { |
| editGithubLink.href = prefixUrl + docsUrl.replace(/\/$/, ".md"); |
| } |
| } |
| </script> |
| |
| </main> |
| <div id="toc" class="d-none d-xl-block col-xl-2 td-toc d-print-none"> |
| |
| |
| |
| |
| |
| <div class="td-page-meta ml-2 pb-1 pt-2 mb-0"> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| <nav id="TableOfContents"> |
| <ul> |
| <li><a href="#skywalking-python-agent">SkyWalking Python Agent</a> |
| <ul> |
| <li><a href="#capabilities">Capabilities</a></li> |
| <li><a href="#live-demo">Live Demo</a></li> |
| </ul> |
| </li> |
| </ul> |
| </nav> |
| |
| |
| |
| |
| <script> |
| $(function () { |
| var $toc = $("#TableOfContents"); |
| if (!$toc || !$toc.length) { |
| return; |
| } |
| var top = $toc.offset().top; |
| $(window).on("scroll", debounce(setTop, 100)) |
| $(window).on("scroll", debounce(addActive, 30)) |
| |
| function addActive() { |
| var scrollValue = $(window).scrollTop(); |
| var topEle = null; |
| $.each($('main h1, main h2, main h3'), function (index, item) { |
| if ($(item).offset().top - 70 > scrollValue) { |
| return |
| } |
| if (!topEle) { |
| topEle = item |
| } else if ($(item).offset().top >= $(topEle).offset().top) { |
| topEle = item |
| } |
| if (topEle) { |
| var id = $(item).attr('id'); |
| $toc.find('a').removeClass("active").end().find('a[href="' + '#' + id + '"]').addClass("active") |
| } |
| }) |
| } |
| |
| function setTop() { |
| var scrollValue = $(window).scrollTop(); |
| if (scrollValue >= top - 70) { |
| $toc.addClass('fixed') |
| } else { |
| $toc.removeClass('fixed') |
| } |
| } |
| |
| function debounce(fn, wait) { |
| var timeout = null; |
| return function () { |
| clearTimeout(timeout); |
| timeout = setTimeout(() => { |
| fn.apply(this, arguments); |
| }, wait); |
| }; |
| } |
| }) |
| |
| </script> |
| |
| </div> |
| |
| </div> |
| </div> |
| |
| |
| <footer class="py-5 sky-row"> |
| <div class="container-fluid text-center"> |
| <div class=""> |
| |
| |
| |
| <ul class="list-inline mb-0"> |
| |
| <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Twitter" aria-label="Twitter"> |
| <a class="text-color" target="_blank" href="https://twitter.com/asfskywalking"> |
| <i class="iconfont icon-twitter"></i> |
| </a> |
| </li> |
| |
| <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Slack" aria-label="Slack"> |
| <a class="text-color" target="_blank" href="http://s.apache.org/slack-invite"> |
| <i class="iconfont icon-slack"></i> |
| </a> |
| </li> |
| |
| <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="Mailing list" aria-label="Mailing list"> |
| <a class="text-color" target="_blank" href="https://lists.apache.org/list.html?dev@skywalking.apache.org"> |
| <i class="iconfont icon-email"></i> |
| </a> |
| </li> |
| |
| <li class="list-inline-item mx-2 h3" data-toggle="tooltip" data-placement="top" title="GitHub" aria-label="GitHub"> |
| <a class="text-color" target="_blank" href="https://github.com/apache/skywalking"> |
| <i class="iconfont icon-github"></i> |
| </a> |
| </li> |
| |
| </ul> |
| |
| |
| |
| </div> |
| <div class=""> |
| |
| <small class="text-color">© 2017 - 2025 The Apache Software Foundation All Rights Reserved</small> |
| |
| |
| </div> |
| <div class=""> |
| <small class="text-color mt-4">Apache SkyWalking, SkyWalking, Apache, the Apache feather logo, and the Apache SkyWalking project logo are either registered trademarks or trademarks of the Apache Software Foundation.</small> |
| </div> |
| </div> |
| </footer> |
| |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <div id="popup"> |
| <div class="mask"> |
| <img src=""/> |
| </div> |
| </div> |
| |
| <div class="sidebar-mask"></div> |
| <div class="sidebar"> |
| <nav class="nav-links"> |
| <div class="nav-item"><a href="/docs/" class="nav-link">Projects and Documentation</a></div> |
| <div class="nav-item"><a href="/events/" class="nav-link">Events</a></div> |
| <div class="nav-item"><a href="/blog/" class="nav-link router-link-exact-active router-link-active">Blog</a> |
| </div> |
| <div class="nav-item"><a href="/downloads/" class="nav-link">Downloads</a></div> |
| <div class="nav-item"><a href="/team/" class="nav-link">Team</a></div> |
| <div class="nav-item"><a href="/users/" class="nav-link">Users</a></div> |
| <div class="nav-item"> |
| <div class="dropdown-wrapper open"> |
| <a class="dropdown-title"><span>中文资料</span> |
| <span class="arrow down"></span> |
| </a> |
| <ul class="nav-dropdown"> |
| <li class="dropdown-item"> |
| <a href="/zh/" class="nav-link external">博客</a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="https://space.bilibili.com/390683219" target="_blank" |
| rel="noopener noreferrer" class="nav-link external">B站</a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="https://juejin.cn/user/13673577331607" target="_blank" |
| rel="noopener noreferrer" class="nav-link external">掘金</a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| <div class="nav-item"> |
| <div class="dropdown-wrapper open"> |
| <a class="dropdown-title"> |
| <span>Links</span> |
| <span class="arrow down"></span> |
| </a> |
| <ul class="nav-dropdown"> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/" target="_blank" |
| rel="noopener noreferrer" class="nav-link external"> |
| Apache Software Foundation |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="https://github.com/apache/skywalking/issues" |
| target="_blank" rel="noopener noreferrer" |
| class="nav-link external"> |
| GitHub Issue Tracker |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="https://lists.apache.org/list.html?dev@skywalking.apache.org" target="_blank" |
| rel="noopener noreferrer" class="nav-link external"> |
| Dev Mailing List |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/licenses/" target="_blank" |
| rel="noopener noreferrer" class="nav-link external"> |
| License |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/events/current-event" |
| target="_blank" rel="noopener noreferrer" |
| class="nav-link external"> |
| Apache Events |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/security/" target="_blank" |
| rel="noopener noreferrer" class="nav-link external"> |
| Security |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/foundation/sponsorship.html" |
| target="_blank" rel="noopener noreferrer" |
| class="nav-link external"> |
| Sponsorship and Donate |
| </a> |
| </li> |
| <li class="dropdown-item"> |
| <a href="http://www.apache.org/foundation/thanks.html" |
| target="_blank" rel="noopener noreferrer" |
| class="nav-link external"> |
| Thanks |
| </a> |
| </li> |
| </ul> |
| </div> |
| </div> |
| </nav> |
| </div> |
| |
| <script src="/js/bootstrap.bundle.min.js"></script> |
| |
| <script src="/js/docsearch-3.9.0.js"></script> |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| <script src="/js/main.min.d00d7a99f9e61382b1db35fac38e0e7bdd97f8d3c663a4c4b8d02c3f1d78d894.js" integrity="sha256-0A16mfnmE4Kx2zX6w44Oe92X+NPGY6TEuNAsPx142JQ=" crossorigin="anonymous"></script> |
| |
| |
| <script src="/js/highlight.min.js"></script> |
| <script src="/js/mermaid.min.js"></script> |
| <script> |
| window.onload = () => mermaid.init(undefined, ".language-mermaid"); |
| </script> |
| <script> |
| document.addEventListener('DOMContentLoaded', () => { |
| document.querySelectorAll('pre code.language-json5').forEach((block) => { |
| if (block.classList.contains('language-json5')) { |
| try { |
| hljs.registerLanguage('json5', function(hljs) { |
| return hljs.getLanguage('json'); |
| }); |
| hljs.highlightElement(block); |
| } catch (error) { |
| console.error("Error parsing JSON5:", error); |
| } |
| } |
| }); |
| }); |
| </script> |
| |
| |
| <script defer |
| src="/js/kapa-widget.bundle.js" |
| data-website-id="8a08392b-9c4d-4816-8bc4-f93e0ecdd2a7" |
| data-project-name="SkyWalking" |
| data-project-color="#2B74B8" |
| data-button-text="Ask AI" |
| data-search-mode-enabled="true" |
| data-modal-open-on-command-k="true" |
| data-modal-disclaimer="The AI supports multiple languages, but it may not be accessible in China, a proxy is required." |
| data-project-logo="/images/widget-logo.jpg" |
| data-modal-example-questions="What is Apache SkyWalking?,How to deploy SkyWalking?,How to inject agents non-intrusively?,How to setup trace sampling?" |
| data-button-position-top="" |
| data-button-position-right="20px" |
| data-button-position-bottom="200px" |
| data-button-position-left="" |
| data-consent-required="true" |
| data-user-analytics-cookie-enabled="true" |
| data-consent-screen-title="Help us improve our AI assistant" |
| data-consent-screen-disclaimer="By clicking 'Allow tracking', you consent to anonymous user tracking which helps us improve our service. We don't collect any personally identifiable information." |
| data-consent-screen-accept-button-text="Allow tracking" |
| data-consent-screen-reject-button-text="No, thanks" |
| ></script> |
| |
| |
| |
| |
| </body> |
| <script> |
| $(function (){ |
| $('.doc-menu-button').on('click',function (){ |
| $('.td-sidebar').toggleClass('active') |
| }) |
| $('.version-select').on('change', function (){ |
| var selectVersion = $(this).val().toLowerCase(); |
| var prefix = ''; |
| var url = location.href.replace(/(\/docs\/[a-zA-Z\-]+\/)([\w|\.]+)(\/.*)/, function (match, p1, p2, p3){ |
| prefix = p1 + selectVersion; |
| return p1 + selectVersion + p3 |
| }) |
| go2SelectVersion(url, prefix) |
| |
| }) |
| function go2SelectVersion(url, prefix){ |
| $.ajax({ |
| url: url, |
| type: "get", |
| success:function(){ |
| location.href = url; |
| }, |
| statusCode: { |
| 404:function(){ |
| location.href = prefix + '/readme/'; |
| } |
| } |
| }); |
| } |
| }) |
| </script> |
| </html> |