Skip to content
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

feat: implement isCompressionEligable method #2656

Merged
merged 10 commits into from
Apr 27, 2022
Merged

Conversation

astorm
Copy link
Contributor

@astorm astorm commented Apr 21, 2022

Implements: #2604

This PR finishes up the span compression work by implementing an isCompressionEligible method that uses propagated trace context headers, exit span, and outcome to determine whether a span is eligible for compression. It also ties up a few other loose ends that came up while implementing it.

  • Span compression is enabled by default
  • HTTP 2 requests will now propagate the the trace context headers
  • Span compression disabled for tedious and cassandra tests (per other "db exit spans")
  • Timing adjusted for "same kind compression" test as a possible fix for observed flakiness

Checklist

  • Implement code
  • Add tests
  • [ ] Update TypeScript typings
  • Update documentation
  • Add CHANGELOG.asciidoc entry
  • Commit message follows commit guidelines

@github-actions github-actions bot added the agent-nodejs Make available for APM Agents project planning. label Apr 21, 2022
@apmmachine
Copy link
Contributor

apmmachine commented Apr 21, 2022

💚 Build Succeeded

the below badges are clickable and redirect to their specific view in the CI or DOCS
Pipeline View Test View Changes Artifacts preview preview

Expand to view the summary

Build stats

  • Start Time: 2022-04-26T20:38:51.271+0000

  • Duration: 20 min 4 sec

Test stats 🧪

Test Results
Failed 0
Passed 247303
Skipped 0
Total 247303

🤖 GitHub comments

To re-run your PR in the CI, just comment with:

  • /test : Re-trigger the build.

  • run module tests for <modules> : Run TAV tests for one or more modules, where <modules> can be either a comma separated list of modules (e.g. memcached,redis) or the string literal ALL to test all modules

  • run benchmark tests : Run the benchmark test only.

  • run elasticsearch-ci/docs : Re-trigger the docs validation. (use unformatted text in the comment!)

@astorm astorm marked this pull request as ready for review April 22, 2022 00:17
@astorm astorm requested a review from trentm April 22, 2022 00:17
@astorm astorm requested review from trentm and removed request for trentm April 25, 2022 21:14
Copy link
Member

@trentm trentm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Implements: #2604

If you use Closes, Fixes, or Resolves then GitHub will automatically link this PR to the issue. Unless you intentionally don't want that?

  • HTTP 2 requests will now propagate the the trace context headers

Nice. This is: #1830

  • Span compression is enabled by default

This section of "configuration.asciidoc" should be updated for it being on by default now:

[[span-compression-enabled]]
==== `spanCompressionEnabled`

...

CHANGELOG.asciidoc Outdated Show resolved Hide resolved
test/instrumentation/span-compression.test.js Outdated Show resolved Hide resolved
test/instrumentation/span-compression.test.js Outdated Show resolved Hide resolved
test/instrumentation/span-compression.test.js Show resolved Hide resolved
@astorm astorm requested a review from trentm April 26, 2022 20:42
@astorm astorm merged commit 36193a1 into main Apr 27, 2022
@astorm astorm deleted the astorm/is-compressible branch April 27, 2022 05:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
agent-nodejs Make available for APM Agents project planning.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants