Skip to content
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

Support MQTT protocol(s) #341

Open
mak3r opened this issue Oct 25, 2021 · 9 comments
Open

Support MQTT protocol(s) #341

mak3r opened this issue Oct 25, 2021 · 9 comments
Labels
needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.

Comments

@mak3r
Copy link

mak3r commented Oct 25, 2021

Describe the solution you'd like
It would be useful to add MQTT to the list of protocols which support tracing. In particular, it would be beneficial to have support for Request Tracing and Service Performance of the MQTT protocol.

MQTT is one of the most common protocols for device communication from edge nodes such as microcontrollers and IOT sensors. While these types of devices may not yet be capable of hosting container orchestration components like the kubelet themselves, they are a big part of the ecosystem for cloud-native at the edge. Projects like Node Feature Discovery (NFD), Akri and Smarter Device Manager are exposing non-standard resources at the edge and it would be a great addition to the developing toolset to enable Pixie to help with the practical issues facing developers who need to get existing systems integrated into a cloud-native ecosystem.

Describe alternatives you've considered
There are other message broker alternatives however I suspect it would be useful to implement a variety of options.

Additional context
There are two protocol standards today. Implementation of v5 which has been available since March of 2019 seems the most logical however there is a good chance that a large proportion of the devices using MQTT today are still using the older protocol. I do not currently have data to support this or refute it. Here are links to the different protocols.
http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.pdf
https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.pdf

A description of MQTT from the abstract of version 5:
MQTT is a Client Server publish/subscribe messaging transport protocol. It is light weight, open, simple, and designed to be easy to implement. These characteristics make it ideal for use in many situations, including constrained environments such as for communication in Machine to Machine (M2M) and Internet of Things (IoT) contexts where a small code footprint is required and/or network bandwidth is at a premium. The protocol runs over TCP/IP, or over other network protocols that provide ordered, lossless, bidirectional connections.

@mak3r mak3r mentioned this issue Oct 25, 2021
@Shubhamlmp
Copy link

Hello @mak3r I am interested in working on this project. and I want to discuss more about this project with you.

@deprov447
Copy link
Contributor

Hi @mak3r, I was redirected here from LFX mentorship site. I am interested to work on this task, but I see no mentors for this. Is there any proposed mentor as of now?

@cooooooder
Copy link

Hi there, @mak3r I am so interested in the project and wanna be a volunteer. Is there any chance we could talk about my background and related things about the project? Thank you so much!

@aastha0326
Copy link

Hi, I wanted to work on this in LFX mentorship but cannot find any mentors. Are their any mentors available for this project?

@zasgar zasgar added the needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one. label Jul 7, 2022
@ChinmayaSharma-hue
Copy link
Contributor

Hi, I wanted to work on this issue. Is this feature still needed?

@ddelnano
Copy link
Member

@ChinmayaSharma-hue the Pixie team always welcomes support for new protocols and we would be happy to work with you through this. If you want to talk more details, it would be best to join our community slack. The protocol-tracing channel is where we've discussed features like this in the past.

@ChinmayaSharma-hue
Copy link
Contributor

Thanks! I'm eager to contribute. I'll definitely reach out in case I need any help with this.

@ddelnano
Copy link
Member

Sounds good and I forgot to mention that we have two protocol contribution guide docs that are helpful to check out.

@ChinmayaSharma-hue
Copy link
Contributor

Will take a look. Thanks!

JamesMBartlett pushed a commit that referenced this issue Dec 5, 2023
Summary: This PR adds the parser component of MQTT (v5), a newly added
protocol.

Related issues: #341

Type of change: /kind feature

Test Plan: Added tests

---------

Signed-off-by: Chinmay <chinmaysharma1020@gmail.com>
ddelnano pushed a commit that referenced this issue Nov 25, 2024
Summary: This PR adds the stitcher component of MQTT (v5), a newly added
protocol.

Related issues: #341

Type of change: /kind feature

Test Plan: Added tests

---------

Signed-off-by: Chinmay <chinmaysharma1020@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-triage Indicates an issue or PR lacks a `triage/foo` label and requires one.
Projects
None yet
Development

No branches or pull requests

8 participants