MCPcopy Index your code
hub / github.com/apache/skywalking-rover

github.com/apache/skywalking-rover @v0.7.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.7.0 ↗ · + Follow
2,221 symbols 5,426 edges 274 files 213 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Apache SkyWalking Rover

Sky Walking logo

SkyWalking Rover: Monitor and profiler powered by eBPF to monitor network traffic, and diagnose CPU and network performance.

  • CPU On/Off profiling for C, C++, Golang, and Rust.
  • Network profiling for TCP, TCP(TLS), HTTP(s) traffic with topology and metrics.
  • Tracing enhancement. Collect extra information from OS level as attached events for the existing tracing system, such as attach raw data of HTTP request and reponse.
  • Kubernetes network monitoring for generating network access logs.

GitHub stars Twitter Follow

Documentation

Download

Follow the releases page or docker image to download a release of Apache SkyWalking Rover.

Contact Us

  • Mail list: dev@skywalking.apache.org. Mail to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list.
  • Send Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • For Chinese speaker, send [CN] Request to join SkyWalking slack mail to the mail list(dev@skywalking.apache.org), we will invite you in.
  • Twitter, ASFSkyWalking
  • bilibili B站 视频

License

Apache 2.0 License.

Extension points exported contracts — how you extend this code

Module (Interface)
Module define [8 implementers]
pkg/module/module.go
ConnectionMetrics (Interface)
ConnectionMetrics The Metrics in each listener [4 implementers]
pkg/profiling/task/network/analyze/base/metrics.go
Collector (Interface)
(no doc) [13 implementers]
pkg/accesslog/collector/collector.go
SocketDataDetail (Interface)
(no doc) [5 implementers]
pkg/tools/buffer/buffer.go
ProcessFinder (Interface)
ProcessFinder is defined how to detect the process and communicate with backend [1 implementers]
pkg/process/finders/base/finder.go
Operator (Interface)
Operator when the other module operate with core module
pkg/core/api.go
ConfigInterface (Interface)
(no doc) [6 implementers]
pkg/module/config.go
ProfileTaskRunner (Interface)
ProfileTaskRunner is use to running different type of profiling task, such as on-cpu profiling task [3 implementers]
pkg/profiling/task/base/api.go

Core symbols most depended-on inside this repo

Entity
called by 72
pkg/process/api/process.go
Append
called by 47
pkg/profiling/task/network/analyze/layer7/protocols/http1/metrics.go
AddLink
called by 46
pkg/tools/btf/linker.go
DataID
called by 43
pkg/tools/buffer/buffer.go
AddTracePoint
called by 35
pkg/tools/btf/linker.go
GetLogger
called by 34
pkg/logger/logger.go
Get
called by 31
pkg/profiling/continuous/base/windows.go
Close
called by 30
pkg/profiling/continuous/base/checker.go

Shape

Method 1,000
Function 545
Class 324
Struct 266
Interface 48
TypeAlias 29
FuncType 7
Enum 2

Languages

Go74%
C15%
C++10%
Python1%
Rust1%
Java1%

Modules by API surface

bpf/profiling/network/netmonitor.c76 symbols
pkg/tools/buffer/buffer.go57 symbols
bpf/accesslog/syscalls/transfer.c54 symbols
pkg/accesslog/common/connection.go46 symbols
bpf/include/socket.h37 symbols
pkg/profiling/task/network/analyze/layer4/metrics.go30 symbols
bpf/accesslog/common/connection.h29 symbols
pkg/process/finders/storage.go26 symbols
pkg/profiling/task/network/analyze/base/context.go25 symbols
pkg/process/api/process.go25 symbols
pkg/tools/btf/linker.go24 symbols
pkg/profiling/task/network/analyze/layer4/listener.go24 symbols

For agents

$ claude mcp add skywalking-rover \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact