pixie icon indicating copy to clipboard operation
pixie copied to clipboard

Support MQTT protocol(s)

Open mak3r opened this issue 3 years ago • 9 comments

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 avatar Oct 25 '21 18:10 mak3r

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

Shubhamlmp avatar Feb 10 '22 07:02 Shubhamlmp

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?

deprov447 avatar Feb 11 '22 03:02 deprov447

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!

cooooooder avatar Feb 13 '22 23:02 cooooooder

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

aastha0326 avatar Feb 14 '22 10:02 aastha0326

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

ChinmayaSharma-hue avatar Sep 13 '23 18:09 ChinmayaSharma-hue

@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.

ddelnano avatar Sep 13 '23 18:09 ddelnano

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

ChinmayaSharma-hue avatar Sep 14 '23 03:09 ChinmayaSharma-hue

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

ddelnano avatar Sep 14 '23 14:09 ddelnano

Will take a look. Thanks!

ChinmayaSharma-hue avatar Sep 15 '23 11:09 ChinmayaSharma-hue