blob: 39c37b3d171dc99bc00285b17b44bc0a95fb5fa5 [file] [log] [blame]
<!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" />
<script async src="https://www.googletagmanager.com/gtag/js?id=G-GR8N6PGRJ3"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);};
gtag('js', new Date());gtag('config', 'G-GR8N6PGRJ3');
</script>
<META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">
<link rel="stylesheet" href="//at.alicdn.com/t/c/font_3007530_pvozs1rz2wn.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>Meter receiver | Apache SkyWalking</title><meta property="og:title" content="Meter receiver" />
<meta property="og:description" content="Meter receiver The meter receiver accepts the metrics of meter protocol into the meter system.
Module definition Module definition is defined in application.yml, typically located at $SKYWALKING_BASE_DIR/config/application.yml by default.
receiver-meter:selector:${SW_RECEIVER_METER:default}default:In Kafka Fetcher, follow these configurations to enable it.
kafka-fetcher:selector:${SW_KAFKA_FETCHER:default}default:bootstrapServers:${SW_KAFKA_FETCHER_SERVERS:localhost:9092}Report Meter Telemetry Data Manual Meter API Custom metrics may be collected by the Manual Meter API. Custom metrics collected cannot be used directly; they should be configured in the meter-analyzer-config configuration files described in the next part." />
<meta property="og:type" content="article" />
<meta property="og:url" content="/docs/main/next/en/setup/backend/backend-meter/" />
<meta itemprop="name" content="Meter receiver">
<meta itemprop="description" content="Meter receiver The meter receiver accepts the metrics of meter protocol into the meter system.
Module definition Module definition is defined in application.yml, typically located at $SKYWALKING_BASE_DIR/config/application.yml by default.
receiver-meter:selector:${SW_RECEIVER_METER:default}default:In Kafka Fetcher, follow these configurations to enable it.
kafka-fetcher:selector:${SW_KAFKA_FETCHER:default}default:bootstrapServers:${SW_KAFKA_FETCHER_SERVERS:localhost:9092}Report Meter Telemetry Data Manual Meter API Custom metrics may be collected by the Manual Meter API. Custom metrics collected cannot be used directly; they should be configured in the meter-analyzer-config configuration files described in the next part.">
<meta itemprop="wordCount" content="488">
<meta itemprop="keywords" content="" />
<meta name="twitter:card" content="summary"/>
<meta name="twitter:title" content="Meter receiver"/>
<meta name="twitter:description" content="Meter receiver The meter receiver accepts the metrics of meter protocol into the meter system.
Module definition Module definition is defined in application.yml, typically located at $SKYWALKING_BASE_DIR/config/application.yml by default.
receiver-meter:selector:${SW_RECEIVER_METER:default}default:In Kafka Fetcher, follow these configurations to enable it.
kafka-fetcher:selector:${SW_KAFKA_FETCHER:default}default:bootstrapServers:${SW_KAFKA_FETCHER_SERVERS:localhost:9092}Report Meter Telemetry Data Manual Meter API Custom metrics may be collected by the Manual Meter API. Custom metrics collected cannot be used directly; they should be configured in the meter-analyzer-config configuration files described in the next part."/>
<link rel="preload" href="/scss/main.min.592235942cb3c9f3dd697382a4e7a1fad8e1c182dad2841bdce6b43b4a346ae8.css" as="style">
<link href="/scss/main.min.592235942cb3c9f3dd697382a4e7a1fad8e1c182dad2841bdce6b43b4a346ae8.css" rel="stylesheet" integrity="">
<link rel="stylesheet" href="/css/docSearch.css" />
<script src="/js/jquery-3.6.0.min.js"></script>
<title>Meter receiver | 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/skywalking.svg">
SkyWalking
</h5>
<p>SkyWalking primary repository and docs.</p>
</div>
<div class="version-wrapper">Version:
<select class="version-select">
<option selected value="next">
next
</option>
<option ZgotmplZ value="latest">
latest
</option>
<option ZgotmplZ value="v9.7.0">
v9.7.0
</option>
<option ZgotmplZ value="v9.6.0">
v9.6.0
</option>
<option ZgotmplZ value="v9.5.0">
v9.5.0
</option>
<option ZgotmplZ value="v9.4.0">
v9.4.0
</option>
<option ZgotmplZ value="v9.3.0">
v9.3.0
</option>
<option ZgotmplZ value="v9.2.0">
v9.2.0
</option>
<option ZgotmplZ value="v9.1.0">
v9.1.0
</option>
<option ZgotmplZ value="v9.0.0">
v9.0.0
</option>
</select>
</div>
<ul class="sidebar-menu">
<li>
<a href="/docs/main/next/readme">Welcome</a>
</li>
<li>
<a href="#">Concepts and Designs<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/concepts-and-designs/overview">Overview and Core concepts</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/project-goals">Project Goals</a>
</li>
<li>
<a href="#">Agents<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/concepts-and-designs/probe-introduction">Introduction</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/service-agent">Service Auto Instrument Agent</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/manual-sdk">Manual Instrument SDK</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/service-hierarchy">Service Hierarchy</a>
</li>
</ul>
</li>
<li>
<a href="#">Setup<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">Quick Start<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-setup">Introduction</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-docker">Run with Docker</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s">Run with Kubernetes</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/configuration-vocabulary">Configuration Vocabulary</a>
</li>
<li>
<a href="#">Advanced Setup<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/service-auto-grouping">Service Grouping</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-setting-override">Overriding Settings</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-ip-port">IP And Port Setting</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-init-mode">Backend Init Mode Startup</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-cluster">Cluster Management</a>
</li>
<li>
<a href="#">Choose Storage<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-storage">Introduction</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/storages/h2">H2</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/storages/elasticsearch">Elasticsearch &amp; OpenSearch</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/storages/mysql">MySQL</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/storages/postgresql">PostgreSQL</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/storages/banyandb">BanyanDB(Alpha)</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-expose">Setup External Communication Channels</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/kafka-fetcher">Kafka Fetcher</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/advanced-deployment">Advanced Deployment Options</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/ttl">Data Lifecycle. Time To Live (TTL)</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/endpoint-grouping-rules">Group Parameterized Endpoints</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/dynamical-logging">Dynamical Logging</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/grpc-security">Security(SSL/TLS/mTLS)</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-load-balancer">Setup Load Balancer</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-telemetry">OAP Self Observability Telemetry</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-health-check">OAP Health Check</a>
</li>
</ul>
</li>
<li>
<a href="#">Tracing<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/trace-sampling">Trace Sampling</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/slow-db-statement">Detect Slow Database Statement</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/slow-cache-command">Detect Slow Cache Command</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/mq">Message Queue Performance</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/uninstrumented-gateways">Uninstrumented Gateways</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/zipkin-trace">Zipkin Trace</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/otlp-trace">OpenTelemetry Trace</a>
</li>
</ul>
</li>
<li>
<a href="#">Metrics<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/guides/backend-oal-scripts">OAL Scripts</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/opentelemetry-receiver">OpenTelemetry Metrics</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/aws-firehose-receiver">AWS CloudWatch Metrics</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-zabbix">Zabbix Metrics</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-meter">Meter Analysis</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/telegraf-receiver">Telegraf Metrics</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/apdex-threshold">Apdex Threshold</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/micrometer-observations">Spring MicroMeter Observations Analysis</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-alarm">Alerting</a>
</li>
</ul>
</li>
<li>
<a href="#">Logging<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">Persistent Logging<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/filelog-native">Native Logging from Files</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/log-agent-native">Native Logging from Agents</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/log-otlp">OpenTelemetry Logging</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/log-analyzer">Log Analysis</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/on-demand-pod-log">On Demand Pod Logs</a>
</li>
</ul>
</li>
<li>
<a href="#">Profiling<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-trace-profiling">Tracing Profiling</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-ebpf-profiling">eBPF Profiling</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-continuous-profiling">Continuous Profiling</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/event/">Event</a>
</li>
<li>
<a href="#">Extension<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/exporter">Exporter</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/dynamic-config">Dynamic Configuration</a>
</li>
<li>
<a href="#">AI Pipeline<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/ai-pipeline/introduction">Introduction</a>
</li>
<li>
<a href="/docs/main/next/en/setup/ai-pipeline/http-restful-uri-pattern">HTTP Restful URI recognition</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">UI Setup<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">Native UI<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/ui-setup">Setup</a>
</li>
<li>
<a href="/docs/main/next/en/ui/readme">Customization</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/ui-grafana">Grafana UI</a>
</li>
</ul>
</li>
<li>
<a href="#">Official Dashboards<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">General Service<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/service-agent/server-agents">Server Agents</a>
</li>
<li>
<a href="/docs/main/next/en/setup/service-agent/agent-compatibility">Compatibility</a>
</li>
<li>
<a href="/docs/main/next/en/setup/service-agent/virtual-database">Virtual Database</a>
</li>
<li>
<a href="/docs/main/next/en/setup/service-agent/virtual-cache">Virtual Cache</a>
</li>
<li>
<a href="/docs/main/next/en/setup/service-agent/virtual-mq">Virtual MQ</a>
</li>
</ul>
</li>
<li>
<a href="#">Service Mesh<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/envoy/als_setting">Observe Service Mesh through Access Log Service (ALS)</a>
</li>
<li>
<a href="/docs/main/next/en/setup/zipkin/tracing">Observe Service Mesh through Zipkin traces</a>
</li>
<li>
<a href="/docs/main/next/en/setup/istio/readme">Observe Control Plane (Istio)</a>
</li>
<li>
<a href="/docs/main/next/en/setup/envoy/metrics_service_setting">Observe Data Plane (Envoy)</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s-network-monitoring">Profile Pod&#39;s Network</a>
</li>
</ul>
</li>
<li>
<a href="#">Kubernetes<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s-monitoring">Observe Kubernetes</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s-monitoring-metrics-cadvisor">kube-state-metrics &#43; cAdvisor</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s-monitoring-rover">Rover</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-k8s-network-monitoring">Profile Pod&#39;s Network</a>
</li>
</ul>
</li>
<li>
<a href="#">Infrastructure Monitoring<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-vm-monitoring">Linux Monitoring</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-win-monitoring">Windows Monitoring</a>
</li>
</ul>
</li>
<li>
<a href="#">AWS Cloud Monitoring<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-eks-monitoring">EKS Monitoring</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-s3-monitoring">S3 Monitoring</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-dynamodb-monitoring">AWS DynamoDB</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-api-gateway-monitoring">AWS API Gateway</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/setup/service-agent/browser-agent">Browser Monitoring</a>
</li>
<li>
<a href="#">Gateway Monitoring<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-nginx-monitoring">Nginx Monitoring</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-apisix-monitoring">APISIX Monitoring</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-api-gateway-monitoring">AWS API Gateway</a>
</li>
</ul>
</li>
<li>
<a href="#">Database Monitoring<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-mysql-monitoring">MySQL/MariaDB Server</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-postgresql-monitoring">PostgreSQL Server</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-aws-dynamodb-monitoring">AWS DynamoDB</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-redis-monitoring">Redis</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-elasticsearch-monitoring">Elasticsearch</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-mongodb-monitoring">MongoDB</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-bookkeeper-monitoring">BookKeeper</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-clickhouse-monitoring">ClickHouse</a>
</li>
</ul>
</li>
<li>
<a href="#">MQ Monitoring<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/backend-rabbitmq-monitoring">RabbitMQ</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-kafka-monitoring">Kafka</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-pulsar-monitoring">Pulsar</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-rocketmq-monitoring">RocketMQ</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-activemq-monitoring">ActiveMQ</a>
</li>
</ul>
</li>
<li>
<a href="#">Self Observability<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/setup/backend/dashboards-so11y">OAP self telemetry</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/dashboards-so11y-satellite">Satellite self telemetry</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="https://github.com/apache/skywalking-cli">CLI Setup</a>
</li>
<li>
<a href="/docs/main/next/en/setup/backend/backend-data-generator">Mock Data Generator Setup</a>
</li>
</ul>
</li>
<li>
<a href="#">APIs<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">Telemetry APIs/Protocols<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">Tracing<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/api/trace-data-protocol-v3">Spans APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/x-process-propagation-headers-v3">Tracing Context Propagation</a>
</li>
<li>
<a href="/docs/main/next/en/api/x-process-correlation-headers-v1">Tracing Correlation Correlation</a>
</li>
</ul>
</li>
<li>
<a href="#">Metrics APIs<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/api/meter">Meter APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/browser-protocol">Browser performance APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/jvm-protocol">JVM metrics APIs</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/api/log-data-protocol">Logging</a>
</li>
<li>
<a href="/docs/main/next/en/api/instance-properties">Service Instance Properties APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/event">Event</a>
</li>
<li>
<a href="/docs/main/next/en/api/profiling-protocol">Profiling</a>
</li>
</ul>
</li>
<li>
<a href="#">Query APIs<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="#">GraphQL APIs<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/api/query-protocol">GraphQL APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/metrics-query-expression">MQE Syntax</a>
</li>
<li>
<a href="/docs/main/next/en/api/query-protocol-deprecated">Deprecated APIs</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/api/promql-service">PromQL APIs</a>
</li>
<li>
<a href="/docs/main/next/en/api/logql-service">LogQL APIs</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="#">Customization<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/concepts-and-designs/backend-overview">Overview</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/oal">Analysis Traces and Mesh Traffic</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/mal">Analysis Metrics and Meters</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/lal">Analysis Logs</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/profiling">Profiling</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/service-hierarchy-configuration">Service Hierarchy Configuration</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/security/readme">Security Notice</a>
</li>
<li>
<a href="#">Debugging<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/debugging/config_dump">Scratch The OAP Config Dump</a>
</li>
</ul>
</li>
<li>
<a href="#">Academy<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/academy/scaling-with-apache-skywalking">Scaling SkyWalking server automatically in kubernetes</a>
</li>
<li>
<a href="/docs/main/next/en/papers/stam">STAM Paper, Streaming Topology Analysis Method</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/sdk-profiling">SDK Profiling to Fix the Blind Spot</a>
</li>
<li>
<a href="/docs/main/next/en/concepts-and-designs/ebpf-cpu-profiling">eBPF CPU Profiling to pinpoint Service Mesh Critical Performance Impact</a>
</li>
<li>
<a href="/docs/main/next/en/academy/diagnose-service-mesh-network-performance-with-ebpf">Diagnose Service Mesh Network Performance with eBPF</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/faq/readme">FAQs</a>
</li>
<li>
<a href="#">Contributing Guides<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/guides/community">Contact the community</a>
</li>
<li>
<a href="/docs/main/next/en/guides/asf/committer">Become A Committer</a>
</li>
<li>
<a href="/docs/main/next/en/guides/how-to-release/">Release Guide</a>
</li>
<li>
<a href="/docs/main/next/en/guides/how-to-build">Compiling Guide</a>
</li>
<li>
<a href="#">Contribute<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/guides/it-guide">Integration Tests</a>
</li>
<li>
<a href="/docs/main/next/en/guides/benchmark">Benchmark Tests</a>
</li>
<li>
<a href="/docs/main/next/en/guides/e2e">End to End Tests</a>
</li>
<li>
<a href="#">Project Extensions<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/guides/component-library-settings">Component Library Settings</a>
</li>
<li>
<a href="/docs/main/next/en/guides/source-extension">Extend An OAL Source</a>
</li>
</ul>
</li>
<li>
<a href="#">Dependencies<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/guides/dependencies">Project Dependencies Check</a>
</li>
<li>
<a href="/docs/main/next/en/guides/how-to-bump-up-zipkin">Zipkin dependency</a>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/guides/i18n">I18n</a>
</li>
</ul>
</li>
</ul>
</li>
<li>
<a href="/docs/main/next/en/swip/readme">SWIP</a>
</li>
<li>
<a href="#">Changelog<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/changes/changes">Current Version</a>
</li>
<li>
<a href="#">9.x Releases<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/changes/changes-9.6.0">9.6.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.5.0">9.5.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.4.0">9.4.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.3.0">9.3.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.2.0">9.2.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.1.0">9.1.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-9.0.0">9.0.0</a>
</li>
</ul>
</li>
<li>
<a href="#">Archived Releases<i class="iconfont icon-arrow-right pull-right"></i></a>
<ul class="sidebar-submenu">
<li>
<a href="/docs/main/next/en/changes/changes-8.9.1">8.9.1</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.9.0">8.9.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.8.1">8.8.1</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.8.0">8.8.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.7.0">8.7.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.6.0">8.6.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.5.0">8.5.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.4.0">8.4.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.3.0">8.3.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.2.0">8.2.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.1.0">8.1.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.0.1">8.0.1</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-8.0.0">8.0.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-7.0.0">7.0.0</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-6.x">6.x</a>
</li>
<li>
<a href="/docs/main/next/en/changes/changes-5.x">5.x</a>
</li>
</ul>
</li>
</ul>
</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: a636013</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="meter-receiver">Meter receiver</h1>
<p>The meter receiver accepts the metrics
of <a href="https://github.com/apache/skywalking-data-collect-protocol/blob/master/language-agent/Meter.proto">meter protocol</a>
into the <a href="./../../../concepts-and-designs/meter">meter system</a>.</p>
<h2 id="module-definition">Module definition</h2>
<p>Module definition is defined in <code>application.yml</code>, typically located at <code>$SKYWALKING_BASE_DIR/config/application.yml</code> by
default.</p>
<div class="highlight"><pre style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#000080">receiver-meter</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">selector</span>:<span style="color:#bbb"> </span>${SW_RECEIVER_METER:default}<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">default</span>:<span style="color:#bbb">
</span><span style="color:#bbb">
</span></code></pre></div><p>In Kafka Fetcher, follow these configurations to enable it.</p>
<div class="highlight"><pre style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#000080">kafka-fetcher</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">selector</span>:<span style="color:#bbb"> </span>${SW_KAFKA_FETCHER:default}<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">default</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">bootstrapServers</span>:<span style="color:#bbb"> </span>${SW_KAFKA_FETCHER_SERVERS:localhost:9092}<span style="color:#bbb">
</span></code></pre></div><h2 id="report-meter-telemetry-data">Report Meter Telemetry Data</h2>
<h3 id="manual-meter-api">Manual Meter API</h3>
<p>Custom metrics may be collected by the Manual Meter API.
Custom metrics collected cannot be used directly; they should be configured in the <code>meter-analyzer-config</code> configuration
files described in the next part.</p>
<p>The receiver adds labels with <code>key = service</code> and <code>key = instance</code> to the collected data samples,
and values from service and service instance name defined in SkyWalking Agent,
for identification of the metric data.</p>
<p>There are following known API libs to report meter telemetry data:</p>
<ul>
<li><a href="https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/application-toolkit-meter/">SkyWalking Java Meter toolkit APIs</a></li>
<li><a href="https://skywalking.apache.org/docs/skywalking-java/latest/en/setup/service-agent/java-agent/application-toolkit-micrometer-1.10/">Spring MicroMeter Observations APIs</a>
works with <a href="../micrometer-observations">OAP MicroMeter Observations setup</a></li>
</ul>
<h3 id="agents-bundled-meters">Agents Bundled Meters</h3>
<p>All following agents and components have built-in meters reporting to the OAP through Meter APIs.</p>
<ol>
<li>Go agent for Go VM metrics</li>
<li>Python agent for PVM metrics</li>
<li>Java agent with Spring micrometer toolkit</li>
<li>Java agent for datasource metrics</li>
<li>Java agent for thread-pool metrics</li>
<li>Rover(eBPF) agent for metrics used continues profiling</li>
<li>Satellite proxy self-observability metrics</li>
</ol>
<h2 id="configuration-file">Configuration file</h2>
<p>The meter receiver is configured via a configuration file. The configuration file defines everything related to
receiving
from agents, as well as which rule files to load.</p>
<p>The OAP can load the configuration at bootstrap. If the new configuration is not well-formed, the OAP may fail to start
up. The files
are located at <code>$CLASSPATH/meter-analyzer-config</code>.</p>
<p>New meter-analyzer-config files is <strong>NOT</strong> enabled by default, you should make meter configuration take effect through
section <code>agent-analyzer</code> in <code>application.yml</code> of skywalking backend.</p>
<div class="highlight"><pre style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#bbb"> </span><span style="color:#000080">agent-analyzer</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">selector</span>:<span style="color:#bbb"> </span>${SW_AGENT_ANALYZER:default}<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">default</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#998;font-style:italic"># ... take care of other analyzers</span><span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">meterAnalyzerActiveFiles</span>:<span style="color:#bbb"> </span>${SW_METER_ANALYZER_ACTIVE_FILES:your-custom-meter-conf-without-ext-name}<span style="color:#bbb"> </span><span style="color:#998;font-style:italic"># The multiple files should be separated by &#34;,&#34;</span><span style="color:#bbb">
</span></code></pre></div><p>Meter-analyzer-config file is written in YAML format, defined by the scheme described below. Brackets indicate that a
parameter is optional.</p>
<h3 id="meters-configuration">Meters configuration</h3>
<div class="highlight"><pre style="background-color:#fff;-moz-tab-size:4;-o-tab-size:4;tab-size:4"><code class="language-yaml" data-lang="yaml"><span style="color:#998;font-style:italic"># initExp is the expression that initializes the current configuration file</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">initExp</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#998;font-style:italic"># filter the metrics, only those metrics that satisfy this condition will be passed into the `metricsRules` below.</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">filter: &lt;closure&gt; # example</span>:<span style="color:#bbb"> </span><span style="color:#d14">&#39;{ tags -&gt; tags.job_name == &#34;vm-monitoring&#34; }&#39;</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#998;font-style:italic"># expPrefix is executed before the metrics executes other functions.</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">expPrefix</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#998;font-style:italic"># expSuffix is appended to all expression in this file.</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">expSuffix</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#998;font-style:italic"># insert metricPrefix into metric name: &lt;metricPrefix&gt;_&lt;raw_metric_name&gt;</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">metricPrefix</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#998;font-style:italic"># Metrics rule allow you to recompute queries.</span><span style="color:#bbb">
</span><span style="color:#bbb"></span><span style="color:#000080">metricsRules</span>:<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#998;font-style:italic"># The name of rule, which combinates with a prefix &#39;&lt;metricPrefix&gt;_&#39; as the index/table name in storage.</span><span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#998;font-style:italic"># The name with prefix can also be quoted in UI (Dashboard/Template/Item/Metrics)</span><span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">name</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#998;font-style:italic"># MAL expression. Raw name of custom metrics collected can be used here</span><span style="color:#bbb">
</span><span style="color:#bbb"> </span><span style="color:#000080">exp</span>:<span style="color:#bbb"> </span>&lt;string&gt;<span style="color:#bbb">
</span></code></pre></div><p>For more information on MAL, please refer to <a href="../../../concepts-and-designs/mal">mal.md</a></p>
<h4 id="rate-irate-and-increase"><code>rate</code>, <code>irate</code>, and <code>increase</code></h4>
<p>Although we support the <code>rate</code>, <code>irate</code>, <code>increase</code> functions in the backend, we still recommend users to consider using
client-side APIs to run these functions. The reasons are as follows:</p>
<ol>
<li>The OAP has to set up caches to calculate the values.</li>
<li>Once the agent reconnects to another OAP instance, the time windows of rate calculation break. This leads to
inaccurate results.</li>
</ol>
</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="#meter-receiver">Meter receiver</a>
<ul>
<li><a href="#module-definition">Module definition</a></li>
<li><a href="#report-meter-telemetry-data">Report Meter Telemetry Data</a>
<ul>
<li><a href="#manual-meter-api">Manual Meter API</a></li>
<li><a href="#agents-bundled-meters">Agents Bundled Meters</a></li>
</ul>
</li>
<li><a href="#configuration-file">Configuration file</a>
<ul>
<li><a href="#meters-configuration">Meters configuration</a></li>
</ul>
</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">&copy; 2017 - 2024 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="https://cdn.jsdelivr.net/npm/@docsearch/js@3"></script>
<script src="/js/main.min.dc00f5ca911ee5aa105ea6de6b3b7e8d8169ba5a3bf156b1fcfe23dfe3e62b0a.js" integrity="sha256-3AD1ypEe5aoQXqbeazt&#43;jYFpulo78Vax/P4j3&#43;PmKwo=" crossorigin="anonymous"></script>
<script src="/js/mermaid.min.js"></script>
<script>
window.onload = () => mermaid.init(undefined, ".language-mermaid");
</script>
<script defer
src="https://widget.kapa.ai/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="https://miro.medium.com/v2/resize:fit:2400/0*kmS-5BQ8ShAhZ_F4.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=""
></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>