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

Consider trigger intermediate report in ProxyFlow #23

Closed
lizan opened this issue Nov 21, 2016 · 4 comments
Closed

Consider trigger intermediate report in ProxyFlow #23

lizan opened this issue Nov 21, 2016 · 4 comments
Assignees

Comments

@lizan
Copy link
Contributor

lizan commented Nov 21, 2016

Using timer seems inefficient when a streaming have long waiting time. Trigger report in read/write path with timestamp check might be better.

@qiwzhang
Copy link
Contributor

It is good idea, we can use both byte based and time elapse based criteria to trigger a intermediate report.

for example:

if ((read_bytes > T || write_bytes > T) && (time_elapse > 1s))

@chowchow316
Copy link
Contributor

The code hook-up is tricky: if we want to remove timer, the intermediate report will be triggered in proxy_flow.cc, which is inside api_manger/grpc, the code structure will become complex. To optimize the performance with timer, we can set a byte threshold (1MB) to trigger the report, and extend the timer period (1s -> 10s).

@lizan
Copy link
Contributor Author

lizan commented Nov 22, 2016

No, it won't be tricky, the only tricky part is grpc is currently setting up as a content handler (not a filter)

You should add a IntermediateReport() into RequestHandlerInterface, and call it from grpc_server_call.cc. When we move grpc/transcoding to filter, then IntermediateReport() can be called in filter. All condition check should live in IntermediateReport().

@chowchow316
Copy link
Contributor

Added #27 to get rid of timer.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants