question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Get rid of protobufs in P3A pings

See original GitHub issue

For now, a P3A pings consists of a base64-encoded protobuf.

message RawP3AValue {
  fixed64 metric_id = 1;
  bytes p3a_info = 2;
}

given that pings are small we can get rid of protobuf and replace it with simple json.

{
  "metric_id" : "hex-encoded-metric-id-string",
  "p3a_info" : "p3a info string" 
}

It is suggested to keep p3a string as is, because the current plan is to resurrect prochlo soon, presumbaly prochlo will utilize this format (of everything packed into p3a_info) somehow.

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:12 (7 by maintainers)

github_iconTop GitHub Comments

2reactions
rilliancommented, Feb 3, 2022

I’ve added a brief test plan to brave/brave-core#11600.

Sorry about that, and please let me know if you need more details.

2reactions
iefremovcommented, Dec 14, 2021

since we removed PROCHLO, nothing stops us from killing the “ugly string” (aka p3a_info) and making a normal json. I’ll update the description with more details.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Language Guide (proto3) | Protocol Buffers - Google Developers
If you update a message type by entirely removing a field, or commenting it out, future users can reuse the field number when...
Read more >
How to serialize empty message in protobuf-3 in C++?
When I invoke for my object "proto::Ping &ping" the ping.ByteSizeLong() it returns zero. ping.SerializeAsString() also returns empty string. What can be ...
Read more >
Receiving Protobuf3 Message over Network - Stack Overflow
Once I get the parsing & re-parsing figured out. The received message that I am getting on my c++ server side looks like...
Read more >
Go gRPC Cheap Ping - Kubernetes
In order to be able to use protobuf we need to generate the code for the app that we're writing in this case...
Read more >
Introduction to Google Protocol Buffer - Baeldung
It will also have some util methods for saving protobuf files and deserializing them from binary format to Java class. 5. Creating an...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found