About Cobalt pipeline

46 views
Skip to first unread message

Murali Achar

unread,
Mar 25, 2021, 12:33:14 AM3/25/21
to discuss
Hello,

I would like to know more about Cobalt pipeline used in Fuchsia OS 

Communication Protocol ( over TCP/IP) between client and server
Data package format used for cobalt ( json? compressed/uncompressed, encrypted) 
Typical Size/over-head
Suitability for NB-IoT network ( considering limited bandwitdth)

Appreciate your feedback

Warm Regards,
Murali

Shai Barack

unread,
Mar 25, 2021, 1:01:21 AM3/25/21
to Murali Achar, discuss
Hi Murali,
I am far from being the expert on Cobalt. That said, here are some resources that can get you started while we wait for hopefully someone more informed than me to chime in.


From looking at build definitions I'm assuming that Cobalt uses gRPC, which is roughly speaking protocol buffer (aka protobuf or proto) wire format over HTTPS.
I haven't seen an analysis of Cobalt's network performance in quantitative terms such as data overhead.
I don't have experience working with Narrowband IoT so I can't answer the qualitative question.

--
All posts must follow the Fuchsia Code of Conduct https://fuchsia.dev/fuchsia-src/CODE_OF_CONDUCT or may be removed.
---
You received this message because you are subscribed to the Google Groups "discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss+u...@fuchsia.dev.
To view this discussion on the web visit https://groups.google.com/a/fuchsia.dev/d/msgid/discuss/e6b24412-1d7d-44ed-87c1-90d2b6f9404bn%40fuchsia.dev.

Seth Ladd

unread,
Mar 25, 2021, 3:32:42 PM3/25/21
to Shai Barack, Zach Bush, Cameron Dale, Murali Achar, discuss

Cameron Dale

unread,
Mar 25, 2021, 4:05:59 PM3/25/21
to Seth Ladd, Alex Zani, Shai Barack, Zach Bush, Murali Achar, discuss
On Wed, Mar 24, 2021 at 9:33 PM Murali Achar <amur...@gmail.com> wrote:
Hello,

I would like to know more about Cobalt pipeline used in Fuchsia OS 

Communication Protocol ( over TCP/IP) between client and server

HTTP to a backend server at Google called Clearcut. You can see the implementation here:

 
Data package format used for cobalt ( json? compressed/uncompressed, encrypted) 

Protocol Buffer messages, serialized. They contain doubly encrypted values that represent the metrics that were collected. The implementation in use today is here:


However, this is implemented as an interface, so if you wanted to upload to a different server or using a different format, you can create and use a new implementation of this:

 
Typical Size/over-head

I can't say what this might be, added @Alex Zani in case he has more information.
 
Suitability for NB-IoT network ( considering limited bandwitdth)

The older Cobalt 1.0 implementation in fuchsia.cobalt uses more bandwidth than our newer Cobalt 1.1 implementation in fuchsia.metrics (perhaps 10x more). So if bandwidth is a concern, you will definitely want to use Cobalt 1.1, which aggregates all metrics on the device for at least an hour before sending them to the server.

Thanks for your interest,
Cameron

Reply all
Reply to author
Forward
0 new messages