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

http pipelining #453

Merged
merged 6 commits into from
Dec 8, 2015
Merged

http pipelining #453

merged 6 commits into from
Dec 8, 2015

Conversation

urso
Copy link

@urso urso commented Dec 6, 2015

Add HTTP pipelining support. Seems adding pipelining kinda simplifies some code.

  • Add simple benchmark with request + response generating an event
  • correlate request/response messages (held in single linked lists) into transactions
  • remove 'transactions' map/cache from HTTP module. All transactions live right in TCP connection (which already uses very same transaction timeout)
  • remove intermediate transaction object (initialize event directly from messages)

Benchmark output before change:
BenchmarkHttpRequestResponse-4 30000 48112 ns/op 11903 B/op 356 allocs/op

Benchmark output after change:
BenchmarkHttpRequestResponse-4 30000 43752 ns/op 11039 B/op 348 allocs/op

urso added 3 commits December 6, 2015 02:07
No intermediate type required, as event can be directly generated from request
and response message after correlating these two.
@tsg tsg added the Packetbeat label Dec 7, 2015
@ruflin
Copy link
Contributor

ruflin commented Dec 7, 2015

@urso Don't forget the CHANGELOG.md

@urso urso mentioned this pull request Dec 7, 2015
andrewkroh added a commit that referenced this pull request Dec 8, 2015
@andrewkroh andrewkroh merged commit 877d5bd into elastic:master Dec 8, 2015
@urso urso deleted the enh/http-pipelining branch December 8, 2015 18:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants