Fuzz introspector
For issues and ideas: https://github.com/ossf/fuzz-introspector/issues
Report generation date: 2026-04-02

Project overview: brpc

High level conclusions

Reachability and coverage overview

Functions statically reachable by fuzzers
1.0%
153 / 10589
Cyclomatic complexity statically reachable by fuzzers
5.0%
851 / 17222
Runtime code coverage of functions
1.0%
69 / 10589

Fuzzers overview

Fuzzer Fuzzer filename Functions Reached Functions unreached Fuzzer depth Files reached Basic blocks reached Cyclomatic complexity Details
fuzz_butil test/fuzzing/fuzz_butil.cpp 39 10571 7 13 22 9 fuzz_butil.cpp
fuzz_mongo test/fuzzing/fuzz_mongo.cpp 89 10552 37 74 98 80 fuzz_mongo.cpp
fuzz_memcache test/fuzzing/fuzz_memcache.cpp 95 10546 37 71 105 82 fuzz_memcache.cpp
fuzz_esp test/fuzzing/fuzz_esp.cpp 79 10552 37 69 92 74 fuzz_esp.cpp
fuzz_uri test/fuzzing/fuzz_uri.cpp 26 10581 7 7 30 31 fuzz_uri.cpp
fuzz_amf test/fuzzing/fuzz_amf.cpp 69 10554 7 9 153 129 fuzz_amf.cpp
fuzz_streaming test/fuzzing/fuzz_streaming.cpp 97 10547 37 68 108 93 fuzz_streaming.cpp
fuzz_http test/fuzzing/fuzz_http.cpp 45 10561 4 5 67 53 fuzz_http.cpp
fuzz_shead test/fuzzing/fuzz_shead.cpp 79 10552 37 69 94 76 fuzz_shead.cpp
fuzz_json test/fuzzing/fuzz_json.cpp 3 10588 12 21 3 2 fuzz_json.cpp
fuzz_sofa test/fuzzing/fuzz_sofa.cpp 82 10552 37 69 96 78 fuzz_sofa.cpp
fuzz_hpack test/fuzzing/fuzz_hpack.cpp 28 10573 5 7 47 41 fuzz_hpack.cpp
fuzz_hulu test/fuzzing/fuzz_hulu.cpp 83 10552 37 69 96 78 fuzz_hulu.cpp
fuzz_redis test/fuzzing/fuzz_redis.cpp 68 10557 5 11 115 108 fuzz_redis.cpp
fuzz_baidu_rpc test/fuzzing/fuzz_baidu_rpc.cpp 82 10551 37 69 97 78 fuzz_baidu_rpc.cpp
fuzz_couchbase test/fuzzing/fuzz_couchbase.cpp 95 10546 37 72 103 80 fuzz_couchbase.cpp
fuzz_http_parser test/fuzzing/fuzz_http_parser.cpp 35 10561 4 3 430 514 fuzz_http_parser.cpp
test/fuzzing/fuzz_thrift.cpp test/fuzzing/fuzz_thrift.cpp 38 10572 5 6 51 44 fuzz_thrift.cpp

Project functions overview

The following table shows data about each function in the project. The functions included in this table correspond to all functions that exist in the executables of the fuzzers. As such, there may be functions that are from third-party libraries.

For further technical details on the meaning of columns in the below table, please see the Glossary .

Func name Functions filename Args Function call depth Reached by Fuzzers Runtime reached by Fuzzers Combined reached by Fuzzers Fuzzers runtime hit Func lines hit % I Count BB Count Cyclomatic complexity Functions reached Reached by functions Accumulated cyclomatic complexity Undiscovered complexity

Fuzzer details

Fuzzer: fuzz_butil

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 86 93.4%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 6 6.52%
All colors 92 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
56 35 LLVMFuzzerTestOneInput call site: 00035 Update
10 1 LLVMFuzzerTestOneInput call site: 00001 modp_b64_encode_len
8 12 LLVMFuzzerTestOneInput call site: 00012 modp_b64_decode
7 27 LLVMFuzzerTestOneInput call site: 00027 NOTREACHED
5 21 LLVMFuzzerTestOneInput call site: 00021 butil::crc32c::Extend

Runtime coverage analysis

Covered functions
233
Functions that are reachable but not covered
36
Reachable functions
39
Percentage of reachable functions covered
7.69%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_butil.cpp 6
src/butil/base64.cc 8
src/butil/memory/scoped_ptr.h 1
src/butil/crc32c.h 1
src/butil/crc32c.cc 3
src/butil/hash.h 5
src/butil/strings/string_number_conversions.cc 1
src/butil/hash.cc 1
src/butil/sha1_portable.cc 14
example/auto_concurrency_limiter/client.cpp 12
src/butil/time.h 2
src/butil/fast_rand.cpp 8
test/bthread_unittest.cpp 1

Fuzzer: fuzz_mongo

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1049 99.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 0.28%
All colors 1052 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
912 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
34 0 EP call site: 00000 BeforeRecycle

Runtime coverage analysis

Covered functions
270
Functions that are reachable but not covered
88
Reachable functions
89
Percentage of reachable functions covered
1.12%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_mongo.cpp 5
src/butil/iobuf_inl.h 20
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 27
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/mongo_protocol.cpp 14
tools/rpc_press/rpc_press.cpp 3
src/brpc/mongo_head.h 1
src/butil/sys_byteorder.h 1
src/brpc/socket_inl.h 2
test/brpc_mongo_protocol_unittest.cpp 1
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_memcache

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1069 99.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 0.27%
All colors 1072 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
932 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
34 0 EP call site: 00000 BeforeRecycle

Runtime coverage analysis

Covered functions
269
Functions that are reachable but not covered
95
Reachable functions
95
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_memcache.cpp 5
src/butil/iobuf_inl.h 21
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/memcache_binary_protocol.cpp 22
src/butil/sys_byteorder.h 2
src/brpc/socket_inl.h 7
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_esp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1019 99.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 7 0.68%
All colors 1026 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
856 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
29 996 LLVMFuzzerTestOneInput call site: 00996 butil::IOBufCutter::copy_to
25 9 LLVMFuzzerTestOneInput call site: 00009 BeforeRecycle
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
595
Functions that are reachable but not covered
77
Reachable functions
79
Percentage of reachable functions covered
2.53%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_esp.cpp 5
src/butil/iobuf_inl.h 22
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/esp_protocol.cpp 6
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_uri

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 124 95.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 6 4.61%
All colors 130 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
98 31 LLVMFuzzerTestOneInput call site: 00031 brpc::SplitVHostFromApp
26 4 LLVMFuzzerTestOneInput call site: 00004

Runtime coverage analysis

Covered functions
326
Functions that are reachable but not covered
25
Reachable functions
26
Percentage of reachable functions covered
3.85%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_uri.cpp 6
src/brpc/uri.cpp 8
src/brpc/rtmp.cpp 18
src/bvar/detail/combiner.h 2
src/butil/strings/string_piece.h 5
src/butil/strings/string_piece.cc 16
src/butil/string_splitter_inl.h 1

Fuzzer: fuzz_amf

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 140 93.3%
gold [1:9] 0 0.0%
yellow [10:29] 1 0.66%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 9 6.0%
All colors 150 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
127 9 LLVMFuzzerTestOneInput call site: 00009 brpc::SkipAMFObjectBody
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
3 140 LLVMFuzzerTestOneInput call site: 00140 brpc::AMFInputStream::cutn
3 145 LLVMFuzzerTestOneInput call site: 00145 brpc::AMFInputStream::cutn
2 1 LLVMFuzzerTestOneInput call site: 00001
1 138 LLVMFuzzerTestOneInput call site: 00138 brpc::AMFInputStream::cutn

Runtime coverage analysis

Covered functions
466
Functions that are reachable but not covered
68
Reachable functions
69
Percentage of reachable functions covered
1.45%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_amf.cpp 10
src/butil/iobuf_inl.h 5
src/brpc/amf.cpp 32
src/brpc/amf_inl.h 6
src/butil/sys_byteorder.h 2
src/mcpack2pb/parser-inl.h 2
src/brpc/amf.h 1
src/brpc/redis_reply.h 5
src/brpc/redis_reply.cpp 6

Fuzzer: fuzz_streaming

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1064 99.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 0.28%
All colors 1067 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
927 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
34 0 EP call site: 00000 BeforeRecycle

Runtime coverage analysis

Covered functions
269
Functions that are reachable but not covered
97
Reachable functions
97
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_streaming.cpp 5
src/butil/iobuf_inl.h 23
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/streaming_rpc_protocol.cpp 32
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_http

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 32 82.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 7 17.9%
All colors 39 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
21 11 LLVMFuzzerTestOneInput call site: 00011 LOG
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
4 34 LLVMFuzzerTestOneInput call site: 00034 LOG
2 1 LLVMFuzzerTestOneInput call site: 00001
1 9 LLVMFuzzerTestOneInput call site: 00009

Runtime coverage analysis

Covered functions
533
Functions that are reachable but not covered
44
Reachable functions
45
Percentage of reachable functions covered
2.22%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_http.cpp 6
src/butil/iobuf_inl.h 5
src/brpc/details/http_message.cpp 13
src/butil/iobuf.h 2
src/butil/iobuf.cpp 3

Fuzzer: fuzz_shead

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1021 99.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 7 0.68%
All colors 1028 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
856 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
31 996 LLVMFuzzerTestOneInput call site: 00996 butil::IOBufCutter::copy_to
25 9 LLVMFuzzerTestOneInput call site: 00009 BeforeRecycle
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
611
Functions that are reachable but not covered
77
Reachable functions
79
Percentage of reachable functions covered
2.53%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_shead.cpp 5
src/butil/iobuf_inl.h 22
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/nshead_protocol.cpp 6
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_json

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 415 99.5%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 2 0.47%
All colors 417 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
415 1 LLVMFuzzerTestOneInput call site: 00001 json2pb::JsonToProtoMessageInline

Runtime coverage analysis

Covered functions
432
Functions that are reachable but not covered
2
Reachable functions
3
Percentage of reachable functions covered
33.33%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_json.cpp 2
src/json2pb/json_to_pb.cpp 98
src/butil/third_party/rapidjson/document.h 17
src/brpc/amf.cpp 7
src/brpc/amf.h 2
src/butil/third_party/rapidjson/stringbuffer.h 1
test/brpc_http_parser_unittest.cpp 2
src/butil/third_party/rapidjson/writer.h 6
src/butil/third_party/rapidjson/rapidjson.h 1
src/butil/third_party/rapidjson/internal/itoa.h 5
src/butil/strings/string_number_conversions.cc 5
src/butil/string_printf.cpp 11
src/butil/strings/string_util_posix.h 1
src/butil/base64.cc 6
src/butil/memory/scoped_ptr.h 1
src/brpc/redis_reply.h 5
src/brpc/redis_reply.cpp 6
src/butil/version.cc 6
tools/rpc_press/pb_util.cpp 3
src/json2pb/encode_decode.cpp 10
src/json2pb/protobuf_map.cpp 7

Fuzzer: fuzz_sofa

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1028 99.2%
gold [1:9] 2 0.19%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 6 0.57%
All colors 1036 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
896 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
19 9 LLVMFuzzerTestOneInput call site: 00009 Socket::Create
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
4 30 bthread_key_create call site: 00030 BeforeRecycle
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
684
Functions that are reachable but not covered
78
Reachable functions
82
Percentage of reachable functions covered
4.88%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_sofa.cpp 5
src/butil/iobuf_inl.h 23
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/sofa_pbrpc_protocol.cpp 11
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_hpack

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 147 96.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 5 3.28%
All colors 152 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
135 4 LLVMFuzzerTestOneInput call site: 00004 brpc::IndexTable
6 145 LLVMFuzzerTestOneInput call site: 00145 butil::IOBufCutter::pop_front
4 140 LLVMFuzzerTestOneInput call site: 00140 butil::IOBuf::append
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
572
Functions that are reachable but not covered
27
Reachable functions
28
Percentage of reachable functions covered
3.57%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_hpack.cpp 5
src/butil/iobuf_inl.h 6
src/brpc/details/hpack.cpp 28
src/brpc/rtmp.h 1
src/butil/containers/bounded_queue.h 1
src/brpc/details/hpack.h 2
src/butil/iobuf.cpp 3

