vector icon indicating copy to clipboard operation
vector copied to clipboard

chore: Clarify bytes metrics in component spec

Open binarylogic opened this issue 3 years ago • 3 comments

This PR updates the requirements for the ComponentBytesReceived and ComponentBytesSent events:

  1. Renamed ComponentBytesReceived to SourceNetworkBytesReceived.
  2. Renamed ComponentBytesSent to SinkNetworkBytesSent.
  3. Clarified that the network bytes are best effort based on the source/sink capability. In other words, it should be the closest representation possible to the raw network bytes based on client limitations.
  4. Clarified that the ComponentEventsSent and ComponentEventsReceived should emit a byte_size that reflects an estimated size for JSON encoding.

binarylogic avatar May 31 '22 16:05 binarylogic

Deploy Preview for vector-project ready!

Name Link
Latest commit 2b62c7eedb5682e737938733625ae34becdd2ac0
Latest deploy log https://app.netlify.com/sites/vector-project/deploys/62f40c63e2f1260009f369cc
Deploy Preview https://deploy-preview-12912--vector-project.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 settings.

netlify[bot] avatar May 31 '22 16:05 netlify[bot]

Talked with @jszwedko and simplified the requirements. I updated the description to summarize the changes.

binarylogic avatar Jun 08 '22 19:06 binarylogic

Ok, I pushed a big update that I think really clarifies the different between event bytes and network bytes. Here's what I changed:

  1. Renamed ComponentBytesReceived to SourceNetworkBytesReceived.
  2. Renamed ComponentBytesSent to SinkNetworkBytesSent.
  3. Removed the framing nuance entirely. No framed tag, etc.
  4. Clarified that the network bytes are best effort based on the source/sink capability. In other words, it should be the closest representation possible to the raw network bytes based on client limitations.
  5. Clarified that the ComponentEventsSent and ComponentEventsReceived should emit a byte_size that reflects an estimated size for JSON encoding.

binarylogic avatar Aug 05 '22 15:08 binarylogic

For the billing metric, is my reading correct that we would now use component_received_event_bytes_total on sources?

Assuming this is an accurate representation of the JSON encoding, I don't see why not. My only concern is enriching within the source and how customers would feel about that. Regardless, I don't want to encourage customers to use an inferior protocol because it's cheaper. We should try to normalize the bytes we're charging post-process.

binarylogic avatar Aug 10 '22 16:08 binarylogic