# Apache SkyWalking Showcase Application

<img src="https://skywalking.apache.org/assets/logo.svg" alt="Sky Walking logo" height="90px" align="right" />

[![Twitter Follow](https://img.shields.io/twitter/follow/asfskywalking.svg?style=for-the-badge&label=Follow&logo=twitter)](https://twitter.com/AsfSkyWalking)

# Documentations

Please read the documentation in [our official website](https://skywalking.apache.org/docs/skywalking-showcase/latest/readme/).

# Code of conduct

This project adheres to the Contributor Covenant [code of conduct](https://www.apache.org/foundation/policies/conduct).
By participating, you are expected to uphold this code. Please follow
the [REPORTING GUIDELINES](https://www.apache.org/foundation/policies/conduct#reporting-guidelines) to report
unacceptable behavior.

# Contact Us

* Mailing list
    * To subscribe: send any content to dev-subscribe@skywalking.apache.org, follow the reply to subscribe the mail
      list.
    * Send discussions / questions to dev@skywalking.apache.org
* Send `Request to join SkyWalking slack` mail to the mail list (dev@skywalking.apache.org), we will invite you in.
* Twitter, [ASFSkyWalking](https://twitter.com/ASFSkyWalking)
* QQ Group: 901167865(Recommended), 392443393
* [bilibili B站 视频](https://space.bilibili.com/390683219)

# License

[Apache 2.0 License.](LICENSE)