Fuzzer: fuzz_hulu

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1030 99.1%
gold [1:9] 2 0.19%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 7 0.67%
All colors 1039 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
856 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
42 996 LLVMFuzzerTestOneInput call site: 00996 butil::IOBufCutter::copy_to
19 9 LLVMFuzzerTestOneInput call site: 00009 Socket::Create
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
4 30 bthread_key_create call site: 00030 BeforeRecycle
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
683
Functions that are reachable but not covered
79
Reachable functions
83
Percentage of reachable functions covered
4.82%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_hulu.cpp 5
src/butil/iobuf_inl.h 23
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/hulu_pbrpc_protocol.cpp 12
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_redis

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 112 93.3%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 8 6.66%
All colors 120 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
57 11 LLVMFuzzerTestOneInput call site: 00011 brpc::RedisCommandParser::ConsumeImpl
49 70 LLVMFuzzerTestOneInput call site: 00070 brpc::RedisReply::ConsumePartialIOBuf
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
2 1 LLVMFuzzerTestOneInput call site: 00001

Runtime coverage analysis

Covered functions
457
Functions that are reachable but not covered
67
Reachable functions
68
Percentage of reachable functions covered
1.47%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_redis.cpp 7
src/butil/iobuf_inl.h 5
src/brpc/redis_command.cpp 21
test/iobuf_unittest.cpp 2
src/brpc/details/hpack.cpp 3
src/butil/memory/scoped_ptr.h 1
src/brpc/redis_reply.cpp 17
src/butil/strings/string_number_conversions.cc 1
src/butil/iobuf.h 1
src/butil/iobuf.cpp 6
src/brpc/redis_reply.h 1

Fuzzer: fuzz_baidu_rpc

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1034 99.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 0.28%
All colors 1037 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
897 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
34 0 EP call site: 00000 BeforeRecycle

Runtime coverage analysis

Covered functions
269
Functions that are reachable but not covered
82
Reachable functions
82
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_baidu_rpc.cpp 5
src/butil/iobuf_inl.h 23
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/baidu_rpc_protocol.cpp 11
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_couchbase

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 1064 99.7%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 0.28%
All colors 1067 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
927 139 pthread_mutex_unlock call site: 00139 SymbolizeAndDemangle
103 35 pthread_mutex_lock call site: 00035 butil::push_free_chunk
34 0 EP call site: 00000 BeforeRecycle

Runtime coverage analysis

Covered functions
269
Functions that are reachable but not covered
95
Reachable functions
95
Percentage of reachable functions covered
0.0%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_couchbase.cpp 5
src/butil/iobuf_inl.h 21
test/fuzzing/fuzz_common.h 4
src/brpc/socket.cpp 1
src/brpc/stream.cpp 17
src/bthread/mutex.cpp 34
src/brpc/redis.cpp 2
src/bthread/execution_queue_inl.h 1
src/bthread/key.cpp 2
test/brpc_event_dispatcher_unittest.cpp 5
src/bvar/collector.h 4
src/butil/fast_rand.cpp 8
src/butil/time.h 7
src/bvar/collector.cpp 3
src/butil/atomicops.h 1
src/butil/time.cpp 10
test/iobuf_unittest.cpp 5
src/butil/iobuf.cpp 29
src/butil/iobuf_profiler.cpp 7
src/butil/iobuf_profiler.h 1
src/butil/object_pool_inl.h 40
src/butil/debug/stack_trace_posix.cc 2
src/butil/third_party/symbolize/symbolize.cc 35
src/butil/strings/string_number_conversions.cc 1
src/butil/third_party/symbolize/demangle.cc 62
src/butil/debug/stack_trace.cc 2
test/brpc_http_rpc_protocol_unittest.cpp 15
src/brpc/controller.cpp 7
src/brpc/versioned_ref_with_id.h 18
src/brpc/progressive_attachment.cpp 1
src/butil/memory/scoped_ptr.h 1
test/file_descriptor_shuffle_unittest.cc 2
src/brpc/closure_guard.h 1
test/brpc_socket_unittest.cpp 5
src/bthread/id.cpp 14
src/bvar/detail/combiner.h 2
src/bthread/butex.cpp 32
src/bthread/sys_futex.cpp 8
src/butil/scoped_lock.h 2
tools/rpc_press/rpc_press_impl.cpp 8
src/brpc/redis_reply.h 3
src/butil/containers/linked_list.h 1
src/bthread/timer_thread.cpp 5
src/butil/resource_pool.h 1
src/bthread/task_control.cpp 4
src/bthread/task_group.cpp 25
src/bthread/task_tracer.cpp 3
src/bthread/task_group_inl.h 19
test/bthread_setconcurrency_unittest.cpp 3
test/thread_collision_warner_unittest.cc 1
src/bthread/work_stealing_queue.h 3
src/bthread/task_group.h 3
src/bthread/task_meta.h 1
test/brpc_http_parser_unittest.cpp 1
test/bthread_execution_queue_unittest.cpp 6
test/bthread_butex_unittest.cpp 4
src/bthread/interrupt_pthread.cpp 2
src/bthread/bthread.cpp 3
src/butil/intrusive_ptr.hpp 1
src/butil/thread_local.cpp 6
src/butil/iobuf.h 1
src/brpc/trackme.cpp 14
src/butil/endpoint.cpp 8
src/butil/details/extended_endpoint.hpp 3
src/butil/strings/string_util.h 3
src/butil/strings/string_util_posix.h 1
src/brpc/policy/couchbase_protocol.cpp 20
src/butil/sys_byteorder.h 2
src/brpc/policy/memcache_binary_protocol.cpp 2
src/brpc/socket_inl.h 7
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzzer: fuzz_http_parser

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 174 95.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 9 4.91%
All colors 183 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
160 4 LLVMFuzzerTestOneInput call site: 00004 brpc::parse_url_char
11 169 LLVMFuzzerTestOneInput call site: 00169 brpc::parse_url_char
1 1 LLVMFuzzerTestOneInput call site: 00001
1 167 LLVMFuzzerTestOneInput call site: 00167
1 181 LLVMFuzzerTestOneInput call site: 00181

Runtime coverage analysis

Covered functions
216
Functions that are reachable but not covered
34
Reachable functions
35
Percentage of reachable functions covered
2.86%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_http_parser.cpp 5
src/brpc/details/http_parser.cpp 29
test/brpc_http_parser_unittest.cpp 1

Fuzzer: test/fuzzing/fuzz_thrift.cpp

Call tree

The calltree shows the control flow of the fuzzer. This is overlaid with coverage information to display how much of the potential code a fuzzer can reach is in fact covered at runtime. In the following there is a link to a detailed calltree visualisation as well as a bitmap showing a high-level view of the calltree. For further information about these topics please see the glossary for full calltree and calltree overview

Call tree overview bitmap:

The distribution of callsites in terms of coloring is
Color Runtime hitcount Callsite count Percentage
red 0 40 93.0%
gold [1:9] 0 0.0%
yellow [10:29] 0 0.0%
greenyellow [30:49] 0 0.0%
lawngreen 50+ 3 6.97%
All colors 43 100

Fuzz blockers

The following nodes represent call sites where fuzz blockers occur.

Amount of callsites blocked Calltree index Parent function Callsite Largest blocked function
33 9 LLVMFuzzerTestOneInput call site: 00009 butil::IOBufCutter::copy_to
4 4 LLVMFuzzerTestOneInput call site: 00004 butil::IOBuf::append
3 0 EP call site: 00000 butil::IOBuf::IOBuf

Runtime coverage analysis

Covered functions
1506
Functions that are reachable but not covered
37
Reachable functions
38
Percentage of reachable functions covered
2.63%
NB: The sum of covered functions and functions that are reachable but not covered need not be equal to Reachable functions . This is because the reachability analysis is an approximation and thus at runtime some functions may be covered that are not included in the reachability analysis. This is a limitation of our static analysis capabilities.
Warning: The number of covered functions are larger than the number of reachable functions. This means that there are more functions covered at runtime than are extracted using static analysis. This is likely a result of the static analysis component failing to extract the right call graph or the coverage runtime being compiled with sanitizers in code that the static analysis has not analysed. This can happen if lto/gold is not used in all places that coverage instrumentation is used.
Function name source code lines source lines hit percentage hit

Files reached

filename functions hit
test/fuzzing/fuzz_thrift.cpp 4
src/butil/iobuf_inl.h 8
src/brpc/policy/thrift_protocol.cpp 8
src/butil/iobuf.cpp 7
test/brpc_server_unittest.cpp 4
src/mcpack2pb/parser-inl.h 2

Fuzz engine guidance

This sections provides heuristics that can be used as input to a fuzz engine when running a given fuzz target. The current focus is on providing input that is usable by libFuzzer.

test/fuzzing/fuzz_butil.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_mongo.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock']

test/fuzzing/fuzz_memcache.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock']

test/fuzzing/fuzz_esp.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock', 'LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_uri.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_amf.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_streaming.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock']

test/fuzzing/fuzz_http.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_shead.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock', 'LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_json.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_sofa.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock', 'LLVMFuzzerTestOneInput', 'bthread_key_create']

test/fuzzing/fuzz_hpack.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_hulu.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock', 'LLVMFuzzerTestOneInput', 'bthread_key_create']

test/fuzzing/fuzz_redis.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_baidu_rpc.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock']

test/fuzzing/fuzz_couchbase.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['pthread_mutex_unlock', 'pthread_mutex_lock']

test/fuzzing/fuzz_http_parser.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

test/fuzzing/fuzz_thrift.cpp

Dictionary

Use this with the libFuzzer -dict=DICT.file flag


Fuzzer function priority

Use one of these functions as input to libfuzzer with flag: -focus_function name

-focus_function=['LLVMFuzzerTestOneInput']

Runtime coverage analysis

This section shows analysis of runtime coverage data.

For futher technical details on how this section is generated, please see the Glossary .

Complex functions with low coverage

