When there is a fallback in webflux (like a hystrix fallback or a webflux fallback method that involves visiting a new URL). This interceptor would be invoked twice, one for origin request and another for fallback request. The ServerWebExchange for these two aren't exactly the same one, but the former one is a delegate inside of the latter one, thus, they share the same attributes. The problem of the old code is that get the span from attributes within the execution of Mono would get span for the latter request twice. so just move this part of code out could solve the problem. It seems impossible to make the mono chain work like expected. So add a check about whether the best matching pattern really matches the URL. This check code is how webflux generating the best match pattern, |
||
|---|---|---|
| .github | ||
| .muse | ||
| .mvn/wrapper | ||
| apm-application-toolkit | ||
| apm-checkstyle | ||
| apm-commons | ||
| apm-dist | ||
| apm-dist-es7 | ||
| apm-protocol | ||
| apm-sniffer | ||
| apm-webapp | ||
| changes | ||
| dist-material | ||
| docker | ||
| docs | ||
| oap-server | ||
| oap-server-bom | ||
| oap-server-bom-es7 | ||
| skywalking-ui@4615331e6d | ||
| test | ||
| tools | ||
| .asf.yaml | ||
| .dlc.json | ||
| .gitignore | ||
| .gitmodules | ||
| .licenserc.yaml | ||
| CHANGES.md | ||
| CONTRIBUTING.md | ||
| HEADER | ||
| LICENSE | ||
| Makefile | ||
| NOTICE | ||
| README.md | ||
| codeStyle.xml | ||
| lombok.config | ||
| mvnw | ||
| mvnw.cmd | ||
| pom.xml | ||
README.md
Apache SkyWalking
SkyWalking: an APM(application performance monitor) system, especially designed for microservices, cloud native and container-based architectures.
Abstract
SkyWalking is an open source APM system, including monitoring, tracing, diagnosing capabilities for distributed system in Cloud Native architecture. The core features are following.
- Service, service instance, endpoint metrics analysis
- Root cause analysis. Profile the code on the runtime
- Service topology map analysis
- Service, service instance and endpoint dependency analysis
- Slow services and endpoints detected
- Performance optimization
- Distributed tracing and context propagation
- Database access metrics. Detect slow database access statements(including SQL statements)
- Alarm
- Browser performance monitoring
- Infrastructure(VM, network, disk etc.) monitoring
- Collaboration across metrics, traces, and logs
SkyWalking supports to collect telemetry (metrics, traces, and logs) data from multiple sources and multiple formats, including
- Java, .NET Core, NodeJS, PHP, and Python auto-instrument agents.
- Go and C++ SDKs.
- LUA agent especially for Nginx, OpenResty and Apache APISIX.
- Browser agent.
- Service Mesh Observability. Control panel and data panel.
- Metrics system, including Prometheus, OpenTelemetry, Spring Sleuth(Micrometer), Zabbix.
- Logs.
- Zipkin v1/v2 trace.(No Analysis)
SkyWalking OAP is using the STAM(Streaming Topology Analysis Method) to analysis topology in the tracing based agent scenario for better performance. Read the paper of STAM for more details.
Documentation
- Official documentation
- The paper of STAM, Streaming Topology Analysis Method.
- Blog about Use Profiling to Fix the Blind Spot of Distributed Tracing
- Blog about observing Istio + Envoy service mesh with ALS solution.
- Blog about observing Istio + Envoy service mesh with ALS Metadata-Exchange mechanism (in VMs and / or Kubernetes).
NOTICE, SkyWalking 8.0+ uses v3 protocols. They are incompatible with previous releases.
Downloads
Please head to the releases page to download a release of Apache SkyWalking.
Compiling project
Follow this document.
Code of conduct
This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. Please follow the REPORTING GUIDELINES to report unacceptable behavior.
Live Demo
Find the demo and screenshots on our website.
Video on youtube.com
Contact Us
- Mail list: dev@skywalking.apache.org. Mail to
dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail list. - Join
skywalkingchannel at Apache Slack. If the link is not working, find the latest one at Apache INFRA WIKI. - Twitter, ASFSkyWalking
- QQ Group: 901167865(Recommended), 392443393
- bilibili B站 视频
Our Users
Hundreds of companies and organizations use SkyWalking for research, production, and commercial product. Visit our website to find the user page.
Landscapes
SkyWalking enriches the CNCF CLOUD NATIVE Landscape.
Our project enriches the OpenAPM Landscape!
