From dcb9325443163bb0fdbb293a7f8fa14eeeb6aaa4 Mon Sep 17 00:00:00 2001 From: blue-troy <12729455+blue-troy@users.noreply.github.com> Date: Tue, 21 Jun 2022 11:07:16 +0800 Subject: [PATCH 1/3] docs:fix language issues in document Signed-off-by: blue-troy <12729455+blue-troy@users.noreply.github.com> --- CONTRIBUTING.md | 14 ++++++------ README.md | 2 +- contribute/create_pull_request.md | 6 ++--- ...ow_the_core_kindling_team_triage_issues.md | 22 +++++++++---------- 4 files changed, 22 insertions(+), 22 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 42463477b..be82023f7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,9 +3,9 @@ Thank you for you interest in contributing to kindling! We welcome all people wh ​ ## **Become a contributor** -you can contribute to Kindling in serveral ways,like: +you can contribute to Kindling in several ways,like: l Contribute to the codebase -l Report and traige bugs +l Report and triage bugs l Write technical documentation and blog posts, for users and contributors l Help others by answering questions about Kindling For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/) @@ -22,22 +22,22 @@ If you don't have the knowledge or time to code, consider helping with issue tri Read more about the ways you can [Triage issues](contribute/triage_issues.md). ## **Answering questions** -It's important to us to help these users who has problem about kindlings, and we’d love you help. Go to [disscussions](https://github.com/Kindling-project/kindling/discussions), you can find unanswered questions and you can answer thoes questions. +It's important to us to help these users who has problem about kindling, and we’d love you help. Go to [disscussions](https://github.com/Kindling-project/kindling/discussions), you can find unanswered questions, and you can answer those questions. ## **You first contribution** -The first step to getting starting contribute to kindling is to find something to work on. You can start by fixing biginner-fridendly issues or improving kindling documents ,no contribution is too small! +The first step to getting starting contribute to kindling is to find something to work on. You can start by fixing beginner-friendly issues or improving kindling documents ,no contribution is too small! -+ How to find biginner-friendly issues?Kindling has good first issue label for issues that don’t need high-level knowledge to contribute to. You can browser issues labeled good first time. ++ How to find beginner-friendly issues?Kindling has good first issue label for issues that don’t need high-level knowledge to contribute to. You can browse issues labeled good first time. -+ How to find documents improving issues? Kindling has doc improvement label for issues that you can improve kinding docs. ++ How to find documents improving issues? Kindling has doc improvement label for issues that you can improve kindling docs. If you are ready to contribute code changes, review the [developer guide](http://www.kindling.space:33215/project-1/doc-10/) for how to set up local environment. When you want to submit your local changes , read about [create pull request](contribute/create_pull_request.md). ## Sign your commits -The sign-off is a simple line at the end of the explanation for a commit. All commits needs to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, if you can certify the rules (from [developercertificate.org](https://developercertificate.org/)),then you just need add a line to every git commit message, like: +The sign-off is a simple line at the end of the explanation for a commit. All commits need to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, if you can certify the rules (from [developercertificate.org](https://developercertificate.org/)),then you just need add a line to every git commit message, like: ``` Signed-off-by: lina diff --git a/README.md b/README.md index 2e5e82ed4..044332768 100644 --- a/README.md +++ b/README.md @@ -46,7 +46,7 @@ Libpcap way of analyzing the flows in the kubernetes environment is too expensiv Kindling provides two versions which has different feature but with the same agent. The lightweight is integrated into Prometheus, and it uses PromQL to query the data from Prometheus, so it should be adopted easily. But due to the cardinality constraint of Prometheus, we group the detailed data into buckets which throw away the detailed information. For the standard version, we provide much more detailed information because we use ElasticSearch as the back-end to store the original information. -The lightweight version will be open sourced first and the standard version is under ative devlopment and will open sourced in next few months. +The lightweight version will be open sourced first and the standard version is under active development and will open sourced in next few months. | Feature | Lightweight | Standard | | ------------------------------------------------ | ----------- | -------- | diff --git a/contribute/create_pull_request.md b/contribute/create_pull_request.md index eaaa4bbc7..3a8f6cb3e 100644 --- a/contribute/create_pull_request.md +++ b/contribute/create_pull_request.md @@ -3,7 +3,7 @@ We’re excited that you want to join us. This doc explains the process for crea ​ ## **Before you submit a pull request** -Fist-time contributors shuld read the [Contributor Guide](../CONTRIBUTING.md) to get started. +Fist-time contributors should read the [Contributor Guide](../CONTRIBUTING.md) to get started. Make sure your pull request adheres to relevant code conventions. ## Your first pull request @@ -11,7 +11,7 @@ If this is your first time contributing to an open-source project on GitHub, mak To increase the chance of having your pull request accepted, make sure your pull request follows these guidelines: - Title and description matches the implementation. -- Commits within the pull request follow the Commit Message Guidelins +- Commits within the pull request follow the Commit Message Guidelines - The pull request closes one related issue. - The pull request contains necessary tests that verify the intended behavior. - If your pull request has conflicts, rebase your branch onto the main branch. @@ -46,7 +46,7 @@ Git commit message is the best way to communicate context about a change to fell **Here is a git commit message example :** agent: add tcp packet drop metric -Enhance the ablity of identifying tcp layer problem +Enhance the ability of identifying tcp layer problem ​ diff --git a/contribute/how_the_core_kindling_team_triage_issues.md b/contribute/how_the_core_kindling_team_triage_issues.md index 4cfdebf59..a63e58a07 100644 --- a/contribute/how_the_core_kindling_team_triage_issues.md +++ b/contribute/how_the_core_kindling_team_triage_issues.md @@ -1,11 +1,11 @@ -# How the core kinndling team triage issues +# How the core kindling team triage issues The main goal of issue triage is to categorize all incoming Kindling issues and make sure each issue has all basic information needed for anyone else to understand and be able to start working on it. > **Note:** This information is for Kindling project Maintainers, Owners, and Admins. If you are a Contributor, then you will not be able to perform most of the tasks in this topic. -The core maintainers of the Kindling project are responsible for categorizing all incoming issues and delegating any critical or important issue to other maintainers. Currently one maintainer each week is responsible. Besides that part, triage provides an important way to contribute to an open source project. +The core maintainers of the Kindling project are responsible for categorizing all incoming issues and delegating any critical or important issue to other maintainers. Currently, one maintainer each week is responsible. Besides that part, triage provides an important way to contribute to an open source project. Triage helps ensure issues resolve quickly by: @@ -69,7 +69,7 @@ The easiest and straight forward way of getting started and finding issues that The more advanced, but recommended way is to subscribe to all notifications from this repository which means that all new issues, pull requests, comments and important status changes are sent to your configured email address. Read this [guide](https://help.github.com/en/articles/watching-and-unwatching-repositories#watching-a-single-repository) for help with setting this up. -It's highly recommended that you setup filters to automatically remove emails from the inbox and label/categorize them accordingly to make it easy for you to understand when you need to act upon a notification or where to look for finding issues that haven't been triaged etc. +It's highly recommended that you set up filters to automatically remove emails from the inbox and label/categorize them accordingly to make it easy for you to understand when you need to act upon a notification or where to look for finding issues that haven't been triaged etc. ## 2. Ensure the issue contains basic information @@ -77,11 +77,11 @@ Before triaging an issue very far, make sure that the issue's author provided th ### Standard issue information that must be included -Given a certain issue template have been used by the issue author or depending how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included. +Given a certain issue template have been used by the issue author or depending on how the issue is perceived by the issue triage responsible, the following should help you understand what standard issue information that must be included. #### Bug reports -Should explain what happened, what was expected and how to reproduce it together with any additional information that may help giving a complete picture of what happened such as screenshots and any environment related information that's applicable and/or maybe related to the reported problem: +Should explain what happened, what was expected and how to reproduce it together with any additional information that may help to give a complete picture of what happened such as screenshots and any environment related information that's applicable and/or maybe related to the reported problem: - Kindling agent version - Node OS version @@ -116,13 +116,13 @@ To make it easier for everyone to understand and find issues they're searching f Depending on the issue, you might not feel all this information is needed. Use your best judgement. If you cannot triage an issue using what its author provided, explain kindly to the author that they must provide the above information to clarify the problem. Label issue with `needs more detail` and add any related `area/*` labels. -If the author provides the standard information but you are still unable to triage the issue, request additional information. Do this kindly and politely because you are asking for more of the author's time. +If the author provides the standard information, but you are still unable to triage the issue, request additional information. Do this kindly and politely because you are asking for more of the author's time. If the author does not respond to the requested information within the timespan of a week, close the issue with a kind note stating that the author can request for the issue to be reopened when the necessary information is provided. When you feel you have all the information needed you're ready to [categorizing the issue](#3-categorizing-an-issue). -If you receive a notification with additional information provided but you are not anymore on issue triage and you feel you do not have time to handle it, you should delegate it to the current person on issue triage. +If you receive a notification with additional information provided, but you are not anymore on issue triage, and you feel you do not have time to handle it, you should delegate it to the current person on issue triage. ## 3. Categorizing an issue @@ -195,7 +195,7 @@ There's a minor typo/error/lack of information that adds a lot of confusion for **Major error/lack of information:** -1. Label the issue with  `beginner friendly`, if applicable, to signal that we find this important to fix and we would appreciate any help we can get from the community. +1. Label the issue with  `beginner friendly`, if applicable, to signal that we find this important to fix, and we would appreciate any help we can get from the community. 2. Move on to [prioritizing the issue](#4-prioritization-of-issues). ### Support requests @@ -260,7 +260,7 @@ In case there is an uncertainty around the prioritization of an issue, please as ## 5. Requesting help from the discussions -Depending on the issue and/or priority, it's always a good idea to consider signalling to the github discussions that help from discussions is appreciated and needed in case an issue is not prioritized to be worked on by maintainers. Use your best judgement. In general, requesting help from the discussions means that a contribution has a good chance of getting accepted and merged. +Depending on the issue and/or priority, it's always a good idea to consider signalling to the GitHub discussions that help from discussions is appreciated and needed in case an issue is not prioritized to be worked on by maintainers. Use your best judgement. In general, requesting help from the discussions means that a contribution has a good chance of getting accepted and merged. 1. Kindly and politely add a comment to signal to users subscribed to updates of the issue. @@ -275,6 +275,6 @@ When an issue has all basic information provided, but the triage responsible hav Investigating issues can be a very time consuming task, especially for the maintainers, given  the complexities of Kindling. There is a certain number of combinations that are more common than others, and these are in general easier for maintainers to investigate. -For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise the issue is highly likely to be closed. +For some other combinations it may not be possible at all for a maintainer to setup a proper test environment to investigate the issue. In these cases we really appreciate any help we can get from the community. Otherwise, the issue is highly likely to be closed. -Even if you don't have the time or knowledge to investigate an issue we highly recommend that you upvote the issue if you happen to have the same problem. If you have further details that may help investigating the issue please provide as much information as possible. +Even if you don't have the time or knowledge to investigate an issue we highly recommend that you upvote the issue if you happen to have the same problem. If you have further details that may help to investigate the issue please provide as much information as possible. From 30355f52d0d993d28772bfbe67a75ac3fd240847 Mon Sep 17 00:00:00 2001 From: Daxin Wang Date: Wed, 22 Jun 2022 11:13:00 +0800 Subject: [PATCH 2/3] fix other issues found in the docs Signed-off-by: Daxin Wang --- CONTRIBUTING.md | 51 ++++++++++++++++--------------- README.md | 32 +++++++++---------- contribute/create_pull_request.md | 25 ++++++++------- 3 files changed, 56 insertions(+), 52 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index be82023f7..0752469b2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,59 +1,60 @@ -# Contributing to kindling -Thank you for you interest in contributing to kindling! We welcome all people who want to contribute in a healthy and constructive manner within our community. +# Contributing to Kindling +Thank you for your interest in contributing to Kindling! We welcome all people who want to contribute in a healthy and constructive manner within our community. ​ -## **Become a contributor** -you can contribute to Kindling in several ways,like: -l Contribute to the codebase -l Report and triage bugs -l Write technical documentation and blog posts, for users and contributors -l Help others by answering questions about Kindling -For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/) +## Become a contributor +You can contribute to Kindling in several ways, like: +- Contribute to the codebase +- Report and triage bugs +- Write technical documentation and blog posts for users and contributors +- Help others by answering questions about Kindling + +For more ways to contribute, check out the [Open Source Guides](https://opensource.guide/how-to-contribute/). ​ -## **Report bugs** +## Report bugs Before submitting a new issue, try to make sure someone hasn’t already reported the problem. You can look through the existing issues for similar issues. ​ -[Report a bug](https://github.com/Kindling-project/kindling/issues/new?assignees=&labels=&template=bug_report.md&title=) by submitting a new issue. Make sure follow the issue template and add more detail informations that will help us replicate the problem. +[Report a bug](https://github.com/Kindling-project/kindling/issues/new?assignees=&labels=&template=bug_report.md&title=) by submitting a new issue. Make sure to follow the issue template and add more detailed information which will help us reproduce the problem. -## **Triage issues** +## Triage issues If you don't have the knowledge or time to code, consider helping with issue triage. The community will thank you for saving them time by spending some of yours. Read more about the ways you can [Triage issues](contribute/triage_issues.md). -## **Answering questions** -It's important to us to help these users who has problem about kindling, and we’d love you help. Go to [disscussions](https://github.com/Kindling-project/kindling/discussions), you can find unanswered questions, and you can answer those questions. +## Answering questions +It's important to us to help the users who have problems with Kindling, and we’d love your help. Go to [disscussions](https://github.com/Kindling-project/kindling/discussions), you can find unanswered questions, and you can answer those questions. -## **You first contribution** -The first step to getting starting contribute to kindling is to find something to work on. You can start by fixing beginner-friendly issues or improving kindling documents ,no contribution is too small! +## Your first contribution +The first step to starting to contribute to Kindling is finding something to work on. You can start by fixing beginner-friendly issues or improving Kindling documents, no contribution is too small! -+ How to find beginner-friendly issues?Kindling has good first issue label for issues that don’t need high-level knowledge to contribute to. You can browse issues labeled good first time. ++ How to find beginner-friendly issues? Kindling has a `good first issue` label for issues that don’t need high-level knowledge to contribute. You can browse issues labeled with `good first time`. -+ How to find documents improving issues? Kindling has doc improvement label for issues that you can improve kindling docs. ++ How to find documents improving issues? Kindling has a `documentation` label for issues that you can improve Kindling docs. -If you are ready to contribute code changes, review the [developer guide](http://www.kindling.space:33215/project-1/doc-10/) for how to set up local environment. -When you want to submit your local changes , read about [create pull request](contribute/create_pull_request.md). +If you are ready to contribute code changes, review the [developer guide](http://www.kindling.space:33215/project-1/doc-10/) for how to set up your local environment. +When you want to submit your local changes, read about [create pull request](contribute/create_pull_request.md). ## Sign your commits -The sign-off is a simple line at the end of the explanation for a commit. All commits need to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, if you can certify the rules (from [developercertificate.org](https://developercertificate.org/)),then you just need add a line to every git commit message, like: +The sign-off is a simple line at the end of the explanation for a commit. All commits need to be signed. Your signature certifies that you wrote the patch or otherwise have the right to contribute the material. The rules are pretty simple, if you can certify the rules (from [developercertificate.org](https://developercertificate.org/)), then you just need to add a line to every git commit message, like: ``` Signed-off-by: lina ``` -### configuring automation commit signing in git +### Configure auto commit signing in git -1) set your user.name and user.email using following commands: +1. Set your `user.name` and `user.email` using the following commands: ``` git config --global user.name lina - git config --global user.email lina@example.cn + git config --global user.email lina@example.cn ``` -2. sign your commit with git commit -s, then use`git log `to verify that the signed-off message is added. +2. Sign your commit with `git commit -s`, then use `git log` to verify that the signed-off message is added. ``` Author: lina diff --git a/README.md b/README.md index 044332768..cb2003a6f 100644 --- a/README.md +++ b/README.md @@ -8,45 +8,45 @@ Visit [Kindling website](http://kindling.harmonycloud.cn/) for more information. ## What is Kindling -Kindling is an eBPF-based cloud-native monitor tool, which aims to help users understand the app behavior from kernel to code stack. Currently, it provides an easy way to get the view of the network flows in the Kubernetes environment, and many built-in network monitor dashboards like retransmit, DNS, throughput, TPS. Not only as a network monitor, but Kindling is also trying to analyze one detail RPC call and get the following information, which can be found in network explore in chrome. And the usage is the same as network explore in chrome, with which user can tell which part to dig into to find the root cause of the problem in the production environment. +Kindling is an eBPF-based cloud-native monitor tool, which aims to help users understand the app behavior from kernel to code stack. Currently, it provides an easy way to get the view of the network flows in the Kubernetes environment, and many built-in network monitor dashboards like retransmit, DNS, throughput, and TPS. Not only as a network monitor, but Kindling is also trying to analyze one detail RPC call and get the following information, which can be found in network explore in chrome. And the usage is the same as network explore in chrome, with which user can tell which part to dig into to find the root cause of the problem in the production environment. ![img](https://cdn.nlark.com/yuque/0/2021/png/749988/1633767195234-af2913c4-75d7-447d-99bb-bd1d815883ae.png) # Architecture -From a high-level view, the agent runs as DeamonSet in Kuberntes. It collects all the SYSCALL and some other tracepoints. We use different exporters for different distributions. For the lightweight version, we just build a Prometheus exporter to export the data which can be stored into Prometheus and displayed in Grafana Plugin. For the standard version, which is designed for heavy usage, Kafka is adopted for buffering the events, and data is stored into ElasticSearch with much more detailed information which can be displayed. Currently, the light version has been open-sourced. +From a high-level view, the agent runs as DeamonSet in Kubernetes. It collects all the SYSCALL and some other tracepoints. We use different exporters for different distributions. For the lightweight version, we just build a Prometheus exporter to export the data which can be stored into Prometheus and displayed in Grafana Plugin. For the standard version, which is designed for heavy usage, Kafka is adopted for buffering the events, and data is stored into ElasticSearch with much more detailed information which can be displayed. Currently, the light version has been open-sourced. ![image.png](https://cdn.nlark.com/yuque/0/2022/png/2307576/1649841732151-7cf95801-940e-4e09-86c5-3cac147554fc.png?x-oss-process=image/format,png) ## Linux kernel version support -Kindling eBPF module depends on the kernel version which is larger than 4.14. As an eBPF constraint, the eBPF module can't work for older kernel version. But for the users who want to try the functionality with the old kernel, we use some module from Sysdig open-source project with enhancement and verification. Basically, the idea is to use a kernel module for tracking the kernel trace-point. Thanks to Sysdig open-source project, it provides a trace-point instrument framework for older kernel version. +Kindling eBPF module depends on the kernel version which is larger than 4.14. As an eBPF constraint, the eBPF module can't work for older kernel versions. But for the users who want to try the functionality with the old kernel, we use some modules from Sysdig open-source project with enhancement and verification. Basically, the idea is to use a kernel module for tracking the kernel trace-point. Thanks to Sysdig open-source project, which provides a trace-point instrument framework for older kernel versions. -For now, the kernel module works as expected as eBPF module during our test, but it is recommended to use eBPF module for production environment because it is safer than kernel module. In order to help old kernel version user experience the eBPF magic, we will support the kernel model. And you are welcome to report the issue for the kernel module. For the functionality, the kernel module and eBPF module capture the same data, and behave exactly the same. +For now, the kernel module works as expected as the eBPF module during our test, but it is recommended to use the eBPF module for the production environment because it is safer than the kernel module. In order to help users that are using old kernel versions experience the eBPF magic, we will support the kernel model. And you are welcome to report the issue for the kernel module. For the functionality, the kernel module and eBPF module capture the same data and behave exactly the same. -## Why we build Kindling? +## Why do we build Kindling? -When we talk about observability, we already have plenty of tools to use, like Skywalking for tracing, ELK for logging, Prometheus for metric. Why should we build an eBPF-based monitor tool? +When we talk about observability, we already have plenty of tools to use, like Skywalking for tracing, ELK for logging, and Prometheus for metric. Why should we build an eBPF-based monitor tool? -The majority issue for user adoption of k8s is the complexity. For the apps on the kubernetes, we don't know the network flows between the service until we can instrument the apps. We can't tell which part to blame when there is a product issue arise. Do we configure the kubernetes correctly? Are there any bugs in the virtual network like Calico/Flannel that caused this problem? Does the app code cause this issue? +The majority issue for user adoption of k8s is the complexity. For the apps on the Kubernetes, we don't know the network flows between the service until we can instrument the apps. We can't tell which part to blame when there is a product issue arise. Do we configure the Kubernetes correctly? Are there any bugs in the virtual network like Calico/Flannel that caused this problem? Does the app code cause this issue? -We are a company based in Hangzhou, China and used to provide the kubernetes distribution for our customers. Our customers used to have those questions, and we don't have a proper solution to answer those questions. +We are a company based in Hangzhou, China, and used to provide Kubernetes distribution for our customers. Our customers used to have those questions, and we don't have a proper solution to answer those questions. APM is good for those java language apps which can be instrumented automatically, but the code has to be rewritten for instrumenting the go apps. And even we adopt the APM solution, we still can't tell whether an issue is caused by network problems. We found it may be helpful that we check the issue from the network view to identify issues roughly like "oh, it's a network problem, the code works fine, we should dig into the configuration of calico" or "the infrastructure works fine, the app code should be blamed, let's dig into the logs or the APM dashboard for further information" -### Why eBPF +### Why eBPF? -Libpcap way of analyzing the flows in the kubernetes environment is too expensive for CPU and network. eBPF way of data capture cost much less than libpcap. eBPF is the most popular technology to track the Linux kernel. And the virtual network is built by veth-pair and iptables, which works in the kernel. So eBPF should be used for tracking how the kernel respond to the app request. +The libpcap way of analyzing the flows in the Kubernetes environment is too expensive for CPU and network. eBPF way of data capture cost much less than libpcap. eBPF is the most popular technology to track the Linux kernel. And the virtual network is built by veth-pair and iptables, which works in the kernel. So eBPF should be used for tracking how the kernel responds to the app request. ## Core Features ![img](https://cdn.nlark.com/yuque/0/2022/png/749988/1642572876088-c26396ac-e7bb-44e7-ae0c-cc96f3344cd8.png) -Kindling provides two versions which has different feature but with the same agent. The lightweight is integrated into Prometheus, and it uses PromQL to query the data from Prometheus, so it should be adopted easily. But due to the cardinality constraint of Prometheus, we group the detailed data into buckets which throw away the detailed information. For the standard version, we provide much more detailed information because we use ElasticSearch as the back-end to store the original information. +Kindling provides two versions that have different features but with the same agent. The lightweight is integrated into Prometheus, and it uses PromQL to query the data from Prometheus, so it should be adopted easily. But due to the cardinality constraint of Prometheus, we group the detailed data into buckets which throw away the detailed information. We provide much more detailed information for the standard version because we use ElasticSearch as the back-end to store the original information. -The lightweight version will be open sourced first and the standard version is under active development and will open sourced in next few months. +The lightweight version will be open-sourced first and the standard version is under active development and will be open-sourced in the next few months. | Feature | Lightweight | Standard | | ------------------------------------------------ | ----------- | -------- | @@ -57,7 +57,7 @@ The lightweight version will be open sourced first and the standard version is u | Grafana plugin display | √ | √ | | Network traffic dump | | √ | | Virtual network packet tracing | | √ | -| Kuberntes infrastructure monitor and integration | | √ | +| Kubernetes infrastructure monitor and integration | | √ | | Warning and alert | | √ | | Multi-cluster management | | √ | @@ -71,15 +71,15 @@ The Kindling documentation is available at [kindling website]( http://www.kindli ## Contributing -Contributions are welcome, you can contribute in many ways: report issues,help us reproduce issues, fix bugs, add features, or give us advice on github discussions and so on.If you’re interested in joining us to unveil the e BPF in kubernetes area,you can start by reading the [Contributing Guide](https://github.com/Kindling-project/kindling/blob/main/CONTRIBUTING.md). +Contributions are welcome, you can contribute in many ways: report issues, help us reproduce issues, fix bugs, add features, or give us advice on Github discussions and so on. If you are interested in joining us to unveil the eBPF in the Kubernetes area, you can start by reading the [Contributing Guide](https://github.com/Kindling-project/kindling/blob/main/CONTRIBUTING.md). ## Contact -if you have questions or ideas, feel free to reach out to us in the following ways: +If you have questions or ideas, please feel free to reach out to us in the following ways: - Check out our [discussions](https://github.com/Kindling-project/kindling/discussions) - Join us on our [Slack team](https://join.slack.com/t/kindling-world/shared_invite/zt-1770uhspf-qxBHT47c1iMGO0w23hSR2A) -- Join us from WeChat Group (chinese) +- Join us from WeChat Group (in Chinese) ![img](https://cdn.nlark.com/yuque/0/2022/png/2307576/1643176150105-21390a1c-15e7-4ee4-9f6d-07b1238342d8.png) diff --git a/contribute/create_pull_request.md b/contribute/create_pull_request.md index 3a8f6cb3e..16fa4d1cb 100644 --- a/contribute/create_pull_request.md +++ b/contribute/create_pull_request.md @@ -1,8 +1,8 @@ -# **Create pull request** -We’re excited that you want to join us. This doc explains the process for create a pull request to the Kindling project. +# Create pull request +We’re excited that you want to join us. This doc explains the process for creating a pull request for the Kindling project. ​ -## **Before you submit a pull request** +## Before you submit a pull request Fist-time contributors should read the [Contributor Guide](../CONTRIBUTING.md) to get started. Make sure your pull request adheres to relevant code conventions. @@ -10,7 +10,7 @@ Make sure your pull request adheres to relevant code conventions. If this is your first time contributing to an open-source project on GitHub, make sure you read about [Creating a pull request](contribute/creating-a-pull-request). To increase the chance of having your pull request accepted, make sure your pull request follows these guidelines: -- Title and description matches the implementation. +- Title and description match the implementation. - Commits within the pull request follow the Commit Message Guidelines - The pull request closes one related issue. - The pull request contains necessary tests that verify the intended behavior. @@ -20,19 +20,20 @@ If the pull request fixes a bug: - The pull request description must include Closes # or Fixes #. - To avoid regressions, the pull request should include tests that replicate the fixed bug. -## **Run Local Verifications** +## Run Local Verifications - -You must run local verifications before you submit your pull request. +You must run local verifications before you submit your pull request. ## Code review Once you've created a pull request, the next step is to have someone review your change. A review is a learning opportunity for both the reviewer and the author of the pull request. + If you think a specific person needs to review your pull request, then you can tag them in the description or in a comment. Tag a user by typing the @ symbol followed by their GitHub username. + We recommend that you read [How to do a code review](https://google.github.io/eng-practices/review/reviewer/) to learn more about code reviews. ​ -## **Commit Message Guidelines** -Git commit message is the best way to communicate context about a change to fellow developers. Git commit message should accurately describe both what and why it is being done. Commit Messages are usually comprised of two parts: subject and body. Subject and body content should better follow these guides most of which follow kubernetes [commit message guidelines](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md): +## Commit Message Guidelines +Git commit message is the best way to communicate context about a change to fellow developers. Git commit message should accurately describe both what and why it is being done. Commit Messages are usually comprised of two parts: subject and body. Subject and body content should better follow these guides most of which follow the ones of Kubernetes [commit message guidelines](https://github.com/kubernetes/community/blob/master/contributors/guide/pull-requests.md): + Separate subject from body with a blank line + Subject start with area tag @@ -40,13 +41,15 @@ Git commit message is the best way to communicate context about a change to fell + Do not end the subject line with a period + Wrap the body at 72 characters + Use the imperative mood in the subject line -+ Use the body to explain what and whyof this commit ++ Use the body to explain what and why this commit ​ -**Here is a git commit message example :** +**Here is a git commit message example:** +``` agent: add tcp packet drop metric Enhance the ability of identifying tcp layer problem +``` ​ From 545408cbd35cb937a02b94b808fa799baa9ffd9e Mon Sep 17 00:00:00 2001 From: blue-troy <12729455+blue-troy@users.noreply.github.com> Date: Wed, 22 Jun 2022 14:04:24 +0800 Subject: [PATCH 3/3] docs:fix language issues in document change Github to GitHub Signed-off-by: blue-troy <12729455+blue-troy@users.noreply.github.com> --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb2003a6f..351657e8f 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ The Kindling documentation is available at [kindling website]( http://www.kindli ## Contributing -Contributions are welcome, you can contribute in many ways: report issues, help us reproduce issues, fix bugs, add features, or give us advice on Github discussions and so on. If you are interested in joining us to unveil the eBPF in the Kubernetes area, you can start by reading the [Contributing Guide](https://github.com/Kindling-project/kindling/blob/main/CONTRIBUTING.md). +Contributions are welcome, you can contribute in many ways: report issues, help us reproduce issues, fix bugs, add features, or give us advice on GitHub discussions and so on. If you are interested in joining us to unveil the eBPF in the Kubernetes area, you can start by reading the [Contributing Guide](https://github.com/Kindling-project/kindling/blob/main/CONTRIBUTING.md). ## Contact