-
Notifications
You must be signed in to change notification settings - Fork 147
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
Infinite Tracing payload compression and batching #1146
Infinite Tracing payload compression and batching #1146
Conversation
…ng. Payloads being sent to trace observers will be compressed with `gzip` compression by default and will attempt to send batches of up to 100 spans by default. This replaces the existing default of no compression and no batching. The data is still streaming over HTTP/2 using gRPC but utilizing compression and batching to significantly reduce payload sizes and bytes over the wire, resulting in lower network transfer costs.
Whoever reviews this PR, make sure that it is in alignment with the agent spec: https://source.datanerd.us/agents/agent-specs/pull/597 |
@toddwest thanks for the PR! We've got a number of things in our ToDo list that we have to take care of first but we're going to try and get this in this Jan-Mar quarter! |
@toddwest we had to bump this out to the Apr-Jun quarter since we're over-capacity for the current quarter |
|
5ec75ff
to
302e103
Compare
…bility metrics to bring implementation in line with agent spec.
Thanks for the reminder @jasonjkeller. Went ahead and updated to bring the PR in line with the spec. @kford-newrelic I'm happy to spend an hour walking through the PR with the team if that could help expedite the review process? I think a lot of customers would get some significant relief from these changes. |
|
Overview
This PR adds support for Infinite Tracing payloads to be both compressed and batched by default. The following changes are included as part of this work:
gzip
compression is enabled by default for batching and non-batching configurationsenabled
by default100
spans bundled per batch5s
to fill up the batch before sendingThe span data is still streaming over HTTP/2 using gRPC but utilizing compression and batching will significantly reduce payload sizes and bytes over the wire, resulting in significantly lower network transfer costs for customers.
Testing
All new functionality has been covered with unit tests where possible.
Checks
Are your contributions backwards compatible with relevant frameworks and APIs?
Does your code contain any breaking changes?
Does your code introduce any new dependencies?
testImplementation
dependency for parameterized tests