Func name Function total lines Lines covered at runtime percentage covered Reached by fuzzers
intbthread::internal::pthread_mutex_lock_impl (pthread_mutex_t*,timespecconst*) 44 5 11.36%
intbthread::internal::pthread_mutex_unlock_impl (pthread_mutex_t*) 34 5 14.70%
butil::FlatMap ,std::allocator >,bvar::VarEntry,butil::DefaultHasher ,std::allocator >>,butil::DefaultEqualTo ,std::allocator >>,false,butil::PtAllocator,false>::resize(unsignedlong) 38 13 34.21%
bvar::Variable::expose_impl(butil::BasicStringPiece ,std::allocator >>const&,butil::BasicStringPiece ,std::allocator >>const&,bvar::DisplayFilter) 36 18 50.0%
brpc::VersionedRefWithId ::AddressImpl(unsignedlong,bool,std::unique_ptr >*) 49 13 26.53%
voidbutil::IOBuf::_push_or_move_back_ref_to_smallview (butil::IOBuf::BlockRefconst&) 47 13 27.65%
butil::Status::set_errorv(int,charconst*,__va_list_tag*) 56 28 50.0%
logging::LogStream::FlushWithoutReset() 53 29 54.71%
logging::DefaultLogSink::OnLogMessage(int,charconst*,int,charconst*,butil::BasicStringPiece ,std::allocator >>const&) 34 11 32.35%
google::ParseOperatorName(google::State*) 37 13 35.13%
google::ParseSpecialName(google::State*) 51 22 43.13%
brpc::HttpMessage::on_header_value(brpc::http_parser*,charconst*,unsignedlong) 50 26 52.0%
brpc::HttpMessage::OnBody(charconst*,unsignedlong) 56 14 25.0%
voidbutil::rapidjson::GenericReader ,butil::rapidjson::UTF8 ,butil::rapidjson::CrtAllocator>::ParseString<4u,butil::rapidjson::GenericStringStream >,butil::rapidjson::GenericDocument ,butil::rapidjson::MemoryPoolAllocator ,butil::rapidjson::CrtAllocator>>(butil::rapidjson::GenericStringStream >&,butil::rapidjson::GenericDocument ,butil::rapidjson::MemoryPoolAllocator ,butil::rapidjson::CrtAllocator>&,bool) 31 16 51.61%
json2pb::JsonValueToProtoField(butil::rapidjson::GenericValue ,butil::rapidjson::MemoryPoolAllocator >const&,google::protobuf::FieldDescriptorconst*,google::protobuf::Message*,json2pb::Json2PbOptionsconst&,std::__cxx11::basic_string ,std::allocator >*,int) 167 90 53.89%
butil::FlatMap ::resize(unsignedlong) 38 13 34.21%
butil::FlatMap ,std::allocator >,unsignedlong,butil::CaseIgnoredHasher,butil::CaseIgnoredEqual,false,butil::PtAllocator,false>::resize(unsignedlong) 38 13 34.21%

Files and Directories in report

This section shows which files and directories are considered in this report. The main reason for showing this is fuzz introspector may include more code in the reasoning than is desired. This section helps identify if too many files/directories are included, e.g. third party code, which may be irrelevant for the threat model. In the event too much is included, fuzz introspector supports a configuration file that can exclude data from the report. See the following link for more information on how to create a config file: link

Files in report

