| Commit message (Collapse) | Author | Age |
|\
| |
| | |
Split bm_fullstack into pieces, reuse infrastructure across other microbenchmarks
|
| |\ |
|
| | | |
|
|\ \ \ |
|
| | |/ |
|
|\ \ \
| | | |
| | | | |
Add a slice type that shares a refcount with a transport stream
|
| | | | |
|
| |_|/
|/| | |
|
|\ \ \
| | | |
| | | | |
Always use port server
|
| |/ /
|/| | |
|
| |\ \ |
|
|\ \ \ \
| | |/ /
| |/| | |
|
| | | |\
| | | | |
| | | | | |
Preserve ipv6 scope id in grpc_channel_args
|
| |\ \ \ \
| | | | | |
| | | | | | |
Client-side keepalive pings
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Useful for situations where we need to repeatedly trylock, not useful
for cases where we need to lock (due to spinning).
Add a variant of sync_test to test it (with the same tests we run for
gpr_mu).
Add a benchmark to bm_closure to demonstrate single threaded performance.
|
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Based on soltanmm-google's #9114
|
|/| | | |
| | |/ /
| |/| | |
|
| | |\ \
| |_|/ /
|/| | | |
|
| | | | |
|
|\ \ \ \ |
|
| | | | | |
|
| | | |/
| | |/|
| | | |
| | | | |
Allow Node tests to run with or without UV, change default version to 7, add some portability tests. Also make some more core tests work with libuv
|
| | | | |
|
| |\ \ \
| | | |/
| | |/| |
|
| | |\ \
| | | | |
| | | | | |
Use call context to propagare LR costs
|
| |/ / /
|/| | | |
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | | |
Fix issue #9602
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Tracing API
|
| | | | | |
|
| | | |\ \
| | | |/ /
| | |/| | |
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit fixes an issue in which the following sequence of operations
leads to use of uninitialized memory:
1. Caller invokes GrpcBufferWriter::Next(), and then makes use of 8191
bytes in the returned buffer (which is 8192 bytes in size).
2. Caller then returns the unused single byte via
GrpcBufferWriter::BackUp(). This method invokes
g_core_codegen_interface->grpc_slice_split_tail(), which causes
backup_slice_ to be a grpc_slice with one byte.
3. At the next invocation of GrpcBufferWriter::Next(), a reference to
the single byte grpc_slice is returned to the caller.
The problem here is that the returned reference is to the inlined buffer
in the grpc_slice, which is resident in slice_, not the location of the
buffer inside slice_buffer_ after
g_core_codegen_interface->grpc_slice_buffer_add() in
GrpcBufferWriter::Next(). As a result, any data the caller writes to the
returned void* data is lost.
The solution is to avoid inlined backup slices.
|
|\ \ \ \
| | | | |
| | | | | |
Add a test verifying number of writes per RPC is reasonable
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
This PR adds a set of debug helpers that are intended for calling only from gdb. They cross abstraction boundaries and allow quickly accessing one thing from another thing.
I expect to grow this library significantly over time to aid debugging tricky problems.
|
| | |\ \ \ \
| |_|/ / / /
|/| | | | | |
|
| | | | | | |
|
| | |\ \ \ \
| |_|/ / / /
|/| | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Add missing files to BUILD
|
| |/ / / /
| | | | |
| | | | |
| | | | |
| | | | | |
Mostly this is code copied from bm_fullstack and rephrased as a test.
I'm resisting the urge to unify it however, as I expect this code will evolve differently over time.
|
| | | |\ \
| |_|_|/ /
|/| | | | |
|
| |\ \ \ \
| |/ / / /
|/| | | | |
|
| | |\ \ \
| |_|/ / /
|/| | | | |
|
| | | | | |
|
| |\ \ \ \ |
|
| | | |\ \ \
| | | |/ / /
| | |/| | | |
|
| | | | |\ \
| | | |_|/ /
| | |/| | | |
|