From a3eac51e1e8eb9ace390d181d328de8fce009a5b Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Mon, 15 May 2017 14:24:00 -0700 Subject: Const correctness? for cython --- src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi index a21eac7995..c2ee361660 100644 --- a/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi +++ b/src/python/grpcio/grpc/_cython/_cygrpc/security.pyx.pxi @@ -49,7 +49,7 @@ cdef grpc_ssl_roots_override_result ssl_roots_override_callback( def peer_identities(Call call): cdef grpc_auth_context* auth_context cdef grpc_auth_property_iterator properties - cdef grpc_auth_property* property + cdef const grpc_auth_property* property auth_context = grpc_call_auth_context(call.c_call) if auth_context == NULL: @@ -67,7 +67,7 @@ def peer_identities(Call call): def peer_identity_key(Call call): cdef grpc_auth_context* auth_context - cdef char* c_key + cdef const char* c_key auth_context = grpc_call_auth_context(call.c_call) if auth_context == NULL: return None @@ -82,7 +82,7 @@ def peer_identity_key(Call call): def auth_context(Call call): cdef grpc_auth_context* auth_context cdef grpc_auth_property_iterator properties - cdef grpc_auth_property* property + cdef const grpc_auth_property* property auth_context = grpc_call_auth_context(call.c_call) if auth_context == NULL: -- cgit v1.2.3 From a753371f05dd116df3f27a18eb6e08e1ed0c1b4f Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 16 May 2017 13:09:33 -0700 Subject: Rework well_known_protos attr, and some other fixes --- bazel/cc_grpc_library.bzl | 5 ++--- bazel/generate_cc.bzl | 8 +++++++- bazel/grpc_build_system.bzl | 2 +- examples/BUILD | 2 ++ src/proto/grpc/status/BUILD | 2 +- test/cpp/interop/BUILD | 18 +++++++++++++----- test/cpp/util/BUILD | 14 +++++++++----- tools/grpcz/BUILD | 4 ++-- 8 files changed, 37 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/bazel/cc_grpc_library.bzl b/bazel/cc_grpc_library.bzl index 0600bb9e30..afc5543795 100644 --- a/bazel/cc_grpc_library.bzl +++ b/bazel/cc_grpc_library.bzl @@ -12,9 +12,8 @@ def cc_grpc_library(name, srcs, deps, proto_only, well_known_protos, generate_mo srcs: a single proto_library, which wraps the .proto files with services. deps: a list of C++ proto_library (or cc_proto_library) which provides the compiled code of any message that the services depend on. - well_known_protos: The target from protobuf library that exports well - known protos. Currently it will only work if the value is - "@com_google_protobuf//:well_known_protos" + well_known_protos: Should this library additionally depend on well known + protos use_external: When True the grpc deps are prefixed with //external. This allows grpc to be used as a dependency in other bazel projects. generate_mock: When true GMOCk code for client stub is generated. diff --git a/bazel/generate_cc.bzl b/bazel/generate_cc.bzl index d05509fc15..7fffb58218 100644 --- a/bazel/generate_cc.bzl +++ b/bazel/generate_cc.bzl @@ -57,7 +57,7 @@ def generate_cc_impl(ctx): return struct(files=set(out_files)) -generate_cc = rule( +_generate_cc = rule( attrs = { "srcs": attr.label_list( mandatory = True, @@ -90,3 +90,9 @@ generate_cc = rule( output_to_genfiles = True, implementation = generate_cc_impl, ) + +def generate_cc(well_known_protos, **kwargs): + if well_known_protos: + _generate_cc(well_known_protos="@com_google_protobuf//:well_known_protos", **kwargs) + else: + _generate_cc(**kwargs) diff --git a/bazel/grpc_build_system.bzl b/bazel/grpc_build_system.bzl index 0f66edbcd0..b19c85c962 100644 --- a/bazel/grpc_build_system.bzl +++ b/bazel/grpc_build_system.bzl @@ -67,7 +67,7 @@ def grpc_proto_plugin(name, srcs = [], deps = []): load("//:bazel/cc_grpc_library.bzl", "cc_grpc_library") -def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = None, +def grpc_proto_library(name, srcs = [], deps = [], well_known_protos = False, has_services = True, use_external = False, generate_mock = False): cc_grpc_library( name = name, diff --git a/examples/BUILD b/examples/BUILD index bd2d3c3150..33131346ac 100644 --- a/examples/BUILD +++ b/examples/BUILD @@ -27,6 +27,8 @@ # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +licenses(["notice"]) # 3-clause BSD + package(default_visibility = ["//visibility:public"]) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/status/BUILD b/src/proto/grpc/status/BUILD index 71363bd1b6..a93bfac419 100644 --- a/src/proto/grpc/status/BUILD +++ b/src/proto/grpc/status/BUILD @@ -37,5 +37,5 @@ grpc_proto_library( name = "status_proto", srcs = ["status.proto"], has_services = False, - well_known_protos = "@com_google_protobuf//:well_known_protos", + well_known_protos = True, ) diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD index 1a3e8d916f..04c3489adc 100644 --- a/test/cpp/interop/BUILD +++ b/test/cpp/interop/BUILD @@ -29,8 +29,11 @@ licenses(["notice"]) # 3-clause BSD -cc_library( +load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary") + +grpc_cc_library( name = "server_helper_lib", + language = "c++", srcs = [ "server_helper.cc", ], @@ -39,12 +42,15 @@ cc_library( ], deps = [ "//test/cpp/util:test_util", - "//external:gflags", + ], + external_deps = [ + "gflags", ], ) -cc_binary( +grpc_cc_binary( name = "interop_server", + language = "c++", srcs = [ "interop_server.cc", "interop_server_bootstrap.cc", @@ -59,8 +65,9 @@ cc_binary( ], ) -cc_library( +grpc_cc_library( name = "client_helper_lib", + language = "c++", srcs = [ "client_helper.cc", "interop_client.cc", @@ -79,8 +86,9 @@ cc_library( ], ) -cc_binary( +grpc_cc_binary( name = "interop_client", + language = "c++", srcs = [ "client.cc", ], diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD index 453e9b6c0f..9e4701b179 100644 --- a/test/cpp/util/BUILD +++ b/test/cpp/util/BUILD @@ -29,7 +29,7 @@ licenses(["notice"]) # 3-clause BSD -load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary") +load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary", "grpc_cc_test") package(default_visibility = ["//visibility:public"]) @@ -141,19 +141,21 @@ grpc_cc_library( ], ) -cc_test( +grpc_cc_test( name = "error_details_test", srcs = [ "error_details_test.cc", ], deps = [ "//:grpc++_error_details", - "//external:gtest", "//src/proto/grpc/testing:echo_messages_proto", ], + external_deps = [ + "gtest", + ], ) -cc_binary( +grpc_cc_binary( name = "grpc_cli", srcs = [ "cli_call.cc", @@ -175,7 +177,9 @@ cc_binary( ], deps = [ "//:grpc++", - "//external:gflags", "//src/proto/grpc/reflection/v1alpha:reflection_proto", ], + external_deps = [ + "gflags", + ], ) diff --git a/tools/grpcz/BUILD b/tools/grpcz/BUILD index cc887a5375..fbd01cbf9a 100644 --- a/tools/grpcz/BUILD +++ b/tools/grpcz/BUILD @@ -38,7 +38,7 @@ grpc_proto_library( srcs = [ "monitoring.proto", ], - well_known_protos = "@com_google_protobuf//:well_known_protos", + well_known_protos = True, deps = [ ":census_proto", ], @@ -49,7 +49,7 @@ grpc_proto_library( srcs = [ "census.proto", ], - well_known_protos = "@com_google_protobuf//:well_known_protos", + well_known_protos = True, ) cc_binary( -- cgit v1.2.3 From af6c83f9e141aa1ae32398f1f9b1f152a248a8f0 Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Fri, 19 May 2017 00:38:10 +0200 Subject: Adding dummy layering check option. --- src/proto/grpc/health/v1/BUILD | 8 +++++++- src/proto/grpc/lb/v1/BUILD | 8 +++++++- src/proto/grpc/reflection/v1alpha/BUILD | 8 +++++++- src/proto/grpc/status/BUILD | 8 +++++++- src/proto/grpc/testing/BUILD | 8 +++++++- src/proto/grpc/testing/duplicate/BUILD | 8 +++++++- test/core/bad_client/BUILD | 7 +++++++ test/core/bad_ssl/BUILD | 7 +++++++ test/core/census/BUILD | 7 +++++++ test/core/channel/BUILD | 7 +++++++ test/core/client_channel/BUILD | 7 +++++++ test/core/client_channel/resolvers/BUILD | 7 +++++++ test/core/compression/BUILD | 7 +++++++ test/core/end2end/BUILD | 7 +++++++ test/core/end2end/fuzzers/BUILD | 7 +++++++ test/core/fling/BUILD | 7 +++++++ test/core/handshake/BUILD | 7 +++++++ test/core/http/BUILD | 7 +++++++ test/core/iomgr/BUILD | 8 +++++++- test/core/json/BUILD | 7 +++++++ test/core/nanopb/BUILD | 7 +++++++ test/core/network_benchmarks/BUILD | 7 +++++++ test/core/security/BUILD | 7 +++++++ test/core/slice/BUILD | 7 +++++++ test/core/support/BUILD | 7 +++++++ test/core/surface/BUILD | 7 +++++++ test/core/transport/BUILD | 7 +++++++ test/core/transport/chttp2/BUILD | 7 +++++++ test/core/tsi/BUILD | 7 +++++++ test/core/util/BUILD | 8 +++++++- test/cpp/codegen/BUILD | 7 +++++++ test/cpp/common/BUILD | 7 +++++++ test/cpp/end2end/BUILD | 8 +++++++- test/cpp/interop/BUILD | 7 +++++++ test/cpp/microbenchmarks/BUILD | 7 +++++++ test/cpp/qps/BUILD | 7 +++++++ test/cpp/util/BUILD | 8 +++++++- 37 files changed, 259 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/proto/grpc/health/v1/BUILD b/src/proto/grpc/health/v1/BUILD index dbb91d9139..2f58dc403c 100644 --- a/src/proto/grpc/health/v1/BUILD +++ b/src/proto/grpc/health/v1/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/lb/v1/BUILD b/src/proto/grpc/lb/v1/BUILD index 46d4f2d62c..4ee139ab06 100644 --- a/src/proto/grpc/lb/v1/BUILD +++ b/src/proto/grpc/lb/v1/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/reflection/v1alpha/BUILD b/src/proto/grpc/reflection/v1alpha/BUILD index 92dd3d7f68..3f6342f977 100644 --- a/src/proto/grpc/reflection/v1alpha/BUILD +++ b/src/proto/grpc/reflection/v1alpha/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/status/BUILD b/src/proto/grpc/status/BUILD index 71363bd1b6..7bc742da4b 100644 --- a/src/proto/grpc/status/BUILD +++ b/src/proto/grpc/status/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/testing/BUILD b/src/proto/grpc/testing/BUILD index 5f1c005faf..75fd61090d 100644 --- a/src/proto/grpc/testing/BUILD +++ b/src/proto/grpc/testing/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/src/proto/grpc/testing/duplicate/BUILD b/src/proto/grpc/testing/duplicate/BUILD index 8fc5a96af4..9d37c96d9d 100644 --- a/src/proto/grpc/testing/duplicate/BUILD +++ b/src/proto/grpc/testing/duplicate/BUILD @@ -29,7 +29,13 @@ licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) load("//bazel:grpc_build_system.bzl", "grpc_proto_library") diff --git a/test/core/bad_client/BUILD b/test/core/bad_client/BUILD index bcfd2f1db2..f0115a55fc 100644 --- a/test/core/bad_client/BUILD +++ b/test/core/bad_client/BUILD @@ -29,6 +29,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + licenses(["notice"]) # 3-clause BSD load(":generate_tests.bzl", "grpc_bad_client_tests") diff --git a/test/core/bad_ssl/BUILD b/test/core/bad_ssl/BUILD index 61c634ae26..be6be4ca79 100644 --- a/test/core/bad_ssl/BUILD +++ b/test/core/bad_ssl/BUILD @@ -29,6 +29,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_cc_binary") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + licenses(["notice"]) # 3-clause BSD load(":generate_tests.bzl", "grpc_bad_ssl_tests") diff --git a/test/core/census/BUILD b/test/core/census/BUILD index 3fdf5114e8..97dff42007 100644 --- a/test/core/census/BUILD +++ b/test/core/census/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "context_test", srcs = ["context_test.c"], diff --git a/test/core/channel/BUILD b/test/core/channel/BUILD index 5e7e8c1ef4..fe5fdcefd7 100644 --- a/test/core/channel/BUILD +++ b/test/core/channel/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "channel_args_test", srcs = ["channel_args_test.c"], diff --git a/test/core/client_channel/BUILD b/test/core/client_channel/BUILD index 6c4b40e411..4d43ce9de7 100644 --- a/test/core/client_channel/BUILD +++ b/test/core/client_channel/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/client_channel/resolvers/BUILD b/test/core/client_channel/resolvers/BUILD index 80ca7d3ebb..55974d4227 100644 --- a/test/core/client_channel/resolvers/BUILD +++ b/test/core/client_channel/resolvers/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "dns_resolver_connectivity_test", srcs = ["dns_resolver_connectivity_test.c"], diff --git a/test/core/compression/BUILD b/test/core/compression/BUILD index bbd66bdb52..6bdd6cff92 100644 --- a/test/core/compression/BUILD +++ b/test/core/compression/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "algorithm_test", srcs = ["algorithm_test.c"], diff --git a/test/core/end2end/BUILD b/test/core/end2end/BUILD index cf387a93e8..41797c7b01 100644 --- a/test/core/end2end/BUILD +++ b/test/core/end2end/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load(":generate_tests.bzl", "grpc_end2end_tests") grpc_cc_library( diff --git a/test/core/end2end/fuzzers/BUILD b/test/core/end2end/fuzzers/BUILD index 55810bd0b8..2a9c96eba0 100644 --- a/test/core/end2end/fuzzers/BUILD +++ b/test/core/end2end/fuzzers/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/fling/BUILD b/test/core/fling/BUILD index 8f17527d44..421e7858ca 100644 --- a/test/core/fling/BUILD +++ b/test/core/fling/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_cc_binary( diff --git a/test/core/handshake/BUILD b/test/core/handshake/BUILD index bdb91eab8b..23ab5a71de 100644 --- a/test/core/handshake/BUILD +++ b/test/core/handshake/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "client_ssl", srcs = ["client_ssl.c"], diff --git a/test/core/http/BUILD b/test/core/http/BUILD index 9350daccf4..529aa7beff 100644 --- a/test/core/http/BUILD +++ b/test/core/http/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/iomgr/BUILD b/test/core/iomgr/BUILD index 269ca949f6..cfb7b31200 100644 --- a/test/core/iomgr/BUILD +++ b/test/core/iomgr/BUILD @@ -33,7 +33,13 @@ licenses(["notice"]) # 3-clause BSD load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") -package(default_visibility = ["//visibility:public"]) # Useful for third party devs to test their io manager implementation. +package( + default_visibility = ["//visibility:public"], # Useful for third party devs to test their io manager implementation. + features = [ + "-layering_check", + "-parse_headers", + ], +) grpc_cc_library( name = "endpoint_tests", diff --git a/test/core/json/BUILD b/test/core/json/BUILD index aba2e2c522..2a59d1b3f8 100644 --- a/test/core/json/BUILD +++ b/test/core/json/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/nanopb/BUILD b/test/core/nanopb/BUILD index 33e9338ed4..f792f0cdbc 100644 --- a/test/core/nanopb/BUILD +++ b/test/core/nanopb/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/network_benchmarks/BUILD b/test/core/network_benchmarks/BUILD index 5c243f7347..5ba9835c05 100644 --- a/test/core/network_benchmarks/BUILD +++ b/test/core/network_benchmarks/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_binary( name = "low_level_ping_pong", srcs = ["low_level_ping_pong.c"], diff --git a/test/core/security/BUILD b/test/core/security/BUILD index b2d8774e80..b1385dc83f 100644 --- a/test/core/security/BUILD +++ b/test/core/security/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/slice/BUILD b/test/core/slice/BUILD index 8dc34e7492..2fa80dd05a 100644 --- a/test/core/slice/BUILD +++ b/test/core/slice/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/support/BUILD b/test/core/support/BUILD index db408199fc..9eb0b32637 100644 --- a/test/core/support/BUILD +++ b/test/core/support/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "alloc_test", srcs = ["alloc_test.c"], diff --git a/test/core/surface/BUILD b/test/core/surface/BUILD index 44d37da0b9..0dc392dbf3 100644 --- a/test/core/surface/BUILD +++ b/test/core/surface/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "alarm_test", srcs = ["alarm_test.c"], diff --git a/test/core/transport/BUILD b/test/core/transport/BUILD index 2628c891ec..6c8b3f34ec 100644 --- a/test/core/transport/BUILD +++ b/test/core/transport/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "bdp_estimator_test", srcs = ["bdp_estimator_test.c"], diff --git a/test/core/transport/chttp2/BUILD b/test/core/transport/chttp2/BUILD index af2a4aed34..fc24bea399 100644 --- a/test/core/transport/chttp2/BUILD +++ b/test/core/transport/chttp2/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + load("//test/core/util:grpc_fuzzer.bzl", "grpc_fuzzer") grpc_fuzzer( diff --git a/test/core/tsi/BUILD b/test/core/tsi/BUILD index a0f2910f73..0ae2d28e15 100644 --- a/test/core/tsi/BUILD +++ b/test/core/tsi/BUILD @@ -31,6 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "transport_security_test", srcs = ["transport_security_test.c"], diff --git a/test/core/util/BUILD b/test/core/util/BUILD index 6b994625b9..dbc648bba0 100644 --- a/test/core/util/BUILD +++ b/test/core/util/BUILD @@ -31,7 +31,13 @@ load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test", "grpc_c licenses(["notice"]) # 3-clause BSD -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) grpc_cc_library( name = "gpr_test_util", diff --git a/test/cpp/codegen/BUILD b/test/cpp/codegen/BUILD index f974e63eb4..c6825afeec 100644 --- a/test/cpp/codegen/BUILD +++ b/test/cpp/codegen/BUILD @@ -31,6 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_test") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "codegen_test_full", srcs = ["codegen_test_full.cc"], diff --git a/test/cpp/common/BUILD b/test/cpp/common/BUILD index c8b3e46f5f..76e3c0ff85 100644 --- a/test/cpp/common/BUILD +++ b/test/cpp/common/BUILD @@ -31,6 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_test") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "alarm_cpp_test", srcs = ["alarm_cpp_test.cc"], diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD index 9b691a83e0..459a960736 100644 --- a/test/cpp/end2end/BUILD +++ b/test/cpp/end2end/BUILD @@ -31,7 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_test") -package(default_visibility=["//visibility:public"]) # Allows external users to implement end2end tests. +package( + default_visibility=["//visibility:public"], # Allows external users to implement end2end tests. + features = [ + "-layering_check", + "-parse_headers", + ], +) grpc_cc_library( name = "test_service_impl", diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD index 1a3e8d916f..187addcdcd 100644 --- a/test/cpp/interop/BUILD +++ b/test/cpp/interop/BUILD @@ -29,6 +29,13 @@ licenses(["notice"]) # 3-clause BSD +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + cc_library( name = "server_helper_lib", srcs = [ diff --git a/test/cpp/microbenchmarks/BUILD b/test/cpp/microbenchmarks/BUILD index 3a968a020a..8eb813f3d5 100644 --- a/test/cpp/microbenchmarks/BUILD +++ b/test/cpp/microbenchmarks/BUILD @@ -31,6 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_cc_library") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_test( name = "noop-benchmark", srcs = ["noop-benchmark.cc"], diff --git a/test/cpp/qps/BUILD b/test/cpp/qps/BUILD index c6a1fd2fce..389ed7ba7d 100644 --- a/test/cpp/qps/BUILD +++ b/test/cpp/qps/BUILD @@ -31,6 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_test", "grpc_cc_library", "grpc_cc_binary") +package( + features = [ + "-layering_check", + "-parse_headers", + ], +) + grpc_cc_library( name = "parse_json", srcs = ["parse_json.cc"], diff --git a/test/cpp/util/BUILD b/test/cpp/util/BUILD index 453e9b6c0f..b77eb60ee9 100644 --- a/test/cpp/util/BUILD +++ b/test/cpp/util/BUILD @@ -31,7 +31,13 @@ licenses(["notice"]) # 3-clause BSD load("//bazel:grpc_build_system.bzl", "grpc_cc_library", "grpc_cc_binary") -package(default_visibility = ["//visibility:public"]) +package( + default_visibility = ["//visibility:public"], + features = [ + "-layering_check", + "-parse_headers", + ], +) # The following builds a shared-object to confirm that grpc++_unsecure # builds properly. Build-only is sufficient here -- cgit v1.2.3 From 840931eec9bfd95c2d69f6b1e60413d18dd8281e Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Fri, 19 May 2017 15:37:45 -0700 Subject: More import fixes --- include/grpc++/impl/codegen/status.h | 5 +++++ src/core/lib/iomgr/timer_manager.c | 9 ++++----- test/cpp/end2end/BUILD | 1 + test/cpp/interop/BUILD | 14 +++++++++++--- test/cpp/qps/BUILD | 3 --- test/cpp/qps/client_sync.cc | 2 +- 6 files changed, 22 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/include/grpc++/impl/codegen/status.h b/include/grpc++/impl/codegen/status.h index 31fd6cdbe7..e89103f85b 100644 --- a/include/grpc++/impl/codegen/status.h +++ b/include/grpc++/impl/codegen/status.h @@ -75,6 +75,11 @@ class Status { /// Is the status OK? bool ok() const { return code_ == StatusCode::OK; } + // Ignores any errors. This method does nothing except potentially suppress + // complaints from any tools that are checking that errors are not dropped on + // the floor. + void IgnoreError() const {} + private: StatusCode code_; grpc::string error_message_; diff --git a/src/core/lib/iomgr/timer_manager.c b/src/core/lib/iomgr/timer_manager.c index 24085093e7..fd9a7a2f04 100644 --- a/src/core/lib/iomgr/timer_manager.c +++ b/src/core/lib/iomgr/timer_manager.c @@ -93,10 +93,10 @@ static void start_timer_thread_and_unlock(void) { if (GRPC_TRACER_ON(grpc_timer_check_trace)) { gpr_log(GPR_DEBUG, "Spawn timer thread"); } - gpr_thd_id thd; gpr_thd_options opt = gpr_thd_options_default(); gpr_thd_options_set_joinable(&opt); - gpr_thd_new(&thd, timer_thread, NULL, &opt); + completed_thread *ct = gpr_malloc(sizeof(*ct)); + gpr_thd_new(&ct->t, timer_thread, ct, &opt); } void grpc_timer_manager_tick() { @@ -107,7 +107,7 @@ void grpc_timer_manager_tick() { grpc_exec_ctx_finish(&exec_ctx); } -static void timer_thread(void *unused) { +static void timer_thread(void *completed_thread_ptr) { // this threads exec_ctx: we try to run things through to completion here // since it's easy to spin up new threads grpc_exec_ctx exec_ctx = @@ -194,8 +194,7 @@ static void timer_thread(void *unused) { if (0 == g_thread_count) { gpr_cv_signal(&g_cv_shutdown); } - completed_thread *ct = gpr_malloc(sizeof(*ct)); - ct->t = gpr_thd_currentid(); + completed_thread *ct = completed_thread_ptr; ct->next = g_completed_threads; g_completed_threads = ct; gpr_mu_unlock(&g_mu); diff --git a/test/cpp/end2end/BUILD b/test/cpp/end2end/BUILD index 9b691a83e0..1f7a4870d4 100644 --- a/test/cpp/end2end/BUILD +++ b/test/cpp/end2end/BUILD @@ -35,6 +35,7 @@ package(default_visibility=["//visibility:public"]) # Allows external users to i grpc_cc_library( name = "test_service_impl", + testonly = True, srcs = ["test_service_impl.cc"], hdrs = ["test_service_impl.h"], deps = [ diff --git a/test/cpp/interop/BUILD b/test/cpp/interop/BUILD index 04c3489adc..8892da32be 100644 --- a/test/cpp/interop/BUILD +++ b/test/cpp/interop/BUILD @@ -86,13 +86,21 @@ grpc_cc_library( ], ) -grpc_cc_binary( - name = "interop_client", +grpc_cc_library( + name = "interop_client_main", language = "c++", srcs = [ "client.cc", ], deps = [ - ":client_helper_lib", + ":client_helper_lib" + ], +) + +grpc_cc_binary( + name = "interop_client", + language = "c++", + deps = [ + ":interop_client_main", ], ) diff --git a/test/cpp/qps/BUILD b/test/cpp/qps/BUILD index c6a1fd2fce..1f33dc55ff 100644 --- a/test/cpp/qps/BUILD +++ b/test/cpp/qps/BUILD @@ -67,9 +67,6 @@ grpc_cc_library( "//test/core/util:grpc_test_util", "//test/cpp/util:test_util", ], - external_deps = [ - "gtest", - ], ) grpc_cc_library( diff --git a/test/cpp/qps/client_sync.cc b/test/cpp/qps/client_sync.cc index f35713280a..0aae82604d 100644 --- a/test/cpp/qps/client_sync.cc +++ b/test/cpp/qps/client_sync.cc @@ -155,7 +155,7 @@ class SynchronousStreamingClient : public SynchronousClient { if (*stream) { // forcibly cancel the streams, then finish context_[i].TryCancel(); - (*stream)->Finish(); + (*stream)->Finish().IgnoreError(); // don't log any error message on !ok since this was canceled } }); -- cgit v1.2.3 From 86ffd65c84956f5e274beb11b34d8ea0bfc9a4af Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Tue, 20 Jun 2017 00:16:54 +0000 Subject: Add logging, fix some bugs --- src/core/lib/iomgr/ev_epollex_linux.c | 46 ++++++++++++++++++++++++++++++----- src/core/lib/support/log_linux.c | 4 ++- 2 files changed, 43 insertions(+), 7 deletions(-) (limited to 'src') diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 949f8a845d..c785aa7b80 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -103,6 +103,24 @@ typedef struct pollable { grpc_pollset_worker *root_worker; } pollable; +static const char *polling_obj_type_string(polling_obj_type t) { + switch (t) { + case PO_POLLING_GROUP: return "polling_group"; + case PO_POLLSET_SET: return "pollset_set"; + case PO_POLLSET: return "pollset"; + case PO_FD: return "fd"; + case PO_EMPTY_POLLABLE: return "empty_pollable"; + case PO_COUNT: return ""; + } + return ""; +} + +static char *pollable_desc(pollable *p) { + char *out; + gpr_asprintf(&out, "type=%s group=%p epfd=%d wakeup=%d", polling_obj_type_string(p->po.type), p->po.group, p->epfd, p->wakeup.read_fd); + return out; +} + static pollable g_empty_pollable; static void pollable_init(pollable *p, polling_obj_type type); @@ -466,7 +484,7 @@ static grpc_error *pollable_add_fd(pollable *p, grpc_fd *fd) { GPR_ASSERT(epfd != -1); if (GRPC_TRACER_ON(grpc_polling_trace)) { - gpr_log(GPR_DEBUG, "add fd %p to pollable %p", fd, p); + gpr_log(GPR_DEBUG, "add fd %p (%d) to pollable %p", fd, fd->fd, p); } gpr_mu_lock(&fd->orphaned_mu); @@ -531,10 +549,16 @@ static void do_kick_all(grpc_exec_ctx *exec_ctx, void *arg, if (worker->pollable != &pollset->pollable) { gpr_mu_lock(&worker->pollable->po.mu); } - if (worker->initialized_cv) { + if (worker->initialized_cv && worker != pollset->root_worker) { + if (GRPC_TRACER_ON(grpc_polling_trace)) { + gpr_log(GPR_DEBUG, "PS:%p kickall_via_cv %p (pollable %p vs %p)", pollset, worker, &pollset->pollable, worker->pollable); + } worker->kicked = true; gpr_cv_signal(&worker->cv); } else { + if (GRPC_TRACER_ON(grpc_polling_trace)) { + gpr_log(GPR_DEBUG, "PS:%p kickall_via_wakeup %p (pollable %p vs %p)", pollset, worker, &pollset->pollable, worker->pollable); + } append_error(&error, grpc_wakeup_fd_wakeup(&worker->pollable->wakeup), "pollset_shutdown"); } @@ -764,7 +788,9 @@ static grpc_error *pollset_epoll(grpc_exec_ctx *exec_ctx, grpc_pollset *pollset, int timeout = poll_deadline_to_millis_timeout(deadline, now); if (GRPC_TRACER_ON(grpc_polling_trace)) { - gpr_log(GPR_DEBUG, "PS:%p poll %p for %dms", pollset, p, timeout); + char *desc = pollable_desc(p); + gpr_log(GPR_DEBUG, "PS:%p poll %p[%s] for %dms", pollset, p, desc, timeout); + gpr_free(desc); } if (timeout != 0) { @@ -979,10 +1005,11 @@ static grpc_error *pollset_add_fd_locked(grpc_exec_ctx *exec_ctx, static const char *err_desc = "pollset_add_fd"; grpc_error *error = GRPC_ERROR_NONE; if (pollset->current_pollable == &g_empty_pollable) { - if (GRPC_TRACER_ON(grpc_polling_trace)) + if (GRPC_TRACER_ON(grpc_polling_trace)) { gpr_log(GPR_DEBUG, "PS:%p add fd %p; transition pollable from empty to fd", pollset, fd); + } /* empty pollable --> single fd pollable */ pollset_kick_all(exec_ctx, pollset); pollset->current_pollable = &fd->pollable; @@ -991,16 +1018,23 @@ static grpc_error *pollset_add_fd_locked(grpc_exec_ctx *exec_ctx, if (!fd_locked) gpr_mu_unlock(&fd->pollable.po.mu); REF_BY(fd, 2, "pollset_pollable"); } else if (pollset->current_pollable == &pollset->pollable) { - if (GRPC_TRACER_ON(grpc_polling_trace)) + if (GRPC_TRACER_ON(grpc_polling_trace)) { gpr_log(GPR_DEBUG, "PS:%p add fd %p; already multipolling", pollset, fd); + } append_error(&error, pollable_add_fd(pollset->current_pollable, fd), err_desc); } else if (pollset->current_pollable != &fd->pollable) { grpc_fd *had_fd = (grpc_fd *)pollset->current_pollable; - if (GRPC_TRACER_ON(grpc_polling_trace)) + if (GRPC_TRACER_ON(grpc_polling_trace)) { gpr_log(GPR_DEBUG, "PS:%p add fd %p; transition pollable from fd %p to multipoller", pollset, fd, had_fd); + } + /* Introduce a spurious completion. + If we do not, then it may be that the fd-specific epoll set consumed + a completion without being polled, leading to a missed edge going up. */ + grpc_lfev_set_ready(exec_ctx, &had_fd->read_closure); + grpc_lfev_set_ready(exec_ctx, &had_fd->write_closure); pollset_kick_all(exec_ctx, pollset); pollset->current_pollable = &pollset->pollable; if (append_error(&error, pollable_materialize(&pollset->pollable), diff --git a/src/core/lib/support/log_linux.c b/src/core/lib/support/log_linux.c index 5c512661a3..61d2346427 100644 --- a/src/core/lib/support/log_linux.c +++ b/src/core/lib/support/log_linux.c @@ -64,6 +64,8 @@ void gpr_default_log(gpr_log_func_args *args) { time_t timer; gpr_timespec now = gpr_now(GPR_CLOCK_REALTIME); struct tm tm; + static __thread long tid = 0; + if (tid == 0) tid = gettid(); timer = (time_t)now.tv_sec; final_slash = strrchr(args->file, '/'); @@ -81,7 +83,7 @@ void gpr_default_log(gpr_log_func_args *args) { gpr_asprintf(&prefix, "%s%s.%09" PRId32 " %7ld %s:%d]", gpr_log_severity_string(args->severity), time_buffer, - now.tv_nsec, gettid(), display_file, args->line); + now.tv_nsec, tid, display_file, args->line); fprintf(stderr, "%-60s %s\n", prefix, args->message); gpr_free(prefix); -- cgit v1.2.3 From 7fd8f67b2d0eb3d8eeb9ad2752e4b4b1c767b683 Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 5 Jul 2017 15:10:12 -0700 Subject: clang-format --- src/core/lib/iomgr/ev_epollex_linux.c | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/core/lib/iomgr/ev_epollex_linux.c b/src/core/lib/iomgr/ev_epollex_linux.c index 255e365108..5690431759 100644 --- a/src/core/lib/iomgr/ev_epollex_linux.c +++ b/src/core/lib/iomgr/ev_epollex_linux.c @@ -105,19 +105,27 @@ typedef struct pollable { static const char *polling_obj_type_string(polling_obj_type t) { switch (t) { - case PO_POLLING_GROUP: return "polling_group"; - case PO_POLLSET_SET: return "pollset_set"; - case PO_POLLSET: return "pollset"; - case PO_FD: return "fd"; - case PO_EMPTY_POLLABLE: return "empty_pollable"; - case PO_COUNT: return ""; + case PO_POLLING_GROUP: + return "polling_group"; + case PO_POLLSET_SET: + return "pollset_set"; + case PO_POLLSET: + return "pollset"; + case PO_FD: + return "fd"; + case PO_EMPTY_POLLABLE: + return "empty_pollable"; + case PO_COUNT: + return ""; } return ""; } static char *pollable_desc(pollable *p) { char *out; - gpr_asprintf(&out, "type=%s group=%p epfd=%d wakeup=%d", polling_obj_type_string(p->po.type), p->po.group, p->epfd, p->wakeup.read_fd); + gpr_asprintf(&out, "type=%s group=%p epfd=%d wakeup=%d", + polling_obj_type_string(p->po.type), p->po.group, p->epfd, + p->wakeup.read_fd); return out; } @@ -557,13 +565,15 @@ static void do_kick_all(grpc_exec_ctx *exec_ctx, void *arg, } if (worker->initialized_cv && worker != pollset->root_worker) { if (GRPC_TRACER_ON(grpc_polling_trace)) { - gpr_log(GPR_DEBUG, "PS:%p kickall_via_cv %p (pollable %p vs %p)", pollset, worker, &pollset->pollable, worker->pollable); + gpr_log(GPR_DEBUG, "PS:%p kickall_via_cv %p (pollable %p vs %p)", + pollset, worker, &pollset->pollable, worker->pollable); } worker->kicked = true; gpr_cv_signal(&worker->cv); } else { if (GRPC_TRACER_ON(grpc_polling_trace)) { - gpr_log(GPR_DEBUG, "PS:%p kickall_via_wakeup %p (pollable %p vs %p)", pollset, worker, &pollset->pollable, worker->pollable); + gpr_log(GPR_DEBUG, "PS:%p kickall_via_wakeup %p (pollable %p vs %p)", + pollset, worker, &pollset->pollable, worker->pollable); } append_error(&error, grpc_wakeup_fd_wakeup(&worker->pollable->wakeup), "pollset_shutdown"); -- cgit v1.2.3 From 600ae82d4caee4cc8226a7f806f4e03c9e5d0a87 Mon Sep 17 00:00:00 2001 From: Alexander Polcyn Date: Tue, 11 Jul 2017 15:47:05 -0700 Subject: remove an unused method --- src/ruby/lib/grpc/generic/active_call.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src') diff --git a/src/ruby/lib/grpc/generic/active_call.rb b/src/ruby/lib/grpc/generic/active_call.rb index cb407d236d..67c984ab49 100644 --- a/src/ruby/lib/grpc/generic/active_call.rb +++ b/src/ruby/lib/grpc/generic/active_call.rb @@ -516,7 +516,7 @@ module GRPC # MultiReqView limits access to an ActiveCall's methods for use in # server client_streamer handlers. - MultiReqView = view_class(:cancelled?, :deadline, :each_queued_msg, + MultiReqView = view_class(:cancelled?, :deadline, :each_remote_read, :metadata, :output_metadata, :send_initial_metadata, :metadata_to_send, -- cgit v1.2.3 From 15494b5d3e2b4ed8d8dc2243f32d06c41d668e9d Mon Sep 17 00:00:00 2001 From: "Mark D. Roth" Date: Wed, 12 Jul 2017 15:26:55 -0700 Subject: Don't set the channel's state to TRANSIENT_FAILURE if we updated the LB policy. --- src/core/ext/filters/client_channel/client_channel.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c index 7add432589..a383d4f678 100644 --- a/src/core/ext/filters/client_channel/client_channel.c +++ b/src/core/ext/filters/client_channel/client_channel.c @@ -370,6 +370,7 @@ static void on_resolver_result_changed_locked(grpc_exec_ctx *exec_ctx, grpc_error_string(error)); } // Extract the following fields from the resolver result, if non-NULL. + bool lb_policy_updated = false; char *lb_policy_name = NULL; bool lb_policy_name_changed = false; grpc_lb_policy *new_lb_policy = NULL; @@ -424,6 +425,7 @@ static void on_resolver_result_changed_locked(grpc_exec_ctx *exec_ctx, strcmp(chand->info_lb_policy_name, lb_policy_name) != 0; if (chand->lb_policy != NULL && !lb_policy_name_changed) { // Continue using the same LB policy. Update with new addresses. + lb_policy_updated = true; grpc_lb_policy_update_locked(exec_ctx, chand->lb_policy, &lb_policy_args); } else { // Instantiate new LB policy. @@ -569,8 +571,11 @@ static void on_resolver_result_changed_locked(grpc_exec_ctx *exec_ctx, } watch_lb_policy_locked(exec_ctx, chand, new_lb_policy, state); } - set_channel_connectivity_state_locked( - exec_ctx, chand, state, GRPC_ERROR_REF(state_error), "new_lb+resolver"); + if (!lb_policy_updated) { + set_channel_connectivity_state_locked(exec_ctx, chand, state, + GRPC_ERROR_REF(state_error), + "new_lb+resolver"); + } grpc_resolver_next_locked(exec_ctx, chand->resolver, &chand->resolver_result, &chand->on_resolver_result_changed); -- cgit v1.2.3 From 06bce6e020c8cbd07b4634e603251ae4032e8925 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Mon, 10 Jul 2017 07:58:49 -0700 Subject: Tracers know their name --- .../ext/filters/client_channel/client_channel.c | 2 +- .../filters/client_channel/client_channel_plugin.c | 4 +-- src/core/ext/filters/client_channel/lb_policy.c | 2 +- .../client_channel/lb_policy/grpclb/grpclb.c | 6 ++-- .../lb_policy/pick_first/pick_first.c | 4 +-- .../lb_policy/round_robin/round_robin.c | 4 +-- src/core/ext/filters/client_channel/resolver.c | 2 +- src/core/ext/filters/http/http_filters_plugin.c | 2 +- .../ext/transport/chttp2/transport/chttp2_plugin.c | 6 ++-- .../transport/chttp2/transport/chttp2_transport.c | 6 ++-- src/core/lib/channel/channel_stack.c | 2 +- src/core/lib/channel/channel_stack_builder.c | 2 +- src/core/lib/debug/trace.c | 6 ++-- src/core/lib/debug/trace.h | 11 +++--- src/core/lib/http/parser.c | 2 +- src/core/lib/iomgr/closure.c | 2 +- src/core/lib/iomgr/combiner.c | 2 +- src/core/lib/iomgr/error.c | 2 +- src/core/lib/iomgr/ev_posix.c | 6 ++-- src/core/lib/iomgr/ev_windows.c | 2 +- src/core/lib/iomgr/iomgr_posix.c | 2 +- src/core/lib/iomgr/iomgr_uv.c | 2 +- src/core/lib/iomgr/pollset_uv.c | 2 +- src/core/lib/iomgr/pollset_windows.c | 2 +- src/core/lib/iomgr/resource_quota.c | 2 +- src/core/lib/iomgr/tcp_posix.c | 2 +- src/core/lib/iomgr/tcp_uv.c | 2 +- src/core/lib/iomgr/tcp_windows.c | 2 +- src/core/lib/iomgr/timer_generic.c | 8 ++--- src/core/lib/iomgr/timer_uv.c | 4 +-- src/core/lib/security/context/security_context.c | 2 +- src/core/lib/security/transport/secure_endpoint.c | 2 +- .../lib/security/transport/security_connector.c | 2 +- src/core/lib/surface/api_trace.c | 2 +- src/core/lib/surface/call.c | 4 +-- src/core/lib/surface/completion_queue.c | 10 +++--- src/core/lib/surface/init.c | 40 +++++++++++----------- src/core/lib/surface/init_secure.c | 8 ++--- src/core/lib/surface/server.c | 2 +- src/core/lib/transport/bdp_estimator.c | 2 +- src/core/lib/transport/connectivity_state.c | 2 +- src/core/lib/transport/metadata.c | 2 +- src/core/lib/transport/transport.c | 2 +- src/core/tsi/transport_security.c | 2 +- 44 files changed, 92 insertions(+), 93 deletions(-) (limited to 'src') diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c index 7add432589..428fc97fba 100644 --- a/src/core/ext/filters/client_channel/client_channel.c +++ b/src/core/ext/filters/client_channel/client_channel.c @@ -52,7 +52,7 @@ /* Client channel implementation */ -grpc_tracer_flag grpc_client_channel_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_client_channel_trace = GRPC_TRACER_INITIALIZER(false, "client_channel"); /************************************************************************* * METHOD-CONFIG TABLE diff --git a/src/core/ext/filters/client_channel/client_channel_plugin.c b/src/core/ext/filters/client_channel/client_channel_plugin.c index 6f133a648b..c32e83d012 100644 --- a/src/core/ext/filters/client_channel/client_channel_plugin.c +++ b/src/core/ext/filters/client_channel/client_channel_plugin.c @@ -78,9 +78,9 @@ void grpc_client_channel_init(void) { GRPC_CLIENT_CHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, append_filter, (void *)&grpc_client_channel_filter); grpc_http_connect_register_handshaker_factory(); - grpc_register_tracer("client_channel", &grpc_client_channel_trace); + grpc_register_tracer(&grpc_client_channel_trace); #ifndef NDEBUG - grpc_register_tracer("resolver_refcount", &grpc_trace_resolver_refcount); + grpc_register_tracer(&grpc_trace_resolver_refcount); #endif } diff --git a/src/core/ext/filters/client_channel/lb_policy.c b/src/core/ext/filters/client_channel/lb_policy.c index 8d69ba6af5..1b499d61c1 100644 --- a/src/core/ext/filters/client_channel/lb_policy.c +++ b/src/core/ext/filters/client_channel/lb_policy.c @@ -22,7 +22,7 @@ #define WEAK_REF_BITS 16 #ifndef NDEBUG -grpc_tracer_flag grpc_trace_lb_policy_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_lb_policy_refcount = GRPC_TRACER_INITIALIZER(false, "lb_policy_refcount"); #endif void grpc_lb_policy_init(grpc_lb_policy *policy, diff --git a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c index 5a5ff2902d..cccc3e871a 100644 --- a/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c +++ b/src/core/ext/filters/client_channel/lb_policy/grpclb/grpclb.c @@ -123,7 +123,7 @@ #define GRPC_GRPCLB_RECONNECT_MAX_BACKOFF_SECONDS 120 #define GRPC_GRPCLB_RECONNECT_JITTER 0.2 -grpc_tracer_flag grpc_lb_glb_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_lb_glb_trace = GRPC_TRACER_INITIALIZER(false, "glb"); /* add lb_token of selected subchannel (address) to the call's initial * metadata */ @@ -1879,9 +1879,9 @@ static bool maybe_add_client_load_reporting_filter( void grpc_lb_policy_grpclb_init() { grpc_register_lb_policy(grpc_glb_lb_factory_create()); - grpc_register_tracer("glb", &grpc_lb_glb_trace); + grpc_register_tracer(&grpc_lb_glb_trace); #ifndef NDEBUG - grpc_register_tracer("lb_policy_refcount", &grpc_trace_lb_policy_refcount); + grpc_register_tracer(&grpc_trace_lb_policy_refcount); #endif grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, diff --git a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c index d0acd7a901..a812767be4 100644 --- a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +++ b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c @@ -28,7 +28,7 @@ #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/transport/connectivity_state.h" -grpc_tracer_flag grpc_lb_pick_first_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_lb_pick_first_trace = GRPC_TRACER_INITIALIZER(false, "pick_first"); typedef struct pending_pick { struct pending_pick *next; @@ -707,7 +707,7 @@ static grpc_lb_policy_factory *pick_first_lb_factory_create() { void grpc_lb_policy_pick_first_init() { grpc_register_lb_policy(pick_first_lb_factory_create()); - grpc_register_tracer("pick_first", &grpc_lb_pick_first_trace); + grpc_register_tracer(&grpc_lb_pick_first_trace); } void grpc_lb_policy_pick_first_shutdown() {} diff --git a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c index fbef79ec31..2a20ae8831 100644 --- a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +++ b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c @@ -37,7 +37,7 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/static_metadata.h" -grpc_tracer_flag grpc_lb_round_robin_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_lb_round_robin_trace = GRPC_TRACER_INITIALIZER(false, "round_robin"); /** List of entities waiting for a pick. * @@ -868,7 +868,7 @@ static grpc_lb_policy_factory *round_robin_lb_factory_create() { void grpc_lb_policy_round_robin_init() { grpc_register_lb_policy(round_robin_lb_factory_create()); - grpc_register_tracer("round_robin", &grpc_lb_round_robin_trace); + grpc_register_tracer(&grpc_lb_round_robin_trace); } void grpc_lb_policy_round_robin_shutdown() {} diff --git a/src/core/ext/filters/client_channel/resolver.c b/src/core/ext/filters/client_channel/resolver.c index de9a8ce41b..0a30eac609 100644 --- a/src/core/ext/filters/client_channel/resolver.c +++ b/src/core/ext/filters/client_channel/resolver.c @@ -20,7 +20,7 @@ #include "src/core/lib/iomgr/combiner.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_resolver_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_resolver_refcount = GRPC_TRACER_INITIALIZER(false, "resolver_refcount"); #endif void grpc_resolver_init(grpc_resolver *resolver, diff --git a/src/core/ext/filters/http/http_filters_plugin.c b/src/core/ext/filters/http/http_filters_plugin.c index 3e4ec01a31..a5c1b92054 100644 --- a/src/core/ext/filters/http/http_filters_plugin.c +++ b/src/core/ext/filters/http/http_filters_plugin.c @@ -65,7 +65,7 @@ static bool maybe_add_required_filter(grpc_exec_ctx *exec_ctx, } void grpc_http_filters_init(void) { - grpc_register_tracer("compression", &grpc_compression_trace); + grpc_register_tracer(&grpc_compression_trace); grpc_channel_init_register_stage(GRPC_CLIENT_SUBCHANNEL, GRPC_CHANNEL_INIT_BUILTIN_PRIORITY, maybe_add_optional_filter, &compress_filter); diff --git a/src/core/ext/transport/chttp2/transport/chttp2_plugin.c b/src/core/ext/transport/chttp2/transport/chttp2_plugin.c index 6a8c81445a..78551df9c3 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_plugin.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_plugin.c @@ -21,10 +21,10 @@ #include "src/core/lib/transport/metadata.h" void grpc_chttp2_plugin_init(void) { - grpc_register_tracer("http", &grpc_http_trace); - grpc_register_tracer("flowctl", &grpc_flowctl_trace); + grpc_register_tracer(&grpc_http_trace); + grpc_register_tracer(&grpc_flowctl_trace); #ifndef NDEBUG - grpc_register_tracer("chttp2_refcount", &grpc_trace_chttp2_refcount); + grpc_register_tracer(&grpc_trace_chttp2_refcount); #endif } diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index f790267944..b378d9fbcc 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -74,11 +74,11 @@ static bool g_default_keepalive_permit_without_calls = DEFAULT_KEEPALIVE_PERMIT_WITHOUT_CALLS; #define MAX_CLIENT_STREAM_ID 0x7fffffffu -grpc_tracer_flag grpc_http_trace = GRPC_TRACER_INITIALIZER(false); -grpc_tracer_flag grpc_flowctl_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_http_trace = GRPC_TRACER_INITIALIZER(false, "http"); +grpc_tracer_flag grpc_flowctl_trace = GRPC_TRACER_INITIALIZER(false, "flowctl"); #ifndef NDEBUG -grpc_tracer_flag grpc_trace_chttp2_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_chttp2_refcount = GRPC_TRACER_INITIALIZER(false, "chttp2_refcount"); #endif static const grpc_transport_vtable vtable; diff --git a/src/core/lib/channel/channel_stack.c b/src/core/lib/channel/channel_stack.c index 106666410a..0f8e33c4be 100644 --- a/src/core/lib/channel/channel_stack.c +++ b/src/core/lib/channel/channel_stack.c @@ -23,7 +23,7 @@ #include #include -grpc_tracer_flag grpc_trace_channel = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_channel = GRPC_TRACER_INITIALIZER(false, "channel"); /* Memory layouts. diff --git a/src/core/lib/channel/channel_stack_builder.c b/src/core/lib/channel/channel_stack_builder.c index 01529df80a..c369e33073 100644 --- a/src/core/lib/channel/channel_stack_builder.c +++ b/src/core/lib/channel/channel_stack_builder.c @@ -24,7 +24,7 @@ #include grpc_tracer_flag grpc_trace_channel_stack_builder = - GRPC_TRACER_INITIALIZER(false); + GRPC_TRACER_INITIALIZER(false, "channel_stack_builder"); typedef struct filter_node { struct filter_node *next; diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.c index 8249b2ebd6..4b9e3d20d2 100644 --- a/src/core/lib/debug/trace.c +++ b/src/core/lib/debug/trace.c @@ -27,7 +27,6 @@ int grpc_tracer_set_enabled(const char *name, int enabled); typedef struct tracer { - const char *name; grpc_tracer_flag *flag; struct tracer *next; } tracer; @@ -39,9 +38,8 @@ static tracer *tracers; #define TRACER_SET(flag, on) (flag).value = (on) #endif -void grpc_register_tracer(const char *name, grpc_tracer_flag *flag) { +void grpc_register_tracer(grpc_tracer_flag *flag) { tracer *t = gpr_malloc(sizeof(*t)); - t->name = name; t->flag = flag; t->next = tracers; TRACER_SET(*flag, false); @@ -118,7 +116,7 @@ int grpc_tracer_set_enabled(const char *name, int enabled) { } else { int found = 0; for (t = tracers; t; t = t->next) { - if (0 == strcmp(name, t->name)) { + if (0 == strcmp(name, t->flag->name)) { TRACER_SET(*t->flag, enabled); found = 1; } diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index 7cc9fb4e41..ab6d53487c 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -35,19 +35,20 @@ typedef struct { #else bool value; #endif + char* name; } grpc_tracer_flag; #ifdef GRPC_THREADSAFE_TRACER #define GRPC_TRACER_ON(flag) (gpr_atm_no_barrier_load(&(flag).value) != 0) -#define GRPC_TRACER_INITIALIZER(on) \ - { (gpr_atm)(on) } +#define GRPC_TRACER_INITIALIZER(on, name) \ + { (gpr_atm)(on), (name) } #else #define GRPC_TRACER_ON(flag) ((flag).value) -#define GRPC_TRACER_INITIALIZER(on) \ - { (on) } +#define GRPC_TRACER_INITIALIZER(on, name) \ + { (on), (name) } #endif -void grpc_register_tracer(const char *name, grpc_tracer_flag *flag); +void grpc_register_tracer(grpc_tracer_flag *flag); void grpc_tracer_init(const char *env_var_name); void grpc_tracer_shutdown(void); diff --git a/src/core/lib/http/parser.c b/src/core/lib/http/parser.c index 71d697c278..9c5e93f4e5 100644 --- a/src/core/lib/http/parser.c +++ b/src/core/lib/http/parser.c @@ -25,7 +25,7 @@ #include #include -grpc_tracer_flag grpc_http1_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_http1_trace = GRPC_TRACER_INITIALIZER(false, "http1"); static char *buf2str(void *buffer, size_t length) { char *out = gpr_malloc(length + 1); diff --git a/src/core/lib/iomgr/closure.c b/src/core/lib/iomgr/closure.c index e028e72ed6..26f9cbe0fa 100644 --- a/src/core/lib/iomgr/closure.c +++ b/src/core/lib/iomgr/closure.c @@ -25,7 +25,7 @@ #include "src/core/lib/profiling/timers.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_closure = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_closure = GRPC_TRACER_INITIALIZER(false, "closure"); #endif #ifndef NDEBUG diff --git a/src/core/lib/iomgr/combiner.c b/src/core/lib/iomgr/combiner.c index 7f9c5d837f..12823847ab 100644 --- a/src/core/lib/iomgr/combiner.c +++ b/src/core/lib/iomgr/combiner.c @@ -27,7 +27,7 @@ #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/profiling/timers.h" -grpc_tracer_flag grpc_combiner_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_combiner_trace = GRPC_TRACER_INITIALIZER(false, "combiner"); #define GRPC_COMBINER_TRACE(fn) \ do { \ diff --git a/src/core/lib/iomgr/error.c b/src/core/lib/iomgr/error.c index a95929a1fb..e3e0b35358 100644 --- a/src/core/lib/iomgr/error.c +++ b/src/core/lib/iomgr/error.c @@ -36,7 +36,7 @@ #include "src/core/lib/slice/slice_internal.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_error_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_error_refcount = GRPC_TRACER_INITIALIZER(false, "error_refcount"); #endif static const char *error_int_name(grpc_error_ints key) { diff --git a/src/core/lib/iomgr/ev_posix.c b/src/core/lib/iomgr/ev_posix.c index 2648df393d..4428489fc2 100644 --- a/src/core/lib/iomgr/ev_posix.c +++ b/src/core/lib/iomgr/ev_posix.c @@ -39,10 +39,10 @@ #include "src/core/lib/support/env.h" grpc_tracer_flag grpc_polling_trace = - GRPC_TRACER_INITIALIZER(false); /* Disabled by default */ + GRPC_TRACER_INITIALIZER(false, "polling"); /* Disabled by default */ #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif /** Default poll() function - a pointer so that it can be overridden by some @@ -124,7 +124,7 @@ void grpc_set_event_engine_test_only( const char *grpc_get_poll_strategy_name() { return g_poll_strategy_name; } void grpc_event_engine_init(void) { - grpc_register_tracer("polling", &grpc_polling_trace); + grpc_register_tracer(&grpc_polling_trace); char *s = gpr_getenv("GRPC_POLL_STRATEGY"); if (s == NULL) { diff --git a/src/core/lib/iomgr/ev_windows.c b/src/core/lib/iomgr/ev_windows.c index 027609c7e8..c24dfaeaf7 100644 --- a/src/core/lib/iomgr/ev_windows.c +++ b/src/core/lib/iomgr/ev_windows.c @@ -23,6 +23,6 @@ #include "src/core/lib/debug/trace.h" grpc_tracer_flag grpc_polling_trace = - GRPC_TRACER_INITIALIZER(false); /* Disabled by default */ + GRPC_TRACER_INITIALIZER(false, "polling"); /* Disabled by default */ #endif // GRPC_WINSOCK_SOCKET diff --git a/src/core/lib/iomgr/iomgr_posix.c b/src/core/lib/iomgr/iomgr_posix.c index 43f5d0406e..f5875a247e 100644 --- a/src/core/lib/iomgr/iomgr_posix.c +++ b/src/core/lib/iomgr/iomgr_posix.c @@ -28,7 +28,7 @@ void grpc_iomgr_platform_init(void) { grpc_wakeup_fd_global_init(); grpc_event_engine_init(); - grpc_register_tracer("tcp", &grpc_tcp_trace); + grpc_register_tracer(&grpc_tcp_trace); } void grpc_iomgr_platform_flush(void) {} diff --git a/src/core/lib/iomgr/iomgr_uv.c b/src/core/lib/iomgr/iomgr_uv.c index 49d1a03c32..8b1245c640 100644 --- a/src/core/lib/iomgr/iomgr_uv.c +++ b/src/core/lib/iomgr/iomgr_uv.c @@ -26,7 +26,7 @@ void grpc_iomgr_platform_init(void) { grpc_pollset_global_init(); - grpc_register_tracer("tcp", &grpc_tcp_trace); + grpc_register_tracer(&grpc_tcp_trace); } void grpc_iomgr_platform_flush(void) {} void grpc_iomgr_platform_shutdown(void) { grpc_pollset_global_shutdown(); } diff --git a/src/core/lib/iomgr/pollset_uv.c b/src/core/lib/iomgr/pollset_uv.c index 1a54065a91..7bf8d15ffd 100644 --- a/src/core/lib/iomgr/pollset_uv.c +++ b/src/core/lib/iomgr/pollset_uv.c @@ -34,7 +34,7 @@ #include "src/core/lib/debug/trace.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif struct grpc_pollset { diff --git a/src/core/lib/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.c index 1bfc2a22a8..40631b776f 100644 --- a/src/core/lib/iomgr/pollset_windows.c +++ b/src/core/lib/iomgr/pollset_windows.c @@ -31,7 +31,7 @@ #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif gpr_mu grpc_polling_mu; diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index f2cc1be74e..c84d0e4253 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -29,7 +29,7 @@ #include "src/core/lib/iomgr/combiner.h" -grpc_tracer_flag grpc_resource_quota_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_resource_quota_trace = GRPC_TRACER_INITIALIZER(false, "resource_quota"); #define MEMORY_USAGE_ESTIMATION_MAX 65536 diff --git a/src/core/lib/iomgr/tcp_posix.c b/src/core/lib/iomgr/tcp_posix.c index 5de2b0f4ee..b6dcd15cb0 100644 --- a/src/core/lib/iomgr/tcp_posix.c +++ b/src/core/lib/iomgr/tcp_posix.c @@ -59,7 +59,7 @@ typedef GRPC_MSG_IOVLEN_TYPE msg_iovlen_type; typedef size_t msg_iovlen_type; #endif -grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false, "tcp"); typedef struct { grpc_endpoint base; diff --git a/src/core/lib/iomgr/tcp_uv.c b/src/core/lib/iomgr/tcp_uv.c index ff5fd3edc8..7c6a9b85f5 100644 --- a/src/core/lib/iomgr/tcp_uv.c +++ b/src/core/lib/iomgr/tcp_uv.c @@ -37,7 +37,7 @@ #include "src/core/lib/slice/slice_string_helpers.h" #include "src/core/lib/support/string.h" -grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false, "tcp"); typedef struct { grpc_endpoint base; diff --git a/src/core/lib/iomgr/tcp_windows.c b/src/core/lib/iomgr/tcp_windows.c index 6704a158ce..2cbb97403b 100644 --- a/src/core/lib/iomgr/tcp_windows.c +++ b/src/core/lib/iomgr/tcp_windows.c @@ -48,7 +48,7 @@ #define GRPC_FIONBIO FIONBIO #endif -grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_tcp_trace = GRPC_TRACER_INITIALIZER(false, "tcp"); static grpc_error *set_non_block(SOCKET sock) { int status; diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index e6a9eb0e86..ba03521c2a 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -41,8 +41,8 @@ #define MIN_QUEUE_WINDOW_DURATION 0.01 #define MAX_QUEUE_WINDOW_DURATION 1 -grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false); -grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); +grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); /* A "timer shard". Contains a 'heap' and a 'list' of timers. All timers with * deadlines earlier than 'queue_deadline" cap are maintained in the heap and @@ -160,8 +160,8 @@ void grpc_timer_list_init(gpr_timespec now) { g_shared_mutables.min_timer = timespec_to_atm_round_down(now); gpr_tls_init(&g_last_seen_min_timer); gpr_tls_set(&g_last_seen_min_timer, 0); - grpc_register_tracer("timer", &grpc_timer_trace); - grpc_register_tracer("timer_check", &grpc_timer_check_trace); + grpc_register_tracer(&grpc_timer_trace); + grpc_register_tracer(&grpc_timer_check_trace); for (i = 0; i < NUM_SHARDS; i++) { timer_shard *shard = &g_shards[i]; diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.c index 4f204cfbf8..13328e8bcf 100644 --- a/src/core/lib/iomgr/timer_uv.c +++ b/src/core/lib/iomgr/timer_uv.c @@ -28,8 +28,8 @@ #include -grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false); -grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); +grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); static void timer_close_callback(uv_handle_t *handle) { gpr_free(handle); } diff --git a/src/core/lib/security/context/security_context.c b/src/core/lib/security/context/security_context.c index dffe6d2e91..8fff2c92c5 100644 --- a/src/core/lib/security/context/security_context.c +++ b/src/core/lib/security/context/security_context.c @@ -31,7 +31,7 @@ #ifndef NDEBUG grpc_tracer_flag grpc_trace_auth_context_refcount = - GRPC_TRACER_INITIALIZER(false); + GRPC_TRACER_INITIALIZER(false, "auth_context_refcount"); #endif /* --- grpc_call --- */ diff --git a/src/core/lib/security/transport/secure_endpoint.c b/src/core/lib/security/transport/secure_endpoint.c index f4ed81db1a..9df252f7d7 100644 --- a/src/core/lib/security/transport/secure_endpoint.c +++ b/src/core/lib/security/transport/secure_endpoint.c @@ -60,7 +60,7 @@ typedef struct { gpr_refcount ref; } secure_endpoint; -grpc_tracer_flag grpc_trace_secure_endpoint = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_secure_endpoint = GRPC_TRACER_INITIALIZER(false, "secure_endpoint"); static void destroy(grpc_exec_ctx *exec_ctx, secure_endpoint *secure_ep) { secure_endpoint *ep = secure_ep; diff --git a/src/core/lib/security/transport/security_connector.c b/src/core/lib/security/transport/security_connector.c index 29327107e5..6788126769 100644 --- a/src/core/lib/security/transport/security_connector.c +++ b/src/core/lib/security/transport/security_connector.c @@ -45,7 +45,7 @@ #ifndef NDEBUG grpc_tracer_flag grpc_trace_security_connector_refcount = - GRPC_TRACER_INITIALIZER(false); + GRPC_TRACER_INITIALIZER(false, "security_connector_refcount"); #endif /* -- Constants. -- */ diff --git a/src/core/lib/surface/api_trace.c b/src/core/lib/surface/api_trace.c index f88ffd57aa..56973303da 100644 --- a/src/core/lib/surface/api_trace.c +++ b/src/core/lib/surface/api_trace.c @@ -19,4 +19,4 @@ #include "src/core/lib/surface/api_trace.h" #include "src/core/lib/debug/trace.h" -grpc_tracer_flag grpc_api_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_api_trace = GRPC_TRACER_INITIALIZER(false, "api"); diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index aac443ed06..bb1e3f901b 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -229,8 +229,8 @@ struct grpc_call { void *saved_receiving_stream_ready_bctlp; }; -grpc_tracer_flag grpc_call_error_trace = GRPC_TRACER_INITIALIZER(false); -grpc_tracer_flag grpc_compression_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_call_error_trace = GRPC_TRACER_INITIALIZER(false, "call_error"); +grpc_tracer_flag grpc_compression_trace = GRPC_TRACER_INITIALIZER(false, "compression"); #define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1)) #define CALL_FROM_CALL_STACK(call_stack) (((grpc_call *)(call_stack)) - 1) diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index 14e55eda85..f3d0ef286a 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -35,10 +35,10 @@ #include "src/core/lib/surface/call.h" #include "src/core/lib/surface/event_string.h" -grpc_tracer_flag grpc_trace_operation_failures = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_operation_failures = GRPC_TRACER_INITIALIZER(false, "op_failure"); #ifndef NDEBUG -grpc_tracer_flag grpc_trace_pending_tags = GRPC_TRACER_INITIALIZER(false); -grpc_tracer_flag grpc_trace_cq_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_pending_tags = GRPC_TRACER_INITIALIZER(false, "pending_tags"); +grpc_tracer_flag grpc_trace_cq_refcount = GRPC_TRACER_INITIALIZER(false, "cq_refcount"); #endif typedef struct { @@ -343,8 +343,8 @@ static const cq_vtable g_cq_vtable[] = { #define POLLSET_FROM_CQ(cq) \ ((grpc_pollset *)(cq->vtable->data_size + (char *)DATA_FROM_CQ(cq))) -grpc_tracer_flag grpc_cq_pluck_trace = GRPC_TRACER_INITIALIZER(true); -grpc_tracer_flag grpc_cq_event_timeout_trace = GRPC_TRACER_INITIALIZER(true); +grpc_tracer_flag grpc_cq_pluck_trace = GRPC_TRACER_INITIALIZER(true, "queue_pluck"); +grpc_tracer_flag grpc_cq_event_timeout_trace = GRPC_TRACER_INITIALIZER(true, "queue_timeout"); #define GRPC_SURFACE_TRACE_RETURNED_EVENT(cq, event) \ if (GRPC_TRACER_ON(grpc_api_trace) && \ diff --git a/src/core/lib/surface/init.c b/src/core/lib/surface/init.c index 14a86bfa0a..93ab101648 100644 --- a/src/core/lib/surface/init.c +++ b/src/core/lib/surface/init.c @@ -120,29 +120,29 @@ void grpc_init(void) { grpc_slice_intern_init(); grpc_mdctx_global_init(); grpc_channel_init_init(); - grpc_register_tracer("api", &grpc_api_trace); - grpc_register_tracer("channel", &grpc_trace_channel); - grpc_register_tracer("connectivity_state", &grpc_connectivity_state_trace); - grpc_register_tracer("channel_stack_builder", + grpc_register_tracer(&grpc_api_trace); + grpc_register_tracer(&grpc_trace_channel); + grpc_register_tracer(&grpc_connectivity_state_trace); + grpc_register_tracer( &grpc_trace_channel_stack_builder); - grpc_register_tracer("http1", &grpc_http1_trace); - grpc_register_tracer("queue_pluck", &grpc_cq_pluck_trace); // default on - grpc_register_tracer("combiner", &grpc_combiner_trace); - grpc_register_tracer("server_channel", &grpc_server_channel_trace); - grpc_register_tracer("bdp_estimator", &grpc_bdp_estimator_trace); - grpc_register_tracer("queue_timeout", + grpc_register_tracer(&grpc_http1_trace); + grpc_register_tracer(&grpc_cq_pluck_trace); // default on + grpc_register_tracer(&grpc_combiner_trace); + grpc_register_tracer(&grpc_server_channel_trace); + grpc_register_tracer(&grpc_bdp_estimator_trace); + grpc_register_tracer( &grpc_cq_event_timeout_trace); // default on - grpc_register_tracer("op_failure", &grpc_trace_operation_failures); - grpc_register_tracer("resource_quota", &grpc_resource_quota_trace); - grpc_register_tracer("call_error", &grpc_call_error_trace); + grpc_register_tracer(&grpc_trace_operation_failures); + grpc_register_tracer(&grpc_resource_quota_trace); + grpc_register_tracer(&grpc_call_error_trace); #ifndef NDEBUG - grpc_register_tracer("pending_tags", &grpc_trace_pending_tags); - grpc_register_tracer("queue_refcount", &grpc_trace_cq_refcount); - grpc_register_tracer("closure", &grpc_trace_closure); - grpc_register_tracer("error_refcount", &grpc_trace_error_refcount); - grpc_register_tracer("stream_refcount", &grpc_trace_stream_refcount); - grpc_register_tracer("fd_refcount", &grpc_trace_fd_refcount); - grpc_register_tracer("metadata", &grpc_trace_metadata); + grpc_register_tracer(&grpc_trace_pending_tags); + grpc_register_tracer(&grpc_trace_cq_refcount); + grpc_register_tracer(&grpc_trace_closure); + grpc_register_tracer(&grpc_trace_error_refcount); + grpc_register_tracer(&grpc_trace_stream_refcount); + grpc_register_tracer(&grpc_trace_fd_refcount); + grpc_register_tracer(&grpc_trace_metadata); #endif grpc_security_pre_init(); grpc_iomgr_init(&exec_ctx); diff --git a/src/core/lib/surface/init_secure.c b/src/core/lib/surface/init_secure.c index 7dbea581d0..5f9816135f 100644 --- a/src/core/lib/surface/init_secure.c +++ b/src/core/lib/surface/init_secure.c @@ -37,12 +37,12 @@ #endif void grpc_security_pre_init(void) { - grpc_register_tracer("secure_endpoint", &grpc_trace_secure_endpoint); - grpc_register_tracer("transport_security", &tsi_tracing_enabled); + grpc_register_tracer(&grpc_trace_secure_endpoint); + grpc_register_tracer(&tsi_tracing_enabled); #ifndef NDEBUG - grpc_register_tracer("auth_context_refcount", + grpc_register_tracer( &grpc_trace_auth_context_refcount); - grpc_register_tracer("security_connector_refcount", + grpc_register_tracer( &grpc_trace_security_connector_refcount); #endif } diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index de0a91e2b2..662a57766b 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -58,7 +58,7 @@ typedef struct registered_method registered_method; typedef enum { BATCH_CALL, REGISTERED_CALL } requested_call_type; -grpc_tracer_flag grpc_server_channel_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_server_channel_trace = GRPC_TRACER_INITIALIZER(false, "server_channel"); typedef struct requested_call { requested_call_type type; diff --git a/src/core/lib/transport/bdp_estimator.c b/src/core/lib/transport/bdp_estimator.c index d33e3a48ab..cdfd521ce2 100644 --- a/src/core/lib/transport/bdp_estimator.c +++ b/src/core/lib/transport/bdp_estimator.c @@ -23,7 +23,7 @@ #include #include -grpc_tracer_flag grpc_bdp_estimator_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_bdp_estimator_trace = GRPC_TRACER_INITIALIZER(false, "bdp_estimator"); void grpc_bdp_estimator_init(grpc_bdp_estimator *estimator, const char *name) { estimator->estimate = 65536; diff --git a/src/core/lib/transport/connectivity_state.c b/src/core/lib/transport/connectivity_state.c index 6fe40af3b2..a7ea9cc38e 100644 --- a/src/core/lib/transport/connectivity_state.c +++ b/src/core/lib/transport/connectivity_state.c @@ -24,7 +24,7 @@ #include #include -grpc_tracer_flag grpc_connectivity_state_trace = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_connectivity_state_trace = GRPC_TRACER_INITIALIZER(false, "connectivity_state"); const char *grpc_connectivity_state_name(grpc_connectivity_state state) { switch (state) { diff --git a/src/core/lib/transport/metadata.c b/src/core/lib/transport/metadata.c index 87a2abf344..d699887b28 100644 --- a/src/core/lib/transport/metadata.c +++ b/src/core/lib/transport/metadata.c @@ -48,7 +48,7 @@ */ #ifndef NDEBUG -grpc_tracer_flag grpc_trace_metadata = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_metadata = GRPC_TRACER_INITIALIZER(false, "metadata"); #define DEBUG_ARGS , const char *file, int line #define FWD_DEBUG_ARGS , file, line #define REF_MD_LOCKED(shard, s) ref_md_locked((shard), (s), __FILE__, __LINE__) diff --git a/src/core/lib/transport/transport.c b/src/core/lib/transport/transport.c index 6a9eba110d..712c2ab833 100644 --- a/src/core/lib/transport/transport.c +++ b/src/core/lib/transport/transport.c @@ -32,7 +32,7 @@ #include "src/core/lib/transport/transport_impl.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_stream_refcount = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag grpc_trace_stream_refcount = GRPC_TRACER_INITIALIZER(false, "stream_refcount"); #endif #ifndef NDEBUG diff --git a/src/core/tsi/transport_security.c b/src/core/tsi/transport_security.c index 08fa43138d..be11d64472 100644 --- a/src/core/tsi/transport_security.c +++ b/src/core/tsi/transport_security.c @@ -26,7 +26,7 @@ /* --- Tracing. --- */ -grpc_tracer_flag tsi_tracing_enabled = GRPC_TRACER_INITIALIZER(false); +grpc_tracer_flag tsi_tracing_enabled = GRPC_TRACER_INITIALIZER(false, "tsi"); /* --- tsi_result common implementation. --- */ -- cgit v1.2.3 From 2e85f6891a978f9e036e42f54965d46d53f8487a Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 12 Jul 2017 23:10:37 -0700 Subject: Add a list_tracer functionality --- src/core/lib/debug/trace.c | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src') diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.c index 4b9e3d20d2..4c9d2b8e2e 100644 --- a/src/core/lib/debug/trace.c +++ b/src/core/lib/debug/trace.c @@ -91,6 +91,14 @@ static void parse(const char *s) { gpr_free(strings); } +static void list_tracers() { + gpr_log(GPR_DEBUG, "available tracers:"); + tracer *t; + for (t = tracers; t; t = t->next) { + gpr_log(GPR_DEBUG, "\t%s", t->flag->name); + } +} + void grpc_tracer_init(const char *env_var) { char *e = gpr_getenv(env_var); if (e != NULL) { @@ -113,6 +121,8 @@ int grpc_tracer_set_enabled(const char *name, int enabled) { for (t = tracers; t; t = t->next) { TRACER_SET(*t->flag, enabled); } + } else if (0 == strcmp(name, "list_tracers")) { + list_tracers(); } else { int found = 0; for (t = tracers; t; t = t->next) { -- cgit v1.2.3 From 7712c7c4d5819a1222ecee8c89eb19696328b482 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 12 Jul 2017 23:11:27 -0700 Subject: clang format --- src/core/ext/filters/client_channel/client_channel.c | 3 ++- src/core/ext/filters/client_channel/lb_policy.c | 3 ++- .../client_channel/lb_policy/pick_first/pick_first.c | 3 ++- .../client_channel/lb_policy/round_robin/round_robin.c | 3 ++- src/core/ext/filters/client_channel/resolver.c | 3 ++- .../ext/transport/chttp2/transport/chttp2_transport.c | 3 ++- src/core/lib/debug/trace.h | 2 +- src/core/lib/iomgr/combiner.c | 3 ++- src/core/lib/iomgr/error.c | 3 ++- src/core/lib/iomgr/ev_posix.c | 3 ++- src/core/lib/iomgr/pollset_uv.c | 3 ++- src/core/lib/iomgr/pollset_windows.c | 3 ++- src/core/lib/iomgr/resource_quota.c | 3 ++- src/core/lib/iomgr/timer_generic.c | 3 ++- src/core/lib/iomgr/timer_uv.c | 3 ++- src/core/lib/security/transport/secure_endpoint.c | 3 ++- src/core/lib/surface/call.c | 6 ++++-- src/core/lib/surface/completion_queue.c | 15 ++++++++++----- src/core/lib/surface/init.c | 6 ++---- src/core/lib/surface/init_secure.c | 6 ++---- src/core/lib/surface/server.c | 3 ++- src/core/lib/transport/bdp_estimator.c | 3 ++- src/core/lib/transport/connectivity_state.c | 3 ++- src/core/lib/transport/metadata.c | 3 ++- src/core/lib/transport/transport.c | 3 ++- 25 files changed, 59 insertions(+), 36 deletions(-) (limited to 'src') diff --git a/src/core/ext/filters/client_channel/client_channel.c b/src/core/ext/filters/client_channel/client_channel.c index 428fc97fba..1bf10454d1 100644 --- a/src/core/ext/filters/client_channel/client_channel.c +++ b/src/core/ext/filters/client_channel/client_channel.c @@ -52,7 +52,8 @@ /* Client channel implementation */ -grpc_tracer_flag grpc_client_channel_trace = GRPC_TRACER_INITIALIZER(false, "client_channel"); +grpc_tracer_flag grpc_client_channel_trace = + GRPC_TRACER_INITIALIZER(false, "client_channel"); /************************************************************************* * METHOD-CONFIG TABLE diff --git a/src/core/ext/filters/client_channel/lb_policy.c b/src/core/ext/filters/client_channel/lb_policy.c index 1b499d61c1..10b032214b 100644 --- a/src/core/ext/filters/client_channel/lb_policy.c +++ b/src/core/ext/filters/client_channel/lb_policy.c @@ -22,7 +22,8 @@ #define WEAK_REF_BITS 16 #ifndef NDEBUG -grpc_tracer_flag grpc_trace_lb_policy_refcount = GRPC_TRACER_INITIALIZER(false, "lb_policy_refcount"); +grpc_tracer_flag grpc_trace_lb_policy_refcount = + GRPC_TRACER_INITIALIZER(false, "lb_policy_refcount"); #endif void grpc_lb_policy_init(grpc_lb_policy *policy, diff --git a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c index a812767be4..fd0fb41fb9 100644 --- a/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c +++ b/src/core/ext/filters/client_channel/lb_policy/pick_first/pick_first.c @@ -28,7 +28,8 @@ #include "src/core/lib/iomgr/sockaddr_utils.h" #include "src/core/lib/transport/connectivity_state.h" -grpc_tracer_flag grpc_lb_pick_first_trace = GRPC_TRACER_INITIALIZER(false, "pick_first"); +grpc_tracer_flag grpc_lb_pick_first_trace = + GRPC_TRACER_INITIALIZER(false, "pick_first"); typedef struct pending_pick { struct pending_pick *next; diff --git a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c index 2a20ae8831..37580087a7 100644 --- a/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c +++ b/src/core/ext/filters/client_channel/lb_policy/round_robin/round_robin.c @@ -37,7 +37,8 @@ #include "src/core/lib/transport/connectivity_state.h" #include "src/core/lib/transport/static_metadata.h" -grpc_tracer_flag grpc_lb_round_robin_trace = GRPC_TRACER_INITIALIZER(false, "round_robin"); +grpc_tracer_flag grpc_lb_round_robin_trace = + GRPC_TRACER_INITIALIZER(false, "round_robin"); /** List of entities waiting for a pick. * diff --git a/src/core/ext/filters/client_channel/resolver.c b/src/core/ext/filters/client_channel/resolver.c index 0a30eac609..8401504fcf 100644 --- a/src/core/ext/filters/client_channel/resolver.c +++ b/src/core/ext/filters/client_channel/resolver.c @@ -20,7 +20,8 @@ #include "src/core/lib/iomgr/combiner.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_resolver_refcount = GRPC_TRACER_INITIALIZER(false, "resolver_refcount"); +grpc_tracer_flag grpc_trace_resolver_refcount = + GRPC_TRACER_INITIALIZER(false, "resolver_refcount"); #endif void grpc_resolver_init(grpc_resolver *resolver, diff --git a/src/core/ext/transport/chttp2/transport/chttp2_transport.c b/src/core/ext/transport/chttp2/transport/chttp2_transport.c index b378d9fbcc..0859ce8942 100644 --- a/src/core/ext/transport/chttp2/transport/chttp2_transport.c +++ b/src/core/ext/transport/chttp2/transport/chttp2_transport.c @@ -78,7 +78,8 @@ grpc_tracer_flag grpc_http_trace = GRPC_TRACER_INITIALIZER(false, "http"); grpc_tracer_flag grpc_flowctl_trace = GRPC_TRACER_INITIALIZER(false, "flowctl"); #ifndef NDEBUG -grpc_tracer_flag grpc_trace_chttp2_refcount = GRPC_TRACER_INITIALIZER(false, "chttp2_refcount"); +grpc_tracer_flag grpc_trace_chttp2_refcount = + GRPC_TRACER_INITIALIZER(false, "chttp2_refcount"); #endif static const grpc_transport_vtable vtable; diff --git a/src/core/lib/debug/trace.h b/src/core/lib/debug/trace.h index ab6d53487c..dd9e6a30fe 100644 --- a/src/core/lib/debug/trace.h +++ b/src/core/lib/debug/trace.h @@ -35,7 +35,7 @@ typedef struct { #else bool value; #endif - char* name; + char *name; } grpc_tracer_flag; #ifdef GRPC_THREADSAFE_TRACER diff --git a/src/core/lib/iomgr/combiner.c b/src/core/lib/iomgr/combiner.c index 12823847ab..c72c37e2b5 100644 --- a/src/core/lib/iomgr/combiner.c +++ b/src/core/lib/iomgr/combiner.c @@ -27,7 +27,8 @@ #include "src/core/lib/iomgr/executor.h" #include "src/core/lib/profiling/timers.h" -grpc_tracer_flag grpc_combiner_trace = GRPC_TRACER_INITIALIZER(false, "combiner"); +grpc_tracer_flag grpc_combiner_trace = + GRPC_TRACER_INITIALIZER(false, "combiner"); #define GRPC_COMBINER_TRACE(fn) \ do { \ diff --git a/src/core/lib/iomgr/error.c b/src/core/lib/iomgr/error.c index e3e0b35358..3759dda992 100644 --- a/src/core/lib/iomgr/error.c +++ b/src/core/lib/iomgr/error.c @@ -36,7 +36,8 @@ #include "src/core/lib/slice/slice_internal.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_error_refcount = GRPC_TRACER_INITIALIZER(false, "error_refcount"); +grpc_tracer_flag grpc_trace_error_refcount = + GRPC_TRACER_INITIALIZER(false, "error_refcount"); #endif static const char *error_int_name(grpc_error_ints key) { diff --git a/src/core/lib/iomgr/ev_posix.c b/src/core/lib/iomgr/ev_posix.c index 4428489fc2..a5ae04cb5b 100644 --- a/src/core/lib/iomgr/ev_posix.c +++ b/src/core/lib/iomgr/ev_posix.c @@ -42,7 +42,8 @@ grpc_tracer_flag grpc_polling_trace = GRPC_TRACER_INITIALIZER(false, "polling"); /* Disabled by default */ #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); +grpc_tracer_flag grpc_trace_fd_refcount = + GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif /** Default poll() function - a pointer so that it can be overridden by some diff --git a/src/core/lib/iomgr/pollset_uv.c b/src/core/lib/iomgr/pollset_uv.c index 7bf8d15ffd..946f0c8c60 100644 --- a/src/core/lib/iomgr/pollset_uv.c +++ b/src/core/lib/iomgr/pollset_uv.c @@ -34,7 +34,8 @@ #include "src/core/lib/debug/trace.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); +grpc_tracer_flag grpc_trace_fd_refcount = + GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif struct grpc_pollset { diff --git a/src/core/lib/iomgr/pollset_windows.c b/src/core/lib/iomgr/pollset_windows.c index 40631b776f..ea017a6054 100644 --- a/src/core/lib/iomgr/pollset_windows.c +++ b/src/core/lib/iomgr/pollset_windows.c @@ -31,7 +31,8 @@ #define GRPC_POLLSET_KICK_BROADCAST ((grpc_pollset_worker *)1) #ifndef NDEBUG -grpc_tracer_flag grpc_trace_fd_refcount = GRPC_TRACER_INITIALIZER(false, "fd_refcount"); +grpc_tracer_flag grpc_trace_fd_refcount = + GRPC_TRACER_INITIALIZER(false, "fd_refcount"); #endif gpr_mu grpc_polling_mu; diff --git a/src/core/lib/iomgr/resource_quota.c b/src/core/lib/iomgr/resource_quota.c index c84d0e4253..a31d9eef93 100644 --- a/src/core/lib/iomgr/resource_quota.c +++ b/src/core/lib/iomgr/resource_quota.c @@ -29,7 +29,8 @@ #include "src/core/lib/iomgr/combiner.h" -grpc_tracer_flag grpc_resource_quota_trace = GRPC_TRACER_INITIALIZER(false, "resource_quota"); +grpc_tracer_flag grpc_resource_quota_trace = + GRPC_TRACER_INITIALIZER(false, "resource_quota"); #define MEMORY_USAGE_ESTIMATION_MAX 65536 diff --git a/src/core/lib/iomgr/timer_generic.c b/src/core/lib/iomgr/timer_generic.c index ba03521c2a..12efce241f 100644 --- a/src/core/lib/iomgr/timer_generic.c +++ b/src/core/lib/iomgr/timer_generic.c @@ -42,7 +42,8 @@ #define MAX_QUEUE_WINDOW_DURATION 1 grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); -grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); +grpc_tracer_flag grpc_timer_check_trace = + GRPC_TRACER_INITIALIZER(false, "timer_check"); /* A "timer shard". Contains a 'heap' and a 'list' of timers. All timers with * deadlines earlier than 'queue_deadline" cap are maintained in the heap and diff --git a/src/core/lib/iomgr/timer_uv.c b/src/core/lib/iomgr/timer_uv.c index 13328e8bcf..1ab82ef1d5 100644 --- a/src/core/lib/iomgr/timer_uv.c +++ b/src/core/lib/iomgr/timer_uv.c @@ -29,7 +29,8 @@ #include grpc_tracer_flag grpc_timer_trace = GRPC_TRACER_INITIALIZER(false, "timer"); -grpc_tracer_flag grpc_timer_check_trace = GRPC_TRACER_INITIALIZER(false, "timer_check"); +grpc_tracer_flag grpc_timer_check_trace = + GRPC_TRACER_INITIALIZER(false, "timer_check"); static void timer_close_callback(uv_handle_t *handle) { gpr_free(handle); } diff --git a/src/core/lib/security/transport/secure_endpoint.c b/src/core/lib/security/transport/secure_endpoint.c index 9df252f7d7..5e41b94ff8 100644 --- a/src/core/lib/security/transport/secure_endpoint.c +++ b/src/core/lib/security/transport/secure_endpoint.c @@ -60,7 +60,8 @@ typedef struct { gpr_refcount ref; } secure_endpoint; -grpc_tracer_flag grpc_trace_secure_endpoint = GRPC_TRACER_INITIALIZER(false, "secure_endpoint"); +grpc_tracer_flag grpc_trace_secure_endpoint = + GRPC_TRACER_INITIALIZER(false, "secure_endpoint"); static void destroy(grpc_exec_ctx *exec_ctx, secure_endpoint *secure_ep) { secure_endpoint *ep = secure_ep; diff --git a/src/core/lib/surface/call.c b/src/core/lib/surface/call.c index bb1e3f901b..2365d27307 100644 --- a/src/core/lib/surface/call.c +++ b/src/core/lib/surface/call.c @@ -229,8 +229,10 @@ struct grpc_call { void *saved_receiving_stream_ready_bctlp; }; -grpc_tracer_flag grpc_call_error_trace = GRPC_TRACER_INITIALIZER(false, "call_error"); -grpc_tracer_flag grpc_compression_trace = GRPC_TRACER_INITIALIZER(false, "compression"); +grpc_tracer_flag grpc_call_error_trace = + GRPC_TRACER_INITIALIZER(false, "call_error"); +grpc_tracer_flag grpc_compression_trace = + GRPC_TRACER_INITIALIZER(false, "compression"); #define CALL_STACK_FROM_CALL(call) ((grpc_call_stack *)((call) + 1)) #define CALL_FROM_CALL_STACK(call_stack) (((grpc_call *)(call_stack)) - 1) diff --git a/src/core/lib/surface/completion_queue.c b/src/core/lib/surface/completion_queue.c index f3d0ef286a..978d7b4171 100644 --- a/src/core/lib/surface/completion_queue.c +++ b/src/core/lib/surface/completion_queue.c @@ -35,10 +35,13 @@ #include "src/core/lib/surface/call.h" #include "src/core/lib/surface/event_string.h" -grpc_tracer_flag grpc_trace_operation_failures = GRPC_TRACER_INITIALIZER(false, "op_failure"); +grpc_tracer_flag grpc_trace_operation_failures = + GRPC_TRACER_INITIALIZER(false, "op_failure"); #ifndef NDEBUG -grpc_tracer_flag grpc_trace_pending_tags = GRPC_TRACER_INITIALIZER(false, "pending_tags"); -grpc_tracer_flag grpc_trace_cq_refcount = GRPC_TRACER_INITIALIZER(false, "cq_refcount"); +grpc_tracer_flag grpc_trace_pending_tags = + GRPC_TRACER_INITIALIZER(false, "pending_tags"); +grpc_tracer_flag grpc_trace_cq_refcount = + GRPC_TRACER_INITIALIZER(false, "cq_refcount"); #endif typedef struct { @@ -343,8 +346,10 @@ static const cq_vtable g_cq_vtable[] = { #define POLLSET_FROM_CQ(cq) \ ((grpc_pollset *)(cq->vtable->data_size + (char *)DATA_FROM_CQ(cq))) -grpc_tracer_flag grpc_cq_pluck_trace = GRPC_TRACER_INITIALIZER(true, "queue_pluck"); -grpc_tracer_flag grpc_cq_event_timeout_trace = GRPC_TRACER_INITIALIZER(true, "queue_timeout"); +grpc_tracer_flag grpc_cq_pluck_trace = + GRPC_TRACER_INITIALIZER(true, "queue_pluck"); +grpc_tracer_flag grpc_cq_event_timeout_trace = + GRPC_TRACER_INITIALIZER(true, "queue_timeout"); #define GRPC_SURFACE_TRACE_RETURNED_EVENT(cq, event) \ if (GRPC_TRACER_ON(grpc_api_trace) && \ diff --git a/src/core/lib/surface/init.c b/src/core/lib/surface/init.c index 93ab101648..db111e597f 100644 --- a/src/core/lib/surface/init.c +++ b/src/core/lib/surface/init.c @@ -123,15 +123,13 @@ void grpc_init(void) { grpc_register_tracer(&grpc_api_trace); grpc_register_tracer(&grpc_trace_channel); grpc_register_tracer(&grpc_connectivity_state_trace); - grpc_register_tracer( - &grpc_trace_channel_stack_builder); + grpc_register_tracer(&grpc_trace_channel_stack_builder); grpc_register_tracer(&grpc_http1_trace); grpc_register_tracer(&grpc_cq_pluck_trace); // default on grpc_register_tracer(&grpc_combiner_trace); grpc_register_tracer(&grpc_server_channel_trace); grpc_register_tracer(&grpc_bdp_estimator_trace); - grpc_register_tracer( - &grpc_cq_event_timeout_trace); // default on + grpc_register_tracer(&grpc_cq_event_timeout_trace); // default on grpc_register_tracer(&grpc_trace_operation_failures); grpc_register_tracer(&grpc_resource_quota_trace); grpc_register_tracer(&grpc_call_error_trace); diff --git a/src/core/lib/surface/init_secure.c b/src/core/lib/surface/init_secure.c index 5f9816135f..2366c24910 100644 --- a/src/core/lib/surface/init_secure.c +++ b/src/core/lib/surface/init_secure.c @@ -40,10 +40,8 @@ void grpc_security_pre_init(void) { grpc_register_tracer(&grpc_trace_secure_endpoint); grpc_register_tracer(&tsi_tracing_enabled); #ifndef NDEBUG - grpc_register_tracer( - &grpc_trace_auth_context_refcount); - grpc_register_tracer( - &grpc_trace_security_connector_refcount); + grpc_register_tracer(&grpc_trace_auth_context_refcount); + grpc_register_tracer(&grpc_trace_security_connector_refcount); #endif } diff --git a/src/core/lib/surface/server.c b/src/core/lib/surface/server.c index 662a57766b..fce7f8dca1 100644 --- a/src/core/lib/surface/server.c +++ b/src/core/lib/surface/server.c @@ -58,7 +58,8 @@ typedef struct registered_method registered_method; typedef enum { BATCH_CALL, REGISTERED_CALL } requested_call_type; -grpc_tracer_flag grpc_server_channel_trace = GRPC_TRACER_INITIALIZER(false, "server_channel"); +grpc_tracer_flag grpc_server_channel_trace = + GRPC_TRACER_INITIALIZER(false, "server_channel"); typedef struct requested_call { requested_call_type type; diff --git a/src/core/lib/transport/bdp_estimator.c b/src/core/lib/transport/bdp_estimator.c index cdfd521ce2..311ae6390d 100644 --- a/src/core/lib/transport/bdp_estimator.c +++ b/src/core/lib/transport/bdp_estimator.c @@ -23,7 +23,8 @@ #include #include -grpc_tracer_flag grpc_bdp_estimator_trace = GRPC_TRACER_INITIALIZER(false, "bdp_estimator"); +grpc_tracer_flag grpc_bdp_estimator_trace = + GRPC_TRACER_INITIALIZER(false, "bdp_estimator"); void grpc_bdp_estimator_init(grpc_bdp_estimator *estimator, const char *name) { estimator->estimate = 65536; diff --git a/src/core/lib/transport/connectivity_state.c b/src/core/lib/transport/connectivity_state.c index a7ea9cc38e..73a9178ae2 100644 --- a/src/core/lib/transport/connectivity_state.c +++ b/src/core/lib/transport/connectivity_state.c @@ -24,7 +24,8 @@ #include #include -grpc_tracer_flag grpc_connectivity_state_trace = GRPC_TRACER_INITIALIZER(false, "connectivity_state"); +grpc_tracer_flag grpc_connectivity_state_trace = + GRPC_TRACER_INITIALIZER(false, "connectivity_state"); const char *grpc_connectivity_state_name(grpc_connectivity_state state) { switch (state) { diff --git a/src/core/lib/transport/metadata.c b/src/core/lib/transport/metadata.c index d699887b28..2fea366072 100644 --- a/src/core/lib/transport/metadata.c +++ b/src/core/lib/transport/metadata.c @@ -48,7 +48,8 @@ */ #ifndef NDEBUG -grpc_tracer_flag grpc_trace_metadata = GRPC_TRACER_INITIALIZER(false, "metadata"); +grpc_tracer_flag grpc_trace_metadata = + GRPC_TRACER_INITIALIZER(false, "metadata"); #define DEBUG_ARGS , const char *file, int line #define FWD_DEBUG_ARGS , file, line #define REF_MD_LOCKED(shard, s) ref_md_locked((shard), (s), __FILE__, __LINE__) diff --git a/src/core/lib/transport/transport.c b/src/core/lib/transport/transport.c index 712c2ab833..7281602d66 100644 --- a/src/core/lib/transport/transport.c +++ b/src/core/lib/transport/transport.c @@ -32,7 +32,8 @@ #include "src/core/lib/transport/transport_impl.h" #ifndef NDEBUG -grpc_tracer_flag grpc_trace_stream_refcount = GRPC_TRACER_INITIALIZER(false, "stream_refcount"); +grpc_tracer_flag grpc_trace_stream_refcount = + GRPC_TRACER_INITIALIZER(false, "stream_refcount"); #endif #ifndef NDEBUG -- cgit v1.2.3 From 780ba5dd223790a5e7cc71f2e37d75e8838c5082 Mon Sep 17 00:00:00 2001 From: ncteisen Date: Wed, 12 Jul 2017 23:22:01 -0700 Subject: Add all refcount flag --- src/core/lib/debug/trace.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/core/lib/debug/trace.c b/src/core/lib/debug/trace.c index 4c9d2b8e2e..c6c1853e20 100644 --- a/src/core/lib/debug/trace.c +++ b/src/core/lib/debug/trace.c @@ -123,6 +123,12 @@ int grpc_tracer_set_enabled(const char *name, int enabled) { } } else if (0 == strcmp(name, "list_tracers")) { list_tracers(); + } else if (0 == strcmp(name, "refcount")) { + for (t = tracers; t; t = t->next) { + if (strstr(t->flag->name, "refcount") != NULL) { + TRACER_SET(*t->flag, enabled); + } + } } else { int found = 0; for (t = tracers; t; t = t->next) { -- cgit v1.2.3 From e476f7d33f38ed8c946a51336e0a0d23f8e5056d Mon Sep 17 00:00:00 2001 From: Craig Tiller Date: Wed, 12 Jul 2017 10:40:56 -0700 Subject: Strawman OWNERS --> CODEOWNERS script --- .github/CODEOWNERS | 22 ++++ OWNERS | 6 + bazel/OWNERS | 2 + cmake/OWNERS | 2 + doc/OWNERS | 2 + etc/OWNERS | 2 + include/OWNERS | 4 + src/core/OWNERS | 4 + src/cpp/OWNERS | 4 + src/csharp/OWNERS | 3 + src/node/OWNERS | 2 + src/objective-c/OWNERS | 3 + src/php/OWNERS | 3 + src/python/OWNERS | 3 + src/ruby/OWNERS | 3 + tools/OWNERS | 4 + tools/codegen/core/OWNERS | 5 + tools/dockerfile/OWNERS | 3 + tools/mkowners/mkowners.py | 190 +++++++++++++++++++++++++++++++ tools/run_tests/OWNERS | 4 + tools/run_tests/sanity/check_owners.sh | 45 ++++++++ tools/run_tests/sanity/sanity_tests.yaml | 1 + 22 files changed, 317 insertions(+) create mode 100644 .github/CODEOWNERS create mode 100644 OWNERS create mode 100644 bazel/OWNERS create mode 100644 cmake/OWNERS create mode 100644 doc/OWNERS create mode 100644 etc/OWNERS create mode 100644 include/OWNERS create mode 100644 src/core/OWNERS create mode 100644 src/cpp/OWNERS create mode 100644 src/csharp/OWNERS create mode 100644 src/node/OWNERS create mode 100644 src/objective-c/OWNERS create mode 100644 src/php/OWNERS create mode 100644 src/python/OWNERS create mode 100644 src/ruby/OWNERS create mode 100644 tools/OWNERS create mode 100644 tools/codegen/core/OWNERS create mode 100644 tools/dockerfile/OWNERS create mode 100755 tools/mkowners/mkowners.py create mode 100644 tools/run_tests/OWNERS create mode 100755 tools/run_tests/sanity/check_owners.sh (limited to 'src') diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000..f5dab5aa0e --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,22 @@ +# Auto-generated by the tools/mkowners/mkowners.py tool +# Uses OWNERS files in different modules throughout the +# repository as the source of truth for module ownership. +* @a11r @nicolasnoble @ctiller +bazel/* @nicolasnoble @a11r @ctiller +cmake/* @jtattermusch @a11r @nicolasnoble @ctiller +doc/PROTOCOL-HTTP2.md @ejona86 @a11r @nicolasnoble @ctiller +doc/interop-test-descriptions.md @ejona86 @a11r @nicolasnoble @ctiller +etc/* @jboeuf @nicolasnoble @a11r @ctiller +include/* @ctiller @markdroth @dgquintas @a11r @nicolasnoble +src/core/* @ctiller @markdroth @dgquintas @a11r @nicolasnoble +src/cpp/* @ctiller @markdroth @dgquintas @a11r @nicolasnoble +src/csharp/* @jtattermusch @apolcyn @a11r @nicolasnoble @ctiller +src/node/* @murgatroid99 @a11r @nicolasnoble @ctiller +src/objective-c/* @muxi @makdharma @a11r @nicolasnoble @ctiller +src/php/* @stanley-cheung @murgatroid99 @a11r @nicolasnoble @ctiller +src/python/* @nathanielmanistaatgoogle @kpayson64 @a11r @nicolasnoble @ctiller +src/ruby/* @apolcyn @murgatroid99 @a11r @nicolasnoble @ctiller +tools/* @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller +tools/codegen/core/* @ctiller @dgquintas @markdroth +tools/dockerfile/* @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller +tools/run_tests/* @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller diff --git a/OWNERS b/OWNERS new file mode 100644 index 0000000000..78fc2513b1 --- /dev/null +++ b/OWNERS @@ -0,0 +1,6 @@ +# Top level ownership + +@a11r +@nicolasnoble +@ctiller + diff --git a/bazel/OWNERS b/bazel/OWNERS new file mode 100644 index 0000000000..40d21e8e0d --- /dev/null +++ b/bazel/OWNERS @@ -0,0 +1,2 @@ +@nicolasnoble + diff --git a/cmake/OWNERS b/cmake/OWNERS new file mode 100644 index 0000000000..c0ae0533b3 --- /dev/null +++ b/cmake/OWNERS @@ -0,0 +1,2 @@ +@jtattermusch + diff --git a/doc/OWNERS b/doc/OWNERS new file mode 100644 index 0000000000..f05861799e --- /dev/null +++ b/doc/OWNERS @@ -0,0 +1,2 @@ +@ejona86 PROTOCOL-HTTP2.md interop-test-descriptions.md + diff --git a/etc/OWNERS b/etc/OWNERS new file mode 100644 index 0000000000..2dfd7cd61e --- /dev/null +++ b/etc/OWNERS @@ -0,0 +1,2 @@ +@jboeuf +@nicolasnoble diff --git a/include/OWNERS b/include/OWNERS new file mode 100644 index 0000000000..8dca75ce91 --- /dev/null +++ b/include/OWNERS @@ -0,0 +1,4 @@ +@ctiller +@markdroth +@dgquintas + diff --git a/src/core/OWNERS b/src/core/OWNERS new file mode 100644 index 0000000000..8dca75ce91 --- /dev/null +++ b/src/core/OWNERS @@ -0,0 +1,4 @@ +@ctiller +@markdroth +@dgquintas + diff --git a/src/cpp/OWNERS b/src/cpp/OWNERS new file mode 100644 index 0000000000..8dca75ce91 --- /dev/null +++ b/src/cpp/OWNERS @@ -0,0 +1,4 @@ +@ctiller +@markdroth +@dgquintas + diff --git a/src/csharp/OWNERS b/src/csharp/OWNERS new file mode 100644 index 0000000000..bde3ed985c --- /dev/null +++ b/src/csharp/OWNERS @@ -0,0 +1,3 @@ +@jtattermusch +@apolcyn + diff --git a/src/node/OWNERS b/src/node/OWNERS new file mode 100644 index 0000000000..3a49353d84 --- /dev/null +++ b/src/node/OWNERS @@ -0,0 +1,2 @@ +@murgatroid99 + diff --git a/src/objective-c/OWNERS b/src/objective-c/OWNERS new file mode 100644 index 0000000000..2bc91186e7 --- /dev/null +++ b/src/objective-c/OWNERS @@ -0,0 +1,3 @@ +@muxi +@makdharma + diff --git a/src/php/OWNERS b/src/php/OWNERS new file mode 100644 index 0000000000..7065b41132 --- /dev/null +++ b/src/php/OWNERS @@ -0,0 +1,3 @@ +@stanley-cheung +@murgatroid99 + diff --git a/src/python/OWNERS b/src/python/OWNERS new file mode 100644 index 0000000000..73a707c67d --- /dev/null +++ b/src/python/OWNERS @@ -0,0 +1,3 @@ +@nathanielmanistaatgoogle +@kpayson64 + diff --git a/src/ruby/OWNERS b/src/ruby/OWNERS new file mode 100644 index 0000000000..b01fd8061e --- /dev/null +++ b/src/ruby/OWNERS @@ -0,0 +1,3 @@ +@apolcyn +@murgatroid99 + diff --git a/tools/OWNERS b/tools/OWNERS new file mode 100644 index 0000000000..8f6de53674 --- /dev/null +++ b/tools/OWNERS @@ -0,0 +1,4 @@ +@matt-kwong +@jtattermusch +@nicolasnoble + diff --git a/tools/codegen/core/OWNERS b/tools/codegen/core/OWNERS new file mode 100644 index 0000000000..17e66479b6 --- /dev/null +++ b/tools/codegen/core/OWNERS @@ -0,0 +1,5 @@ +set noparent +@ctiller +@dgquintas +@markdroth + diff --git a/tools/dockerfile/OWNERS b/tools/dockerfile/OWNERS new file mode 100644 index 0000000000..20ee8085c2 --- /dev/null +++ b/tools/dockerfile/OWNERS @@ -0,0 +1,3 @@ +@matt-kwong +@jtattermusch + diff --git a/tools/mkowners/mkowners.py b/tools/mkowners/mkowners.py new file mode 100755 index 0000000000..e24b052d67 --- /dev/null +++ b/tools/mkowners/mkowners.py @@ -0,0 +1,190 @@ +#!/usr/bin/env python3 +# Copyright 2017, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +import argparse +import collections +import operator +import os +import re +import subprocess + +# +# Find the root of the git tree +# + +git_root = (subprocess + .check_output(['git', 'rev-parse', '--show-toplevel']) + .decode('utf-8') + .strip()) + +# +# Parse command line arguments +# + +default_out = os.path.join(git_root, '.github', 'CODEOWNERS') + +argp = argparse.ArgumentParser('Generate .github/CODEOWNERS file') +argp.add_argument('--out', '-o', + type=str, + default=default_out, + help='Output file (default %s)' % default_out) +args = argp.parse_args() + +# +# Walk git tree to locate all OWNERS files +# + +owners_files = [os.path.join(root, 'OWNERS') + for root, dirs, files in os.walk(git_root) + if 'OWNERS' in files] + +# +# Parse owners files +# + +Owners = collections.namedtuple('Owners', 'parent directives dir') +Directive = collections.namedtuple('Directive', 'who globs') + +def parse_owners(filename): + with open(filename) as f: + src = f.read().splitlines() + parent = True + directives = [] + for line in src: + line = line.strip() + # line := directive | comment + if not line: continue + if line[0] == '#': continue + # it's a directive + directive = None + if line == 'set noparent': + parent = False + elif line == '*': + directive = Directive(who='*', globs=[]) + elif ' ' in line: + (who, globs) = line.split(' ', 1) + globs_list = [glob + for glob in globs.split(' ') + if glob] + directive = Directive(who=who, globs=globs_list) + else: + directive = Directive(who=line, globs=[]) + if directive: + directives.append(directive) + return Owners(parent=parent, + directives=directives, + dir=os.path.relpath(os.path.dirname(filename), git_root)) + +owners_data = sorted([parse_owners(filename) + for filename in owners_files], + key=operator.attrgetter('dir')) + +# +# Modify owners so that parented OWNERS files point to the actual +# Owners tuple with their parent field +# + +new_owners_data = [] +for owners in owners_data: + if owners.parent == True: + best_parent = None + best_parent_score = None + for possible_parent in owners_data: + if possible_parent is owners: continue + rel = os.path.relpath(owners.dir, possible_parent.dir) + # '..' ==> we had to walk up from possible_parent to get to owners + # ==> not a parent + if '..' in rel: continue + depth = len(rel.split(os.sep)) + if not best_parent or depth < best_parent_score: + best_parent = possible_parent + best_parent_score = depth + if best_parent: + owners = owners._replace(parent = best_parent.dir) + else: + owners = owners._replace(parent = None) + new_owners_data.append(owners) +owners_data = new_owners_data + +# +# In bottom to top order, process owners data structures to build up +# a CODEOWNERS file for GitHub +# + +def glob_intersect(g1, g2): + if not g2: + return all(c == '*' for c in g1) + if not g1: + return all(c == '*' for c in g2) + c1, *t1 = g1 + c2, *t2 = g2 + if c1 == '*': + return glob_intersect(g1, t2) or glob_intersect(t1, g2) + if c2 == '*': + return glob_intersect(t1, g2) or glob_intersect(g1, t2) + return c1 == c2 and glob_intersect(t1, t2) + +def add_parent_to_globs(parent, globs): + if not parent: return + for owners in owners_data: + if owners.dir == parent: + for directive in owners.directives: + for dglob in directive.globs or ['*']: + for gglob, glob in globs.items(): + if glob_intersect(dglob, gglob): + if directive.who not in glob: + glob.append(directive.who) + add_parent_to_globs(owners.parent, globs) + return + assert(False) + +todo = owners_data.copy() +done = set() +with open(args.out, 'w') as out: + out.write('# Auto-generated by the tools/mkowners/mkowners.py tool\n') + out.write('# Uses OWNERS files in different modules throughout the\n') + out.write('# repository as the source of truth for module ownership.\n') + while todo: + head, *todo = todo + if head.parent and not head.parent in done: + todo.append(head) + continue + globs = collections.OrderedDict() + for directive in head.directives: + for glob in directive.globs or ['*']: + if glob not in globs: + globs[glob] = [] + globs[glob].append(directive.who) + add_parent_to_globs(head.parent, globs) + for glob, owners in globs.items(): + out.write('%s %s\n' % ( + os.path.join(head.dir, glob) if head.dir != '.' else glob, + ' '.join(owners))) + done.add(head.dir) diff --git a/tools/run_tests/OWNERS b/tools/run_tests/OWNERS new file mode 100644 index 0000000000..8f6de53674 --- /dev/null +++ b/tools/run_tests/OWNERS @@ -0,0 +1,4 @@ +@matt-kwong +@jtattermusch +@nicolasnoble + diff --git a/tools/run_tests/sanity/check_owners.sh b/tools/run_tests/sanity/check_owners.sh new file mode 100755 index 0000000000..365a278b71 --- /dev/null +++ b/tools/run_tests/sanity/check_owners.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +# Copyright 2017, Google Inc. +# All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following disclaimer +# in the documentation and/or other materials provided with the +# distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +set -e + +export TEST=true + +cd `dirname $0`/../../.. + +owners=.github/CODEOWNERS +want_owners=`mktemp /tmp/submXXXXXX` + +tools/mkowners/mkowners.py -o $want_owners +diff -u $owners $want_owners + +rm $want_owners diff --git a/tools/run_tests/sanity/sanity_tests.yaml b/tools/run_tests/sanity/sanity_tests.yaml index 445f53e555..65cb2fe6a7 100644 --- a/tools/run_tests/sanity/sanity_tests.yaml +++ b/tools/run_tests/sanity/sanity_tests.yaml @@ -1,5 +1,6 @@ # a set of tests that are run in parallel for sanity tests - script: tools/run_tests/sanity/check_cache_mk.sh +- script: tools/run_tests/sanity/check_owners.sh - script: tools/run_tests/sanity/check_sources_and_headers.py - script: tools/run_tests/sanity/check_submodules.sh - script: tools/run_tests/sanity/check_test_filtering.py -- cgit v1.2.3 From b5984601b83f916810fe34e476659f472a84f3e5 Mon Sep 17 00:00:00 2001 From: murgatroid99 Date: Thu, 13 Jul 2017 13:58:06 -0700 Subject: Add myself as owner of files in several directories --- .github/CODEOWNERS | 11 +++++++++++ OWNERS | 1 + examples/node/OWNERS | 1 + src/core/lib/iomgr/OWNERS | 1 + test/distrib/node/OWNERS | 1 + tools/run_tests/artifacts/OWNERS | 1 + tools/run_tests/helper_scripts/OWNERS | 1 + 7 files changed, 17 insertions(+) create mode 100644 examples/node/OWNERS create mode 100644 src/core/lib/iomgr/OWNERS create mode 100644 test/distrib/node/OWNERS create mode 100644 tools/run_tests/artifacts/OWNERS create mode 100644 tools/run_tests/helper_scripts/OWNERS (limited to 'src') diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index de5dace21d..953e0a4aad 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -2,13 +2,21 @@ # Uses OWNERS files in different modules throughout the # repository as the source of truth for module ownership. /** @a11r @nicolasnoble @ctiller +/binding.gyp @murgatroid99 +/Gemfile @murgatroid99 +/grpc.gemspec @murgatroid99 +/package.json @murgatroid99 +/Rakefile @murgatroid99 /bazel/** @nicolasnoble @dgquintas @ctiller /cmake/** @jtattermusch @a11r @nicolasnoble @ctiller /doc/PROTOCOL-HTTP2.md @ejona86 @a11r @nicolasnoble @ctiller /doc/interop-test-descriptions.md @ejona86 @a11r @nicolasnoble @ctiller /etc/** @jboeuf @nicolasnoble @a11r @ctiller +/examples/node/** @murgatroid99 @a11r @nicolasnoble @ctiller /include/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble /src/core/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble +/src/core/lib/iomgr/*_uv.c @murgatroid99 @ctiller @markdroth @dgquintas @a11r @nicolasnoble +/src/core/lib/iomgr/*_uv.h @murgatroid99 @ctiller @markdroth @dgquintas @a11r @nicolasnoble /src/cpp/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble /src/csharp/** @jtattermusch @apolcyn @a11r @nicolasnoble @ctiller /src/node/** @murgatroid99 @a11r @nicolasnoble @ctiller @@ -19,7 +27,10 @@ /test/build/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble /test/core/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble /test/cpp/** @ctiller @markdroth @dgquintas @a11r @nicolasnoble +/test/distrib/node/** @murgatroid99 @a11r @nicolasnoble @ctiller /tools/** @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller /tools/codegen/core/** @ctiller @dgquintas @markdroth /tools/dockerfile/** @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller /tools/run_tests/** @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller +/tools/run_tests/artifacts/*_node* @murgatroid99 @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller +/tools/run_tests/helper_scripts/*_node* @murgatroid99 @matt-kwong @jtattermusch @nicolasnoble @a11r @ctiller diff --git a/OWNERS b/OWNERS index 78fc2513b1..87958a4566 100644 --- a/OWNERS +++ b/OWNERS @@ -4,3 +4,4 @@ @nicolasnoble @ctiller +@murgatroid99 binding.gyp Gemfile grpc.gemspec package.json Rakefile diff --git a/examples/node/OWNERS b/examples/node/OWNERS new file mode 100644 index 0000000000..567d1b6691 --- /dev/null +++ b/examples/node/OWNERS @@ -0,0 +1 @@ +@murgatroid99 diff --git a/src/core/lib/iomgr/OWNERS b/src/core/lib/iomgr/OWNERS new file mode 100644 index 0000000000..8ee86c2618 --- /dev/null +++ b/src/core/lib/iomgr/OWNERS @@ -0,0 +1 @@ +@murgatroid99 *_uv.c *_uv.h diff --git a/test/distrib/node/OWNERS b/test/distrib/node/OWNERS new file mode 100644 index 0000000000..567d1b6691 --- /dev/null +++ b/test/distrib/node/OWNERS @@ -0,0 +1 @@ +@murgatroid99 diff --git a/tools/run_tests/artifacts/OWNERS b/tools/run_tests/artifacts/OWNERS new file mode 100644 index 0000000000..490031985e --- /dev/null +++ b/tools/run_tests/artifacts/OWNERS @@ -0,0 +1 @@ +@murgatroid99 *_node* diff --git a/tools/run_tests/helper_scripts/OWNERS b/tools/run_tests/helper_scripts/OWNERS new file mode 100644 index 0000000000..490031985e --- /dev/null +++ b/tools/run_tests/helper_scripts/OWNERS @@ -0,0 +1 @@ +@murgatroid99 *_node* -- cgit v1.2.3