Source file Reached by Covered by
/src/brpc/test/ref_counted_unittest.cc [] []
/src/brpc/test/bvar_recorder_unittest.cpp [] []
/src/brpc/src/brpc/closure_guard.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/naming_service_filter.h [] []
/src/brpc/src/brpc/transport.h [] []
/src/brpc/src/bvar/recorder.h [] []
/src/brpc/src/butil/popen.cpp [] []
/src/brpc/src/butil/debug/crash_logging.cc [] []
/src/brpc/tools/rpc_view/rpc_view.cpp [] []
/src/brpc/src/butil/object_pool.h [] []
/src/brpc/test/linked_ptr_unittest.cc [] []
/src/brpc/src/butil/reader_writer.h [] []
/src/brpc/src/bthread/task_tracer.h [] []
/src/brpc/src/butil/intrusive_ptr.hpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/lazy_instance.cc [] []
/src/brpc/src/butil/location.cc [] []
/src/brpc/src/bthread/butex.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/example/thrift_extension_c++/server.cpp [] []
/src/brpc/src/butil/debug/crash_logging.h [] []
/src/brpc/src/bvar/window.h [] []
/src/brpc/src/brpc/policy/nshead_mcpack_protocol.cpp [] []
/src/brpc/src/butil/containers/flat_map.h [] []
/src/brpc/src/bvar/multi_dimension.h [] []
/src/brpc/src/brpc/controller.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase']
/src/brpc/src/butil/cancelable_callback.h [] []
/src/brpc/test/fuzzing/fuzz_http_parser.cpp ['fuzz_http_parser'] ['fuzz_http_parser']
/src/brpc/src/bvar/detail/sampler.h [] []
/src/brpc/src/butil/synchronization/waitable_event_posix.cc [] []
/src/brpc/test/mru_cache_unittest.cc [] []
/src/brpc/src/brpc/details/ssl_helper.cpp [] []
/src/brpc/test/synchronous_event_unittest.cpp [] []
/src/brpc/src/brpc/compress.cpp [] []
/src/brpc/example/auto_concurrency_limiter/server.cpp [] []
/src/brpc/src/brpc/coroutine.h [] []
/src/brpc/src/bvar/collector.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/fuzzing/fuzz_mongo.cpp ['fuzz_mongo'] ['fuzz_mongo']
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.h [] []
/src/brpc/test/brpc_prometheus_metrics_service_unittest.cpp [] []
/src/brpc/src/butil/files/memory_mapped_file_posix.cc [] []
/src/brpc/src/butil/memory/singleton_on_pthread_once.h [] []
/src/brpc/src/brpc/policy/ubrpc2pb_protocol.h [] []
/src/brpc/src/brpc/details/http_parser.cpp ['fuzz_http_parser'] []
/src/brpc/src/brpc/policy/round_robin_load_balancer.cpp [] []
/src/brpc/src/brpc/server_id.h [] []
/src/brpc/src/butil/time/default_tick_clock.h [] []
/src/brpc/src/brpc/details/load_balancer_with_naming.h [] []
/src/brpc/src/butil/ssl_compat.h [] []
/src/brpc/src/brpc/builtin/protobufs_service.cpp [] []
/src/brpc/src/butil/bit_array.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/strfunc.h [] []
/src/brpc/test/scoped_locale.cc [] []
/src/brpc/test/thread_local_storage_unittest.cc [] []
/src/brpc/test/bthread_futex_unittest.cpp [] []
/src/brpc/test/brpc_mongo_protocol_unittest.cpp ['fuzz_mongo'] []
/src/brpc/src/brpc/log.h [] []
/src/brpc/src/brpc/nshead_message.cpp [] []
/src/brpc/src/brpc/nshead_service.h [] []
/src/brpc/src/brpc/channel.h [] []
/src/brpc/src/brpc/http_status_code.cpp [] []
/src/brpc/src/butil/zero_copy_stream_as_streambuf.cpp [] []
/src/brpc/tools/rpc_replay/info_thread.h [] []
/src/brpc/src/bthread/key.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_sofa', 'fuzz_hulu']
/src/brpc/src/brpc/reloadable_flags.h [] []
/src/brpc/src/brpc/cluster_recover_policy.h [] []
/src/brpc/src/butil/third_party/valgrind/valgrind.h [] []
/src/brpc/test/bthread_execution_queue_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/time/time_posix.cc [] []
/src/brpc/src/bthread/execution_queue_inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/fuzzing/fuzz_streaming.cpp ['fuzz_streaming'] []
/src/brpc/src/butil/object_pool_inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/synchronization/waitable_event.h [] []
/src/brpc/test/brpc_extension_unittest.cpp [] []
/src/brpc/src/brpc/builtin/common.cpp [] []
/src/brpc/src/bthread/task_meta.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/threading/thread_id_name_manager.h [] []
/src/brpc/src/brpc/adaptive_max_concurrency.h [] []
/src/brpc/src/butil/mac/foundation_util.h [] []
/src/brpc/src/butil/cpu.h [] []
/src/brpc/src/brpc/policy/weighted_randomized_load_balancer.h [] []
/src/brpc/src/butil/find_cstr.h [] []
/src/brpc/src/butil/files/dir_reader_linux.h [] []
/src/brpc/test/allocator_unittest.cc [] []
/src/brpc/src/butil/containers/flat_map_inl.h [] []
/src/brpc/src/butil/threading/non_thread_safe.h [] []
/src/brpc/src/butil/numerics/safe_conversions.h [] []
/src/brpc/src/butil/containers/mpsc_queue.h [] []
/src/brpc/src/butil/zero_copy_stream_as_streambuf.h [] []
/src/brpc/src/brpc/stream.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/scoped_lock_unittest.cpp [] []
/src/brpc/src/brpc/http_method.cpp [] []
/src/brpc/src/butil/files/scoped_file.cc [] []
/src/brpc/example/cancel_c++/server.cpp [] []
/src/brpc/test/file_util_unittest.cc [] []
/src/brpc/example/nshead_extension_c++/server.cpp [] []
/src/brpc/src/brpc/compress.h [] []
/src/brpc/src/brpc/health_reporter.h [] []
/src/brpc/src/brpc/rtmp.h ['fuzz_hpack'] []
/src/brpc/test/mpsc_queue_unittest.cc [] []
/src/brpc/src/brpc/policy/redis_authenticator.h [] []
/src/brpc/src/butil/third_party/superfasthash/superfasthash.c [] []
/src/brpc/src/brpc/policy/rtmp_protocol.h [] []
/src/brpc/src/brpc/policy/nova_pbrpc_protocol.cpp [] []
/src/brpc/src/brpc/cluster_recover_policy.cpp [] []
/src/brpc/src/brpc/policy/esp_protocol.cpp ['fuzz_esp'] []
/src/brpc/src/brpc/details/load_balancer_with_naming.cpp [] []
/src/brpc/src/butil/file_util_posix.cc [] []
/src/brpc/src/brpc/details/http_parser.h [] []
/src/brpc/src/brpc/policy/nacos_naming_service.cpp [] []
/src/brpc/src/brpc/socket.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/rdma/rdma_endpoint.cpp [] []
/src/brpc/src/butil/fast_rand.h [] []
/src/brpc/src/butil/reloadable_flags.h [] []
/src/brpc/src/butil/files/dir_reader_fallback.h [] []
/src/brpc/src/brpc/protocol.cpp [] []
/src/brpc/test/condition_variable_unittest.cc [] []
/src/brpc/test/brpc_alpn_protocol_unittest.cpp [] []
/src/brpc/test/crash_logging_unittest.cc [] []
/src/brpc/src/brpc/tcp_transport.h [] []
/src/brpc/src/butil/files/memory_mapped_file.cc [] []
/src/brpc/src/brpc/extension.h [] []
/src/brpc/src/butil/third_party/snappy/snappy-stubs-internal.h [] []
/src/brpc/src/butil/time/time_mac.cc [] []
/src/brpc/src/json2pb/encode_decode.cpp ['fuzz_json'] []
/src/brpc/example/nshead_pb_extension_c++/server.cpp [] []
/src/brpc/src/brpc/socket_inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_couchbase'] []
/src/brpc/example/baidu_proxy_and_generic_call/server.cpp [] []
/src/brpc/src/brpc/transport_factory.cpp [] []
/src/brpc/test/lazy_instance_unittest.cc [] []
/src/brpc/src/butil/third_party/rapidjson/internal/diyfp.h [] []
/src/brpc/src/butil/atomicops_internals_x86_gcc.cc [] []
/src/brpc/src/butil/iobuf.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_http', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hpack', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase', 'test/fuzzing/fuzz_thrift.cpp'] []
/src/brpc/src/butil/big_endian.cc [] []
/src/brpc/src/brpc/policy/consul_naming_service.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/stringbuffer.h ['fuzz_json'] []
/src/brpc/src/butil/logging.cc [] []
/src/brpc/src/bvar/passive_status.h [] []
/src/brpc/src/brpc/baidu_master_service.cpp [] []
/src/brpc/test/multiprocess_func_list.h [] []
/src/brpc/src/bvar/latency_recorder.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/encodings.h [] []
/src/brpc/src/bthread/rwlock.h [] []
/src/brpc/src/brpc/adaptive_max_concurrency.cpp [] []
/src/brpc/src/bvar/utils/lock_timer.h [] []
/src/brpc/src/butil/posix/file_descriptor_shuffle.cc [] []
/src/brpc/src/butil/single_iobuf.cpp [] []
/src/brpc/src/bthread/id.h [] []
/src/brpc/example/redis_c++/redis_cluster_client.cpp [] []
/src/brpc/src/brpc/controller.h [] []
/src/brpc/src/bthread/interrupt_pthread.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/bthread/work_stealing_queue.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/stl_util.h [] []
/src/brpc/src/butil/single_threaded_pool.h [] []
/src/brpc/src/butil/third_party/rapidjson/error/en.h [] []
/src/brpc/src/brpc/policy/auto_concurrency_limiter.h [] []
/src/brpc/example/baidu_proxy_and_generic_call/proxy.cpp [] []
/src/brpc/src/brpc/builtin/dir_service.cpp [] []
/src/brpc/src/butil/third_party/murmurhash3/murmurhash3.cpp [] []
/src/brpc/src/brpc/policy/list_naming_service.h [] []
/src/brpc/src/bthread/execution_queue.h [] []
/src/brpc/test/fuzzing/fuzz_memcache.cpp ['fuzz_memcache'] []
/src/brpc/src/butil/strings/latin1_string_conversions.cc [] []
/src/brpc/src/bthread/id.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_esp', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu']
/src/brpc/src/brpc/policy/dh.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/internal/meta.h [] []
/src/brpc/src/brpc/details/http_message.h [] []
/src/brpc/src/brpc/builtin/grpc_health_check_service.cpp [] []
/src/brpc/src/bthread/comlog_initializer.h [] []
/src/brpc/src/brpc/server_id.cpp [] []
/src/brpc/src/brpc/details/hpack.h ['fuzz_hpack'] []
/src/brpc/src/butil/posix/file_descriptor_shuffle.h [] []
/src/brpc/src/brpc/http_header.h [] []
/src/brpc/src/butil/debug/debugger_posix.cc [] []
/src/brpc/example/rpcz_echo_c++/server.cpp [] []
/src/brpc/src/butil/numerics/safe_math.h [] []
/src/brpc/src/brpc/concurrency_limiter.h [] []
/src/brpc/src/butil/synchronization/cancellation_flag.h [] []
/src/brpc/test/lock_unittest.cc [] []
/src/brpc/src/bthread/sys_futex.h [] []
/src/brpc/src/brpc/policy/remote_file_naming_service.cpp [] []
/src/brpc/src/brpc/builtin/threads_service.cpp [] []
/src/brpc/src/brpc/rdma_transport.h [] []
/src/brpc/src/butil/synchronization/cancellation_flag.cc [] []
/src/brpc/test/brpc_http_status_code_unittest.cpp [] []
/src/brpc/src/brpc/rdma/rdma_helper.cpp [] []
/src/brpc/src/butil/third_party/dmg_fp/dtoa_wrapper.cc [] []
/src/brpc/tools/rpc_press/json_loader.cpp [] []
/src/brpc/src/bthread/task_control.h [] []
/src/brpc/src/brpc/grpc.cpp [] []
/src/brpc/src/brpc/policy/memcache_binary_protocol.cpp ['fuzz_memcache', 'fuzz_couchbase'] []
/src/brpc/src/butil/class_name.h [] []
/src/brpc/src/butil/unix_socket.cpp [] []
/src/brpc/src/butil/containers/doubly_buffered_data.h [] []
/src/brpc/src/brpc/policy/couchbase_authenticator.h [] []
/src/brpc/test/fuzzing/fuzz_butil.cpp ['fuzz_butil'] ['fuzz_butil']
/src/brpc/src/butil/string_printf.cpp ['fuzz_json'] []
/src/brpc/src/brpc/details/tcmalloc_extension.cpp [] []
/src/brpc/src/butil/at_exit.h [] []
/src/brpc/test/brpc_controller_unittest.cpp [] []
/src/brpc/src/brpc/builtin/memory_service.cpp [] []
/src/brpc/src/butil/files/scoped_temp_dir.cc [] []
/src/brpc/example/backup_request_c++/server.cpp [] []
/src/brpc/src/brpc/channel_base.h [] []
/src/brpc/src/brpc/protocol.h [] []
/src/brpc/tools/rpc_press/rpc_press_impl.h [] []
/src/brpc/test/gperftools_helper.h [] []
/src/brpc/src/brpc/details/usercode_backup_pool.h [] []
/src/brpc/src/brpc/uri.h [] []
/src/brpc/src/bthread/sys_futex.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/simple_thread_unittest.cc [] []
/src/brpc/example/cascade_echo_c++/server.cpp [] []
/src/brpc/test/brpc_http_rpc_protocol_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/bthread_sched_yield_unittest.cpp [] []
/src/brpc/src/butil/rand_util_posix.cc [] []
/src/brpc/src/butil/file_util.h [] []
/src/brpc/test/bthread_rwlock_unittest.cpp [] []
/src/brpc/src/brpc/progressive_reader.h [] []
/src/brpc/example/dynamic_partition_echo_c++/client.cpp [] []
/src/brpc/src/brpc/thrift_message.cpp [] []
/src/brpc/src/brpc/couchbase.h [] []
/src/brpc/test/brpc_snappy_compress_unittest.cpp [] []
/src/brpc/src/brpc/data_factory.h [] []
/src/brpc/src/brpc/builtin/ids_service.cpp [] []
/src/brpc/src/bvar/latency_recorder.h [] []
/src/brpc/example/streaming_batch_echo_c++/client.cpp [] []
/src/brpc/src/butil/third_party/dmg_fp/g_fmt.cc [] []
/src/brpc/src/butil/third_party/rapidjson/reader.h [] []
/src/brpc/src/brpc/policy/weighted_randomized_load_balancer.cpp [] []
/src/brpc/test/stringprintf_unittest.cc [] []
/src/brpc/src/butil/string_splitter_inl.h ['fuzz_uri'] ['fuzz_uri']
/src/brpc/test/bthread_setconcurrency_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/containers/optional.h [] []
/src/brpc/src/brpc/span.cpp [] []
/src/brpc/src/brpc/tcp_transport.cpp [] []
/src/brpc/test/brpc_memcache_unittest.cpp [] []
/src/brpc/src/brpc/details/naming_service_thread.cpp [] []
/src/brpc/src/bvar/multi_dimension_inl.h [] []
/src/brpc/src/brpc/adaptive_protocol_type.h [] []
/src/brpc/src/butil/strings/string_piece.h ['fuzz_uri'] []
/src/brpc/test/bvar_file_dumper_unittest.cpp [] []
/src/brpc/src/brpc/builtin/common.h [] []
/src/brpc/src/bthread/task_group.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/containers/stack_container.h [] []
/src/brpc/src/brpc/policy/public_pbrpc_protocol.cpp [] []
/src/brpc/src/butil/synchronization/condition_variable_posix.cc [] []
/src/brpc/src/brpc/adaptive_connection_type.cpp [] []
/src/brpc/src/brpc/details/ssl_helper.h [] []
/src/brpc/example/redis_c++/redis_server.cpp [] []
/src/brpc/tools/parallel_http/parallel_http.cpp [] []
/src/brpc/src/brpc/rpc_dump.cpp [] []
/src/brpc/src/butil/threading/platform_thread.h [] []
/src/brpc/src/butil/file_descriptor_posix.h [] []
/src/brpc/src/butil/threading/thread_local_storage_posix.cc [] []
/src/brpc/src/butil/time.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/time/time.h [] []
/src/brpc/src/butil/threading/thread_restrictions.cc [] []
/src/brpc/test/bthread_list_unittest.cpp [] []
/src/brpc/src/brpc/details/jemalloc_profiler.cpp [] []
/src/brpc/test/fuzzing/fuzz_uri.cpp ['fuzz_uri'] ['fuzz_uri']
/src/brpc/test/scoped_vector_unittest.cc [] []
/src/brpc/src/json2pb/pb_to_json.cpp [] []
/src/brpc/test/bthread_timer_thread_unittest.cpp [] []
/src/brpc/src/butil/memory/singleton_objc.h [] []
/src/brpc/src/bvar/variable.cpp [] []
/src/brpc/src/butil/strings/safe_sprintf.cc [] []
/src/brpc/src/brpc/event_dispatcher_epoll.cpp [] []
/src/brpc/src/butil/synchronous_event.h [] []
/src/brpc/src/butil/files/file_enumerator_posix.cc [] []
/src/brpc/test/observer_list_unittest.cc [] []
/src/brpc/src/json2pb/pb_to_json.h [] []
/src/brpc/example/session_data_and_thread_local/server.cpp [] []
/src/brpc/test/string_splitter_unittest.cpp [] []
/src/brpc/test/optional_unittest.cpp [] []
/src/brpc/src/brpc/builtin/get_favicon_service.cpp [] []
/src/brpc/src/mcpack2pb/serializer-inl.h [] []
/src/brpc/src/mcpack2pb/mcpack2pb.h [] []
/src/brpc/src/butil/mac/scoped_cftyperef.h [] []
/src/brpc/src/butil/crc32c.cc ['fuzz_butil'] []
/src/brpc/src/butil/move.h [] []
/src/brpc/src/mcpack2pb/mcpack2pb.cpp [] []
/src/brpc/test/brpc_ssl_unittest.cpp [] []
/src/brpc/test/at_exit_unittest.cc [] []
/src/brpc/src/bthread/bthread_once.cpp [] []
/src/brpc/src/brpc/builtin/sorttable_js.cpp [] []
/src/brpc/src/butil/big_endian.h [] []
/src/brpc/test/bvar_multi_dimension_unittest.cpp [] []
/src/brpc/src/bthread/types.h [] []
/src/brpc/example/couchbase_c++/multithreaded_couchbase_client.cpp [] []
/src/brpc/src/brpc/load_balancer.cpp [] []
/src/brpc/test/bvar_window_unittest.cpp [] []
/src/brpc/src/butil/files/fd_guard.h [] []
/src/brpc/src/brpc/policy/thrift_protocol.cpp ['test/fuzzing/fuzz_thrift.cpp'] []
/src/brpc/test/brpc_esp_protocol_unittest.cpp [] []
/src/brpc/src/brpc/policy/http_rpc_protocol.h [] []
/src/brpc/src/brpc/ts.cpp [] []
/src/brpc/test/bthread_key_unittest.cpp [] []
/src/brpc/src/brpc/parallel_channel.cpp [] []
/src/brpc/test/brpc_block_pool_unittest.cpp [] []
/src/brpc/src/brpc/circuit_breaker.cpp [] []
/src/brpc/src/butil/memory/singleton.cc [] []
/src/brpc/test/logging_unittest.cc [] []
/src/brpc/src/mcpack2pb/serializer.cpp [] []
/src/brpc/src/butil/threading/thread_checker_impl.cc [] []
/src/brpc/src/brpc/policy/hulu_pbrpc_protocol.cpp ['fuzz_hulu'] []
/src/brpc/src/butil/status.cpp [] []
/src/brpc/test/bvar_reducer_unittest.cpp [] []
/src/brpc/src/brpc/redis.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/recordio_unittest.cpp [] []
/src/brpc/src/butil/location.h [] []
/src/brpc/test/stringize_macros_unittest.cc [] []
/src/brpc/src/butil/files/file.h [] []
/src/brpc/test/bvar_percentile_unittest.cpp [] []
/src/brpc/src/brpc/policy/baidu_naming_service.cpp [] []
/src/brpc/src/butil/macros.h [] []
/src/brpc/src/butil/memory/ref_counted.cc [] []
/src/brpc/src/brpc/server.cpp [] []
/src/brpc/src/brpc/builtin/hotspots_service.cpp [] []
/src/brpc/src/brpc/selective_channel.h [] []
/src/brpc/src/brpc/policy/gzip_compress.cpp [] []
/src/brpc/test/brpc_streaming_rpc_unittest.cpp [] []
/src/brpc/src/butil/debug/asan_invalid_access.cc [] []
/src/brpc/src/butil/threading/thread_local.h [] []
/src/brpc/src/brpc/socket_message.h [] []
/src/brpc/src/brpc/policy/redis_authenticator.cpp [] []
/src/brpc/src/brpc/details/hpack.cpp ['fuzz_hpack', 'fuzz_redis'] ['fuzz_hpack']
/src/brpc/src/json2pb/protobuf_type_resolver.cpp [] []
/src/brpc/src/brpc/traceprintf.h [] []
/src/brpc/src/brpc/policy/couchbase_authenticator.cpp [] []
/src/brpc/src/brpc/policy/dynpart_load_balancer.cpp [] []
/src/brpc/src/brpc/details/has_epollrdhup.cpp [] []
/src/brpc/src/butil/crc32c.h ['fuzz_butil'] []
/src/brpc/example/streaming_echo_c++/server.cpp [] []
/src/brpc/src/brpc/builtin/connections_service.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-sinksource.h [] []
/src/brpc/test/thread_key_unittest.cpp [] []
/src/brpc/src/brpc/builtin/pprof_perl.cpp [] []
/src/brpc/example/streaming_batch_echo_c++/server.cpp [] []
/src/brpc/src/butil/status.h [] []
/src/brpc/src/brpc/details/usercode_backup_pool.cpp [] []
/src/brpc/src/butil/threading/watchdog.h [] []
/src/brpc/src/butil/files/temp_file.h [] []
/src/brpc/src/butil/memory/scoped_ptr.h ['fuzz_butil', 'fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/fuzzing/fuzz_couchbase.cpp ['fuzz_couchbase'] []
/src/brpc/example/thrift_extension_c++/native_server.cpp [] []
/src/brpc/src/butil/file_util_linux.cc [] []
/src/brpc/src/butil/class_name.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy.cc [] []
/src/brpc/test/find_cstr_unittest.cpp [] []
/src/brpc/src/brpc/input_messenger.cpp [] []
/src/brpc/src/butil/time/clock.h [] []
/src/brpc/test/resource_pool_unittest.cpp [] []
/src/brpc/src/bvar/detail/percentile.h [] []
/src/brpc/src/butil/memory/weak_ptr.h [] []
/src/brpc/src/bthread/mutex.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase']
/src/brpc/test/test_file_util_linux.cc [] []
/src/brpc/src/json2pb/protobuf_type_resolver.h [] []
/src/brpc/src/brpc/rdma/rdma_endpoint.h [] []
/src/brpc/test/non_thread_safe_unittest.cc [] []
/src/brpc/src/brpc/policy/dh.h [] []
/src/brpc/src/butil/at_exit.cc [] []
/src/brpc/src/brpc/policy/timeout_concurrency_limiter.h [] []
/src/brpc/src/butil/time.h ['fuzz_butil', 'fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/example/coroutine/coroutine_server.cpp [] []
/src/brpc/src/brpc/details/rtmp_utils.h [] []
/src/brpc/src/butil/threading/thread_local_posix.cc [] []
/src/brpc/src/butil/containers/case_ignored_flat_map.h [] []
/src/brpc/test/brpc_repeated_field_unittest.cpp [] []
/src/brpc/src/butil/debug/debugger.cc [] []
/src/brpc/test/cacheline_unittest.cpp [] []
/src/brpc/src/brpc/selective_channel.cpp [] []
/src/brpc/src/butil/strings/string16.h [] []
/src/brpc/src/bthread/task_group_inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/files/file_path.cc [] []
/src/brpc/src/butil/third_party/rapidjson/internal/dtoa.h [] []
/src/brpc/test/brpc_event_dispatcher_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/fuzzing/fuzz_sofa.cpp ['fuzz_sofa'] ['fuzz_sofa']
/src/brpc/test/watchdog_unittest.cc [] []
/src/brpc/tools/rpc_press/json_loader.h [] []
/src/brpc/src/brpc/builtin/bad_method_service.cpp [] []
/src/brpc/src/brpc/policy/giano_authenticator.cpp [] []
/src/brpc/src/brpc/coroutine_inl.h [] []
/src/brpc/src/butil/thread_key.h [] []
/src/brpc/src/bvar/detail/combiner.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_uri', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/details/profiler_linker.h [] []
/src/brpc/src/butil/endpoint.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_esp', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu']
/src/brpc/src/brpc/builtin/tabbed.h [] []
/src/brpc/src/butil/containers/bounded_queue.h ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/brpc/server.h [] []
/src/brpc/src/butil/base64url.cc [] []
/src/brpc/src/brpc/builtin/get_js_service.cpp [] []
/src/brpc/src/butil/version.cc ['fuzz_json'] []
/src/brpc/src/brpc/event_dispatcher.h [] []
/src/brpc/test/safe_numerics_unittest.cc [] []
/src/brpc/src/bthread/task_group.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/compiler_specific.h [] []
/src/brpc/src/butil/threading/thread_collision_warner.h [] []
/src/brpc/src/butil/files/scoped_file.h [] []
/src/brpc/src/butil/third_party/icu/icu_utf.h [] []
/src/brpc/src/butil/strings/string16.cc [] []
/src/brpc/src/brpc/checksum.cpp [] []
/src/brpc/src/brpc/builtin/health_service.cpp [] []
/src/brpc/test/linked_list_unittest.cc [] []
/src/brpc/src/brpc/amf.h ['fuzz_amf', 'fuzz_json'] ['fuzz_amf']
/src/brpc/src/brpc/policy/http2_rpc_protocol.h [] []
/src/brpc/src/butil/mac/scoped_mach_port.h [] []
/src/brpc/src/brpc/destroyable.h [] []
/src/brpc/test/brpc_load_balancer_unittest.cpp [] []
/src/brpc/test/bvar_sampler_unittest.cpp [] []
/src/brpc/test/brpc_channel_unittest.cpp [] []
/src/brpc/src/butil/environment.h [] []
/src/brpc/src/butil/files/file_watcher.h [] []
/src/brpc/src/butil/third_party/rapidjson/memorystream.h [] []
/src/brpc/src/butil/containers/pooled_map.h [] []
/src/brpc/src/brpc/policy/discovery_naming_service.cpp [] []
/src/brpc/src/brpc/parallel_channel.h [] []
/src/brpc/src/butil/memory/scoped_open_process.h [] []
/src/brpc/src/brpc/details/controller_private_accessor.h [] []
/src/brpc/src/butil/endpoint.h [] []
/src/brpc/src/butil/single_iobuf.h [] []
/src/brpc/src/brpc/builtin/sockets_service.cpp [] []
/src/brpc/src/butil/recordio.h [] []
/src/brpc/src/bthread/stack_inl.h [] []
/src/brpc/src/bthread/semaphore.cpp [] []
/src/brpc/src/brpc/policy/ubrpc2pb_protocol.cpp [] []
/src/brpc/src/butil/threading/watchdog.cc [] []
/src/brpc/src/mcpack2pb/serializer.h [] []
/src/brpc/test/brpc_rdma_unittest.cpp [] []
/src/brpc/src/butil/debug/address_annotations.h [] []
/src/brpc/test/bvar_lock_timer_unittest.cpp [] []
/src/brpc/test/fuzzing/fuzz_baidu_rpc.cpp ['fuzz_baidu_rpc'] []
/src/brpc/test/bvar_variable_unittest.cpp [] []
/src/brpc/src/butil/recordio.cc [] []
/src/brpc/src/butil/time/tick_clock.h [] []
/src/brpc/tools/rpc_press/rpc_press_impl.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/synchronization/spin_wait.h [] []
/src/brpc/src/butil/time/time.cc [] []
/src/brpc/src/brpc/rdma_transport.cpp [] []
/src/brpc/test/hash_tables_unittest.cc [] []
/src/brpc/src/brpc/backup_request_policy.cpp [] []
/src/brpc/src/butil/memory/scoped_vector.h [] []
/src/brpc/src/butil/third_party/rapidjson/allocators.h [] []
/src/brpc/example/selective_echo_c++/server.cpp [] []
/src/brpc/src/butil/debug/leak_annotations.h [] []
/src/brpc/src/butil/scoped_generic.h [] []
/src/brpc/src/brpc/retry_policy.h [] []
/src/brpc/src/butil/strings/utf_offset_string_conversions.cc [] []
/src/brpc/test/bthread_work_stealing_queue_unittest.cpp [] []
/src/brpc/example/parallel_echo_c++/server.cpp [] []
/src/brpc/src/brpc/policy/weighted_round_robin_load_balancer.cpp [] []
/src/brpc/src/butil/threading/simple_thread.h [] []
/src/brpc/test/bthread_fd_unittest.cpp [] []
/src/brpc/src/brpc/policy/streaming_rpc_protocol.cpp ['fuzz_streaming'] []
/src/brpc/src/butil/thread_key.cpp [] []
/src/brpc/src/butil/third_party/symbolize/glog/raw_logging.h [] []
/src/brpc/test/brpc_http_message_unittest.cpp [] []
/src/brpc/src/json2pb/zero_copy_stream_reader.h [] []
/src/brpc/test/singleton_unittest.cc [] []
/src/brpc/test/popen_unittest.cpp [] []
/src/brpc/src/brpc/serialized_request.h [] []
/src/brpc/src/brpc/excluded_servers.h [] []
/src/brpc/src/brpc/memcache.h [] []
/src/brpc/src/brpc/details/tcmalloc_extension.h [] []
/src/brpc/test/fuzzing/fuzz_http.cpp ['fuzz_http'] ['fuzz_http']
/src/brpc/src/butil/files/file_enumerator.h [] []
/src/brpc/test/scoped_generic_unittest.cc [] []
/src/brpc/src/butil/strings/utf_string_conversions.cc [] []
/src/brpc/src/bthread/task_tracer.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase']
/src/brpc/src/brpc/details/naming_service_thread.h [] []
/src/brpc/src/butil/containers/mru_cache.h [] []
/src/brpc/src/brpc/redis_cluster.cpp [] []
/src/brpc/src/butil/third_party/dmg_fp/dtoa.cc [] []
/src/brpc/test/security_unittest.cc [] []
/src/brpc/test/atomicops_unittest.cc [] []
/src/brpc/src/butil/fast_rand.cpp ['fuzz_butil', 'fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/fuzzing/fuzz_shead.cpp ['fuzz_shead'] ['fuzz_shead']
/src/brpc/src/butil/third_party/rapidjson/msinttypes/inttypes.h [] []
/src/brpc/src/brpc/policy/list_naming_service.cpp [] []
/src/brpc/src/brpc/policy/nshead_protocol.cpp ['fuzz_shead'] []
/src/brpc/src/brpc/policy/sofa_pbrpc_protocol.cpp ['fuzz_sofa'] []
/src/brpc/src/butil/threading/platform_thread_freebsd.cc [] []
/src/brpc/test/scoped_ptr_unittest.cc [] []
/src/brpc/test/bthread_ping_pong_unittest.cpp [] []
/src/brpc/src/brpc/restful.cpp [] []
/src/brpc/src/butil/lazy_instance.h [] []
/src/brpc/src/butil/sha1_portable.cc ['fuzz_butil'] []
/src/brpc/src/brpc/policy/consistent_hashing_load_balancer.cpp [] []
/src/brpc/src/butil/containers/scoped_ptr_hash_map.h [] []
/src/brpc/test/bthread_cond_bug_unittest.cpp [] []
/src/brpc/test/stack_container_unittest.cc [] []
/src/brpc/tools/rpc_replay/info_thread.cpp [] []
/src/brpc/src/butil/observer_list.h [] []
/src/brpc/src/bvar/gflag.h [] []
/src/brpc/test/brpc_rtmp_unittest.cpp [] []
/src/brpc/src/brpc/nonreflectable_message.h [] []
/src/brpc/src/brpc/couchbase.cpp [] []
/src/brpc/src/butil/memory/ref_counted_memory.cc [] []
/src/brpc/test/baidu_thread_local_unittest.cpp [] []
/src/brpc/src/brpc/partition_channel.h [] []
/src/brpc/src/brpc/builtin/list_service.cpp [] []
/src/brpc/src/brpc/policy/redis_protocol.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/encodedstream.h [] []
/src/brpc/src/butil/strings/utf_string_conversion_utils.h [] []
/src/brpc/test/brpc_prometheus_metrics_unittest.cpp [] []
/src/brpc/src/brpc/partition_channel.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-stubs-internal.cc [] []
/src/brpc/src/bthread/prime_offset.h [] []
/src/brpc/src/butil/sys_byteorder.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_amf', 'fuzz_couchbase'] []
/src/brpc/src/brpc/details/http_message.cpp ['fuzz_http'] ['fuzz_http']
/src/brpc/src/brpc/details/method_status.h [] []
/src/brpc/src/brpc/memcache.cpp [] []
/src/brpc/src/butil/auto_reset.h [] []
/src/brpc/test/callback_unittest.cc [] []
/src/brpc/src/butil/debug/stack_trace.h [] []
/src/brpc/test/file_path_unittest.cc [] []
/src/brpc/src/brpc/rpc_dump.h [] []
/src/brpc/src/butil/binary_printer.h [] []
/src/brpc/src/butil/bits.h [] []
/src/brpc/test/bits_unittest.cc [] []
/src/brpc/src/bvar/detail/call_op_returning_void.h [] []
/src/brpc/test/brpc_redis_unittest.cpp [] []
/src/brpc/src/brpc/policy/hulu_pbrpc_controller.h [] []
/src/brpc/test/crc32c_unittest.cc [] []
/src/brpc/src/brpc/uri.cpp ['fuzz_uri'] ['fuzz_uri']
/src/brpc/src/brpc/interceptor.h [] []
/src/brpc/src/bvar/gflag.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-internal.h [] []
/src/brpc/src/brpc/policy/esp_authenticator.cpp [] []
/src/brpc/src/butil/third_party/snappy/snappy-sinksource.cc [] []
/src/brpc/src/butil/containers/hash_tables.h [] []
/src/brpc/test/abalist_unittest.cc [] []
/src/brpc/src/brpc/policy/constant_concurrency_limiter.cpp [] []
/src/brpc/src/brpc/details/sparse_minute_counter.h [] []
/src/brpc/src/brpc/restful.h [] []
/src/brpc/test/callback_list_unittest.cc [] []
/src/brpc/test/string_split_unittest.cc [] []
/src/brpc/src/brpc/mongo_head.h ['fuzz_mongo'] []
/src/brpc/test/brpc_input_messenger_unittest.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/internal/stack.h [] []
/src/brpc/example/auto_concurrency_limiter/client.cpp ['fuzz_butil'] []
/src/brpc/test/brpc_circuit_breaker_unittest.cpp [] []
/src/brpc/src/brpc/adaptive_connection_type.h [] []
/src/brpc/src/bvar/detail/agent_group.h [] []
/src/brpc/tools/rpc_press/pb_util.cpp ['fuzz_json'] []
/src/brpc/src/bvar/scoped_timer.h [] []
/src/brpc/src/butil/files/file_posix.cc [] []
/src/brpc/src/butil/version.h [] []
/src/brpc/src/brpc/ssl_options.cpp [] []
/src/brpc/tools/trackme_server/trackme_server.cpp [] []
/src/brpc/src/butil/atomic_ref_count.h [] []
/src/brpc/test/brpc_proto_unittest.cpp [] []
/src/brpc/src/json2pb/protobuf_map.cpp ['fuzz_json'] []
/src/brpc/test/stack_trace_unittest.cc [] []
/src/brpc/src/brpc/redis.h [] []
/src/brpc/src/json2pb/zero_copy_stream_writer.h [] []
/src/brpc/src/bthread/stack.cpp [] []
/src/brpc/src/butil/threading/simple_thread.cc [] []
/src/brpc/test/bthread_semaphore_unittest.cpp [] []
/src/brpc/src/butil/containers/small_map.h [] []
/src/brpc/test/fuzzing/fuzz_hulu.cpp ['fuzz_hulu'] ['fuzz_hulu']
/src/brpc/src/butil/threading/non_thread_safe_impl.h [] []
/src/brpc/src/brpc/callback.h [] []
/src/brpc/test/brpc_sofa_pbrpc_protocol_unittest.cpp [] []
/src/brpc/src/brpc/socket_map.cpp [] []
/src/brpc/src/brpc/policy/timeout_concurrency_limiter.cpp [] []
/src/brpc/src/brpc/details/health_check.cpp [] []
/src/brpc/src/brpc/span.h [] []
/src/brpc/src/butil/threading/thread_collision_warner.cc [] []
/src/brpc/test/fuzzing/fuzz_amf.cpp ['fuzz_amf'] ['fuzz_amf']
/src/brpc/src/brpc/stream_impl.h [] []
/src/brpc/src/butil/hash.cc ['fuzz_butil'] []
/src/brpc/test/temp_file_unittest.cpp [] []
/src/brpc/src/butil/hash.h ['fuzz_butil'] []
/src/brpc/src/brpc/nshead_service.cpp [] []
/src/brpc/src/brpc/policy/auto_concurrency_limiter.cpp [] []
/src/brpc/src/butil/third_party/modp_b64/modp_b64.h [] []
/src/brpc/test/fd_guard_unittest.cpp [] []
/src/brpc/src/butil/mac/scoped_typeref.h [] []
/src/brpc/src/brpc/event_dispatcher.cpp [] []
/src/brpc/tools/rpc_press/rpc_press.cpp ['fuzz_mongo'] []
/src/brpc/src/butil/memory/manual_constructor.h [] []
/src/brpc/test/iobuf_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/threading/thread_checker_impl.h [] []
/src/brpc/test/brpc_builtin_service_unittest.cpp [] []
/src/brpc/src/butil/cpu.cc [] []
/src/brpc/tools/rpc_replay/rpc_replay.cpp [] []
/src/brpc/src/butil/posix/global_descriptors.h [] []
/src/brpc/src/bvar/collector.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/builtin/flot_min_js.cpp [] []
/src/brpc/src/brpc/rtmp.cpp ['fuzz_uri'] ['fuzz_uri']
/src/brpc/test/callback_helpers_unittest.cc [] []
/src/brpc/src/brpc/policy/baidu_rpc_protocol.cpp ['fuzz_baidu_rpc'] []
/src/brpc/test/thread_checker_unittest.cc [] []
/src/brpc/test/file_descriptor_shuffle_unittest.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/scoped_observer.h [] []
/src/brpc/src/butil/threading/thread_restrictions.h [] []
/src/brpc/src/butil/strings/sys_string_conversions_posix.cc [] []
/src/brpc/src/butil/iobuf.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_http', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_esp', 'fuzz_http', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis']
/src/brpc/src/butil/third_party/symbolize/symbolize.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/threading/thread_id_name_manager.cc [] []
/src/brpc/example/grpc_c++/server.cpp [] []
/src/brpc/src/bvar/detail/percentile.cpp [] []
/src/brpc/test/brpc_http_parser_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase', 'fuzz_http_parser'] []
/src/brpc/src/butil/errno.cpp [] []
/src/brpc/src/bthread/condition_variable.h [] []
/src/brpc/src/butil/process_util.cc [] []
/src/brpc/test/brpc_redis_cluster_unittest.cpp [] []
/src/brpc/src/butil/third_party/dynamic_annotations/dynamic_annotations.c [] []
/src/brpc/src/brpc/describable.h [] []
/src/brpc/src/brpc/versioned_ref_with_id.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/details/mesalink_ssl_helper.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/optimized_writer.h [] []
/src/brpc/src/brpc/circuit_breaker.h [] []
/src/brpc/src/brpc/builtin/vars_service.cpp [] []
/src/brpc/src/brpc/rpc_pb_message_factory.h [] []
/src/brpc/src/butil/iobuf_profiler.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/builtin/index_service.cpp [] []
/src/brpc/src/butil/atomicops_internals_arm_gcc.h [] []
/src/brpc/test/bthread_unittest.cpp ['fuzz_butil'] []
/src/brpc/test/bthread_butex_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/naming_service.h [] []
/src/brpc/src/bthread/timer_thread.h [] []
/src/brpc/src/brpc/backup_request_policy.h [] []
/src/brpc/src/butil/memory/aligned_memory.cc [] []
/src/brpc/src/butil/threading/thread_checker.h [] []
/src/brpc/example/rdma_performance/client.cpp [] []
/src/brpc/src/bthread/singleton_on_bthread_once.h [] []
/src/brpc/src/butil/guid.cc [] []
/src/brpc/src/bthread/stack.h [] []
/src/brpc/test/leak_tracker_unittest.cc [] []
/src/brpc/src/butil/memory/linked_ptr.h [] []
/src/brpc/test/safe_sprintf_unittest.cc [] []
/src/brpc/src/brpc/amf_inl.h ['fuzz_amf'] []
/src/brpc/src/brpc/serialized_response.cpp [] []
/src/brpc/src/brpc/policy/file_naming_service.cpp [] []
/src/brpc/example/http_c++/benchmark_http.cpp [] []
/src/brpc/src/brpc/policy/couchbase_protocol.cpp ['fuzz_couchbase'] []
/src/brpc/src/butil/gtest_prod_util.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/pow10.h [] []
/src/brpc/src/brpc/serialized_request.cpp [] []
/src/brpc/src/brpc/builtin/bthreads_service.cpp [] []
/src/brpc/src/butil/strings/string_tokenizer.h [] []
/src/brpc/src/butil/files/scoped_temp_dir.h [] []
/src/brpc/src/butil/time/clock.cc [] []
/src/brpc/src/butil/debug/stack_trace.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/string_piece_unittest.cc [] []
/src/brpc/src/butil/third_party/murmurhash3/murmurhash3.h [] []
/src/brpc/test/time_unittest.cc [] []
/src/brpc/src/brpc/extension_inl.h [] []
/src/brpc/src/butil/iobuf_profiler.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/arena.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/biginteger.h [] []
/src/brpc/test/class_name_unittest.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/rapidjson.h ['fuzz_json'] []
/src/brpc/src/butil/posix/global_descriptors.cc [] []
/src/brpc/src/butil/files/file.cc [] []
/src/brpc/src/bthread/list_of_abafree_id.h [] []
/src/brpc/src/mcpack2pb/parser.cpp [] []
/src/brpc/test/unique_ptr_unittest.cpp [] []
/src/brpc/test/fuzzing/fuzz_json.cpp ['fuzz_json'] ['fuzz_json']
/src/brpc/test/thread_collision_warner_unittest.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/json2pb/json_to_pb.cpp ['fuzz_json'] []
/src/brpc/test/fuzzing/fuzz_thrift.cpp ['test/fuzzing/fuzz_thrift.cpp'] ['test/fuzzing/fuzz_thrift.cpp']
/src/brpc/src/butil/shared_object.h [] []
/src/brpc/test/bvar_agent_group_unittest.cpp [] []
/src/brpc/src/bvar/detail/sampler.cpp [] []
/src/brpc/src/butil/strings/string_piece.cc ['fuzz_uri'] []
/src/brpc/test/fuzzing/fuzz_esp.cpp ['fuzz_esp'] ['fuzz_esp']
/src/brpc/src/butil/threading/thread_local_storage.h [] []
/src/brpc/test/shared_memory_unittest.cc [] []
/src/brpc/src/butil/compat.h [] []
/src/brpc/example/asynchronous_echo_c++/server.cpp [] []
/src/brpc/src/butil/logging.h [] []
/src/brpc/src/butil/float_util.h [] []
/src/brpc/src/bthread/processor.h [] []
/src/brpc/src/butil/string_splitter.h [] []
/src/brpc/src/brpc/policy/locality_aware_load_balancer.cpp [] []
/src/brpc/src/butil/memory/weak_ptr.cc [] []
/src/brpc/src/brpc/periodic_naming_service.cpp [] []
/src/brpc/test/endpoint_unittest.cpp [] []
/src/brpc/src/butil/debug/dump_without_crashing.cc [] []
/src/brpc/src/brpc/socket_map.h [] []
/src/brpc/test/brpc_auto_concurrency_limiter_unittest.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/pointer.h [] []
/src/brpc/src/brpc/policy/round_robin_load_balancer.h [] []
/src/brpc/src/butil/thread_local_inl.h [] []
/src/brpc/test/brpc_coroutine_unittest.cpp [] []
/src/brpc/src/butil/raw_pack.h [] []
/src/brpc/src/brpc/channel.cpp [] []
/src/brpc/src/butil/arena.cpp [] []
/src/brpc/src/brpc/simple_data_pool.cpp [] []
/src/brpc/src/bvar/variable.h [] []
/src/brpc/src/butil/strings/string_split.cc [] []
/src/brpc/src/bvar/mvariable.h [] []
/src/brpc/src/butil/files/file_watcher.cpp [] []
/src/brpc/src/butil/atomicops.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/esp_message.cpp [] []
/src/brpc/test/brpc_socket_map_unittest.cpp [] []
/src/brpc/test/bthread_dispatcher_unittest.cpp [] []
/src/brpc/example/bthread_tag_echo_c++/server.cpp [] []
/src/brpc/src/butil/debug/leak_tracker.h [] []
/src/brpc/src/butil/third_party/rapidjson/internal/strtod.h [] []
/src/brpc/src/brpc/policy/domain_naming_service.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/document.h ['fuzz_json'] ['fuzz_json']
/src/brpc/test/brpc_public_pbrpc_protocol_unittest.cpp [] []
/src/brpc/src/butil/unique_ptr.h [] []
/src/brpc/src/brpc/rdma/block_pool.cpp [] []
/src/brpc/src/butil/errno.h [] []
/src/brpc/example/rdma_performance/server.cpp [] []
/src/brpc/src/brpc/nshead_pb_service_adaptor.h [] []
/src/brpc/src/butil/strings/nullable_string16.cc [] []
/src/brpc/src/bthread/task_control.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/policy/rtmp_protocol.cpp [] []
/src/brpc/test/brpc_nova_pbrpc_protocol_unittest.cpp [] []
/src/brpc/src/brpc/policy/crc32c_checksum.cpp [] []
/src/brpc/src/bthread/execution_queue.cpp [] []
/src/brpc/src/butil/strings/safe_sprintf.h [] []
/src/brpc/src/butil/strings/string_util.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/third_party/rapidjson/msinttypes/stdint.h [] []
/src/brpc/src/bthread/butex.h [] []
/src/brpc/src/brpc/serialized_response.h [] []
/src/brpc/src/bthread/fd.cpp [] []
/src/brpc/src/brpc/builtin/rpcz_service.cpp [] []
/src/brpc/src/butil/strings/utf_offset_string_conversions.h [] []
/src/brpc/example/cancel_c++/client.cpp [] []
/src/brpc/example/http_c++/http_server.cpp [] []
/src/brpc/src/bthread/timer_thread.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/memory_unittest.cc [] []
/src/brpc/src/brpc/global.cpp [] []
/src/brpc/src/butil/fd_guard.h [] []
/src/brpc/src/mcpack2pb/field_type.h [] []
/src/brpc/test/thread_local_unittest.cc [] []
/src/brpc/test/status_unittest.cpp [] []
/src/brpc/src/butil/containers/linked_list.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/example/echo_c++/server.cpp [] []
/src/brpc/src/butil/scoped_clear_errno.h [] []
/src/brpc/test/object_pool_unittest.cpp [] []
/src/brpc/src/brpc/policy/consistent_hashing_load_balancer.h [] []
/src/brpc/src/butil/synchronization/condition_variable.h [] []
/src/brpc/src/butil/memory/singleton.h [] []
/src/brpc/src/bthread/condition_variable.cpp [] []
/src/brpc/src/brpc/socket.h [] []
/src/brpc/src/butil/thread_local.h [] []
/src/brpc/test/string_printf_unittest.cpp [] []
/src/brpc/src/brpc/builtin/pprof_service.cpp [] []
/src/brpc/test/brpc_hulu_pbrpc_protocol_unittest.cpp [] []
/src/brpc/src/brpc/builtin/flags_service.cpp [] []
/src/brpc/src/butil/memory/ref_counted.h [] []
/src/brpc/src/brpc/builtin/viz_min_js.cpp [] []
/src/brpc/src/butil/port.h [] []
/src/brpc/src/butil/comlog_sink.cc [] []
/src/brpc/src/butil/thread_local.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/stream_creator.h [] []
/src/brpc/src/brpc/ts.h [] []
/src/brpc/src/brpc/acceptor.cpp [] []
/src/brpc/src/brpc/server_node.h [] []
/src/brpc/test/brpc_interceptor_unittest.cpp [] []
/src/brpc/src/butil/strings/string_number_conversions.cc ['fuzz_butil', 'fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/bthread/rwlock.cpp [] []
/src/brpc/src/brpc/policy/locality_aware_load_balancer.h [] []
/src/brpc/src/brpc/parse_result.h [] []
/src/brpc/src/bthread/parking_lot.h [] []
/src/brpc/src/brpc/builtin/jquery_min_js.cpp [] []
/src/brpc/src/brpc/esp_message.h [] []
/src/brpc/test/bthread_butex_multi_tag_unittest.cpp [] []
/src/brpc/src/butil/time/default_clock.h [] []
/src/brpc/src/butil/threading/non_thread_safe_impl.cc [] []
/src/brpc/src/brpc/builtin/status_service.cpp [] []
/src/brpc/src/butil/safe_strerror_posix.cc [] []
/src/brpc/test/brpc_naming_service_unittest.cpp [] []
/src/brpc/src/butil/strings/stringize_macros.h [] []
/src/brpc/src/butil/files/file_path.h [] []
/src/brpc/src/bvar/reducer.h [] []
/src/brpc/src/brpc/retry_policy.cpp [] []
/src/brpc/src/brpc/details/method_status.cpp [] []
/src/brpc/src/bvar/status.h [] []
/src/brpc/src/brpc/builtin/list_service.h [] []
/src/brpc/test/bthread_once_unittest.cpp [] []
/src/brpc/src/brpc/kvmap.h [] []
/src/brpc/src/butil/strings/stringprintf.cc [] []
/src/brpc/test/string_util_unittest.cc [] []
/src/brpc/src/brpc/policy/randomized_load_balancer.cpp [] []
/src/brpc/src/butil/debug/alias.cc [] []
/src/brpc/src/butil/files/dir_reader_unix.h [] []
/src/brpc/src/butil/strings/string_util.cc [] []
/src/brpc/test/cancelable_callback_unittest.cc [] []
/src/brpc/src/brpc/periodic_task.cpp [] []
/src/brpc/src/brpc/input_messenger.h [] []
/src/brpc/src/brpc/baidu_master_service.h [] []
/src/brpc/src/brpc/redis_reply.cpp ['fuzz_amf', 'fuzz_json', 'fuzz_redis'] []
/src/brpc/src/butil/third_party/rapidjson/writer.h ['fuzz_json'] []
/src/brpc/test/platform_thread_unittest.cc [] []
/src/brpc/src/butil/iobuf_inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_amf', 'fuzz_streaming', 'fuzz_http', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hpack', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase', 'test/fuzzing/fuzz_thrift.cpp'] ['fuzz_esp', 'fuzz_http', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hpack', 'fuzz_hulu', 'fuzz_redis', 'test/fuzzing/fuzz_thrift.cpp']
/src/brpc/src/butil/strings/nullable_string16.h [] []
/src/brpc/src/butil/memory/ref_counted_memory.h [] []
/src/brpc/src/brpc/nshead_pb_service_adaptor.cpp [] []
/src/brpc/src/brpc/http_header.cpp [] []
/src/brpc/src/brpc/builtin/version_service.h [] []
/src/brpc/example/thrift_extension_c++/server2.cpp [] []
/src/brpc/src/brpc/reloadable_flags.cpp [] []
/src/brpc/src/brpc/nshead_message.h [] []
/src/brpc/src/brpc/details/rtmp_utils.cpp [] []
/src/brpc/src/bthread/mutex.h [] []
/src/brpc/src/bvar/vector.h [] []
/src/brpc/src/butil/synchronization/lock.h [] []
/src/brpc/src/bvar/default_variables.cpp [] []
/src/brpc/src/butil/details/extended_endpoint.hpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/policy/snappy_compress.cpp [] []
/src/brpc/src/brpc/socket_id.h [] []
/src/brpc/test/fuzzing/fuzz_common.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/stream.h [] []
/src/brpc/src/brpc/rpc_pb_message_factory.cpp [] []
/src/brpc/src/mcpack2pb/parser-inl.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_amf', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase', 'test/fuzzing/fuzz_thrift.cpp'] ['test/fuzzing/fuzz_thrift.cpp']
/src/brpc/test/bthread_mutex_unittest.cpp [] []
/src/brpc/test/brpc_socket_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/brpc_server_unittest.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase', 'test/fuzzing/fuzz_thrift.cpp'] []
/src/brpc/src/bthread/countdown_event.cpp [] []
/src/brpc/test/small_map_unittest.cc [] []
/src/brpc/src/butil/third_party/symbolize/demangle.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/errno_unittest.cpp [] []
/src/brpc/src/brpc/details/server_private_accessor.h [] []
/src/brpc/src/butil/atomic_sequence_num.h [] []
/src/brpc/example/redis_c++/redis_cli.cpp [] []
/src/brpc/src/mcpack2pb/parser.h [] []
/src/brpc/src/brpc/mongo_service_adaptor.h [] []
/src/brpc/src/butil/atomicops_internals_tsan.h [] []
/src/brpc/src/butil/third_party/rapidjson/filereadstream.h [] []
/src/brpc/src/brpc/load_balancer.h [] []
/src/brpc/src/bthread/remote_task_queue.h [] []
/src/brpc/src/butil/atomicops_internals_arm64_gcc.h [] []
/src/brpc/test/weak_ptr_unittest.cc [] []
/src/brpc/test/flat_map_unittest.cpp [] []
/src/brpc/src/butil/scoped_lock.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase']
/src/brpc/src/brpc/builtin/vlog_service.cpp [] []
/src/brpc/src/butil/guid_posix.cc [] []
/src/brpc/src/butil/comlog_sink.h [] []
/src/brpc/src/butil/base64.cc ['fuzz_butil', 'fuzz_json'] []
/src/brpc/src/brpc/policy/http2_rpc_protocol.cpp [] []
/src/brpc/src/butil/third_party/rapidjson/internal/itoa.h ['fuzz_json'] []
/src/brpc/src/butil/files/file_enumerator.cc [] []
/src/brpc/src/butil/posix/eintr_wrapper.h [] []
/src/brpc/src/brpc/builtin/version_service.cpp [] []
/src/brpc/src/brpc/redis_reply.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_amf', 'fuzz_streaming', 'fuzz_shead', 'fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_redis', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/thrift_message.h [] []
/src/brpc/src/butil/third_party/rapidjson/prettywriter.h [] []
/src/brpc/src/brpc/http2.cpp [] []
/src/brpc/src/butil/rand_util.cc [] []
/src/brpc/src/bthread/errno.cpp [] []
/src/brpc/src/brpc/policy/hasher.cpp [] []
/src/brpc/test/brpc_grpc_protocol_unittest.cpp [] []
/src/brpc/src/butil/fd_utility.cpp [] []
/src/brpc/test/fuzzing/fuzz_hpack.cpp ['fuzz_hpack'] ['fuzz_hpack']
/src/brpc/src/brpc/amf.cpp ['fuzz_amf', 'fuzz_json'] []
/src/brpc/src/butil/third_party/rapidjson/error/error.h [] []
/src/brpc/src/butil/third_party/rapidjson/filewritestream.h [] []
/src/brpc/src/butil/binary_printer.cpp [] []
/src/brpc/src/butil/files/memory_mapped_file.h [] []
/src/brpc/src/bthread/bthread.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] ['fuzz_esp', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu']
/src/brpc/src/butil/atomicops_internals_x86_gcc.h [] []
/src/brpc/src/butil/threading/platform_thread_posix.cc [] []
/src/brpc/src/butil/third_party/rapidjson/internal/ieee754.h [] []
/src/brpc/src/butil/mac/scoped_mach_port.cc [] []
/src/brpc/src/brpc/redis_command.cpp ['fuzz_redis'] []
/src/brpc/src/butil/resource_pool_inl.h [] []
/src/brpc/src/butil/memory/aligned_memory.h [] []
/src/brpc/src/bvar/detail/series.h [] []
/src/brpc/src/brpc/policy/most_common_message.h [] []
/src/brpc/src/butil/time/default_clock.cc [] []
/src/brpc/src/brpc/trackme.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/brpc_protobuf_json_unittest.cpp [] []
/src/brpc/src/butil/strings/string_util_posix.h ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_json', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/butil/memory/scope_guard.h [] []
/src/brpc/test/bthread_cond_unittest.cpp [] []
/src/brpc/test/file_watcher_unittest.cpp [] []
/src/brpc/test/waitable_event_unittest.cc [] []
/src/brpc/src/butil/numerics/safe_conversions_impl.h [] []
/src/brpc/src/brpc/input_message_base.h [] []
/src/brpc/src/brpc/thrift_service.cpp [] []
/src/brpc/test/fuzzing/fuzz_redis.cpp ['fuzz_redis'] ['fuzz_redis']
/src/brpc/src/butil/time/tick_clock.cc [] []
/src/brpc/src/brpc/builtin/prometheus_metrics_service.cpp [] []
/src/brpc/src/butil/debug/stack_trace_posix.cc ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/src/brpc/authenticator.h [] []
/src/brpc/src/mcpack2pb/generator.cpp [] []
/src/brpc/src/brpc/policy/weighted_round_robin_load_balancer.h [] []
/src/brpc/src/butil/numerics/safe_math_impl.h [] []
/src/brpc/test/bvar_status_unittest.cpp [] []
/src/brpc/src/bvar/mvariable.cpp [] []
/src/brpc/src/brpc/acceptor.h [] []
/src/brpc/src/butil/environment.cc [] []
/src/brpc/src/butil/third_party/rapidjson/memorybuffer.h [] []
/src/brpc/example/couchbase_c++/couchbase_client.cpp [] []
/src/brpc/src/butil/third_party/icu/icu_utf.cc [] []
/src/brpc/src/butil/file_util.cc [] []
/src/brpc/src/butil/files/temp_file.cpp [] []
/src/brpc/src/butil/debug/proc_maps_linux.cc [] []
/src/brpc/src/brpc/policy/mongo_protocol.cpp ['fuzz_mongo'] []
/src/brpc/src/butil/strings/utf_string_conversion_utils.cc [] []
/src/brpc/src/brpc/policy/http_rpc_protocol.cpp [] []
/src/brpc/test/stl_util_unittest.cc [] []
/src/brpc/src/brpc/progressive_attachment.cpp ['fuzz_mongo', 'fuzz_memcache', 'fuzz_esp', 'fuzz_streaming', 'fuzz_shead', 'fuzz_sofa', 'fuzz_hulu', 'fuzz_baidu_rpc', 'fuzz_couchbase'] []
/src/brpc/test/bvar_mvariable_unittest.cpp [] []
/src/brpc/src/butil/third_party/symbolize/symbolize.h [] []
/src/brpc/test/brpc_naming_service_filter_unittest.cpp [] []
/src/brpc/src/butil/threading/thread_local_storage.cc [] []
/src/brpc/src/butil/time/default_tick_clock.cc [] []
/src/brpc/test/bthread_id_unittest.cpp [] []
/src/brpc/src/butil/ptr_container.h [] []

Directories in report

Directory
/src/brpc/src/brpc/details/
/src/brpc/tools/rpc_replay/
/src/brpc/tools/trackme_server/
/src/brpc/src/butil/containers/
/src/brpc/example/rdma_performance/
/src/brpc/tools/rpc_press/
/src/brpc/src/bvar/utils/
/src/brpc/src/butil/third_party/snappy/
/src/brpc/example/coroutine/
/src/brpc/src/butil/
/src/brpc/src/butil/synchronization/
/src/brpc/src/bvar/
/src/brpc/src/json2pb/
/src/brpc/example/session_data_and_thread_local/
/src/brpc/src/butil/strings/
/src/brpc/example/rpcz_echo_c++/
/src/brpc/src/butil/third_party/valgrind/
/src/brpc/example/backup_request_c++/
/src/brpc/example/couchbase_c++/
/src/brpc/src/butil/third_party/modp_b64/
/src/brpc/src/butil/debug/
/src/brpc/src/butil/time/
/src/brpc/example/baidu_proxy_and_generic_call/
/src/brpc/src/brpc/
/src/brpc/src/butil/third_party/icu/
/src/brpc/src/butil/third_party/rapidjson/error/
/src/brpc/src/butil/third_party/symbolize/glog/
/src/brpc/src/bvar/detail/
/src/brpc/example/selective_echo_c++/
/src/brpc/tools/rpc_view/
/src/brpc/test/
/src/brpc/src/mcpack2pb/
/src/brpc/src/butil/third_party/murmurhash3/
/src/brpc/example/asynchronous_echo_c++/
/src/brpc/src/bthread/
/src/brpc/src/butil/files/
/src/brpc/src/butil/third_party/rapidjson/msinttypes/
/src/brpc/src/butil/third_party/symbolize/
/src/brpc/src/butil/numerics/
/src/brpc/example/nshead_pb_extension_c++/
/src/brpc/example/bthread_tag_echo_c++/
/src/brpc/test/fuzzing/
/src/brpc/example/cascade_echo_c++/
/src/brpc/example/auto_concurrency_limiter/
/src/brpc/src/butil/third_party/rapidjson/internal/
/src/brpc/example/echo_c++/
/src/brpc/example/redis_c++/
/src/brpc/example/cancel_c++/
/src/brpc/example/dynamic_partition_echo_c++/
/src/brpc/src/butil/threading/
/src/brpc/example/parallel_echo_c++/
/src/brpc/src/butil/third_party/rapidjson/
/src/brpc/example/thrift_extension_c++/
/src/brpc/example/http_c++/
/src/brpc/src/brpc/policy/
/src/brpc/src/butil/third_party/dynamic_annotations/
/src/brpc/src/brpc/rdma/
/src/brpc/src/butil/memory/
/src/brpc/src/brpc/builtin/
/src/brpc/example/nshead_extension_c++/
/src/brpc/src/butil/third_party/superfasthash/
/src/brpc/src/butil/posix/
/src/brpc/src/butil/mac/
/src/brpc/src/butil/third_party/dmg_fp/
/src/brpc/tools/parallel_http/
/src/brpc/example/streaming_echo_c++/
/src/brpc/example/grpc_c++/
/src/brpc/src/butil/details/
/src/brpc/example/streaming_batch_echo_c++/

Metadata section

This sections shows the raw data that is used to produce this report. This is mainly used for further processing and developer debugging.

Fuzzer Calltree file Program data file Coverage file
fuzz_butil fuzzerLogFile-fuzz_butil.data fuzzerLogFile-fuzz_butil.data.yaml fuzz_butil.covreport
fuzz_mongo fuzzerLogFile-fuzz_mongo.data fuzzerLogFile-fuzz_mongo.data.yaml fuzz_mongo.covreport
fuzz_memcache fuzzerLogFile-fuzz_memcache.data fuzzerLogFile-fuzz_memcache.data.yaml fuzz_memcache.covreport
fuzz_esp fuzzerLogFile-fuzz_esp.data fuzzerLogFile-fuzz_esp.data.yaml fuzz_esp.covreport
fuzz_uri fuzzerLogFile-fuzz_uri.data fuzzerLogFile-fuzz_uri.data.yaml fuzz_uri.covreport
fuzz_amf fuzzerLogFile-fuzz_amf.data fuzzerLogFile-fuzz_amf.data.yaml fuzz_amf.covreport
fuzz_streaming fuzzerLogFile-fuzz_streaming.data fuzzerLogFile-fuzz_streaming.data.yaml fuzz_streaming.covreport
fuzz_http fuzzerLogFile-fuzz_http.data fuzzerLogFile-fuzz_http.data.yaml fuzz_http.covreport
fuzz_shead fuzzerLogFile-fuzz_shead.data fuzzerLogFile-fuzz_shead.data.yaml fuzz_shead.covreport
fuzz_json fuzzerLogFile-fuzz_json.data fuzzerLogFile-fuzz_json.data.yaml fuzz_json.covreport
fuzz_sofa fuzzerLogFile-fuzz_sofa.data fuzzerLogFile-fuzz_sofa.data.yaml fuzz_sofa.covreport
fuzz_hpack fuzzerLogFile-fuzz_hpack.data fuzzerLogFile-fuzz_hpack.data.yaml fuzz_hpack.covreport
fuzz_hulu fuzzerLogFile-fuzz_hulu.data fuzzerLogFile-fuzz_hulu.data.yaml fuzz_hulu.covreport
fuzz_redis fuzzerLogFile-fuzz_redis.data fuzzerLogFile-fuzz_redis.data.yaml fuzz_redis.covreport
fuzz_baidu_rpc fuzzerLogFile-fuzz_baidu_rpc.data fuzzerLogFile-fuzz_baidu_rpc.data.yaml fuzz_baidu_rpc.covreport
fuzz_couchbase fuzzerLogFile-fuzz_couchbase.data fuzzerLogFile-fuzz_couchbase.data.yaml fuzz_couchbase.covreport
fuzz_http_parser fuzzerLogFile-fuzz_http_parser.data fuzzerLogFile-fuzz_http_parser.data.yaml fuzz_http_parser.covreport
test/fuzzing/fuzz_thrift.cpp fuzzerLogFile-fuzz_thrift.data fuzzerLogFile-fuzz_thrift.data.yaml fuzz_sofa.covreport , fuzz_couchbase.covreport , fuzz_hpack.covreport , fuzz_baidu_rpc.covreport , fuzz_hulu.covreport , fuzz_amf.covreport , fuzz_butil.covreport , fuzz_redis.covreport , fuzz_json.covreport , fuzz_uri.covreport , fuzz_http_parser.covreport , fuzz_http.covreport , fuzz_esp.covreport , fuzz_memcache.covreport , fuzz_mongo.covreport , fuzz_streaming.covreport , fuzz_shead.covreport