Skip to content

rfac: Observablity blog to include new long conn metrics and accesslogs #176

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

yp969803
Copy link
Contributor

@yp969803 yp969803 marked this pull request as draft April 26, 2025 09:11
@kmesh-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
Once this PR has been reviewed and has the lgtm label, please assign kevin-wangzefeng for approval. For more information see the Kubernetes Code Review Process.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link

netlify bot commented Apr 26, 2025

Deploy Preview for kmesh-net ready!

Name Link
🔨 Latest commit 5dd4c82
🔍 Latest deploy log https://app.netlify.com/sites/kmesh-net/deploys/6811aa72e4c2870008bdc378
😎 Deploy Preview https://deploy-preview-176--kmesh-net.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

@yp969803 yp969803 changed the title rfac: Observablity blog to include new long conn metrics rfac: Observablity blog to include new long conn metrics and accesslogs Apr 26, 2025
@jayesh9747
Copy link
Contributor

@yp969803 hello , please add the author as you into the authors.yml file.

similar kind of
image

@yp969803 yp969803 force-pushed the issue1325kmeshObsBlog branch from ca945e9 to 280b387 Compare April 26, 2025 14:43
@yp969803 yp969803 marked this pull request as ready for review April 26, 2025 14:43
@yp969803
Copy link
Contributor Author

@LiZhenCheng9527 can u review and merge

@hzxuzhonghu hzxuzhonghu reopened this Apr 29, 2025
@hzxuzhonghu
Copy link
Member

/retest

@hzxuzhonghu
Copy link
Member

@yp969803 You should rebase on the main branch, https://github.com/kmesh-net/website/pull/172/files fixed a timeout issue

@kmesh-bot
Copy link
Collaborator

Adding label do-not-merge/contains-merge-commits because PR contains merge commits, which are not allowed in this repository.
Use git rebase to reapply your commits on top of the target branch. Detailed instructions for doing so can be found here.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@yp969803
Copy link
Contributor Author

@hzxuzhonghu done

Copy link
Member

@hzxuzhonghu hzxuzhonghu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

};
```

In addition to this data that can be accessed directly, Kmesh temporary data while the link is being established. Obtain data such as link duration from the previously temporarily recorded data when the link is closed.
In addition to the TCP data that can be accessed directly, Kmesh temporarily records supplementary information during the connection establishment phase, such as the start time, connection direction, and the last report time. The last report time is used to periodically report connection metrics. After each report, Kmesh updates the last report time to the current timestamp, while also utilizing other stored information to enrich the reported data.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

connection direction or traffic direction @LiZhenCheng9527


## How to Handle Data
Connection data is published to a ring buffer, allowing userspace applications to access it. Data is reported at key stages of the connection lifecycle: during connection establishment, at regular intervals throughout the connection's duration, and upon connection closure.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Connection data is published to a ring buffer, allowing userspace applications to access it. Data is reported at key stages of the connection lifecycle: during connection establishment, at regular intervals throughout the connection's duration, and upon connection closure.
Connection stats is written to a ring buffer, allowing userspace applications to access it. Data is reported at key stages of the connection lifecycle: during connection establishment, at regular intervals throughout the connection's duration, and upon connection closure.


After Kmesh is done with the data from this link, it will pass the data to the user state through ringbuf.
## How to Handle Data
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe more specific

Suggested change
## How to Handle Data
## How to Handle TCP Stats


After parses the data from ringbuf in the use space, Kmesh builds `metricLabels` based on the linked source and destination information. it then updates the cache in the `metricController`.
After parsing the data from ringbuf in the use space, Kmesh builds `metricLabels` based on the linked source and destination information. it then updates the cache in the `metricController`.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
After parsing the data from ringbuf in the use space, Kmesh builds `metricLabels` based on the linked source and destination information. it then updates the cache in the `metricController`.
After parsing the data from ringbuf in the user space, Kmesh builds `metricLabels` based on the linked source and destination information. It then updates the cache in the `metricController`.


The architecture diagram is shown below:

![probe](images/probe.png)
![probe](images/probe.jpg)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The image is not seen after zoom in

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can draw with https://app.diagrams.net/

| kmesh_tcp_workload_conntections_failed_total | The total number of TCP connections failed to a workload |
| Name | Description |
| ---------------------------------------------- | ---------------------------------------------------------------------------------------------- |
| `kmesh_tcp_workload_connections_opened_total` | The total number of TCP connections opened to a workload |
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, i think the description is bad, not your fault though

Signed-off-by: Yash Patel <[email protected]>

rfac: changed image type to svg in obs blog

Signed-off-by: Yash Patel <[email protected]>
@yp969803 yp969803 force-pushed the issue1325kmeshObsBlog branch from 3bd1219 to 5dd4c82 Compare April 30, 2025 04:43
@yp969803
Copy link
Contributor Author

@hzxuzhonghu done the changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Updating docs and blogs for tcp_long_conn metrics and accesslogs
4 participants