diff options
author | 2016-01-24 18:00:26 -0800 | |
---|---|---|
committer | 2016-01-24 18:00:26 -0800 | |
commit | 9e0953c001286e422697f1916e22e8037071086b (patch) | |
tree | b17764756ba0742b13cd498e073a19b508b6a04d /src/core | |
parent | 50b58e1a346373bd6929db8e4af6fd56bdf7fa1a (diff) |
Fix the census initialization on the server. Remove duplicate initialization logic and also enable census per channel if census is initialized.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/surface/server.c | 12 | ||||
-rw-r--r-- | src/core/surface/server_create.c | 5 |
2 files changed, 7 insertions, 10 deletions
diff --git a/src/core/surface/server.c b/src/core/surface/server.c index 79db13810a..43f32a06b8 100644 --- a/src/core/surface/server.c +++ b/src/core/surface/server.c @@ -37,6 +37,7 @@ #include <stdlib.h> #include <string.h> +#include <grpc/census.h> #include <grpc/support/alloc.h> #include <grpc/support/log.h> #include <grpc/support/string_util.h> @@ -779,9 +780,8 @@ grpc_server *grpc_server_create_from_filters( const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_args *args) { size_t i; - /* TODO(census): restore this once we finalize census filter etc. - int census_enabled = grpc_channel_args_is_census_enabled(args); */ - int census_enabled = 0; + int enable_census = + grpc_channel_args_is_census_enabled(args) || census_enabled(); grpc_server *server = gpr_malloc(sizeof(grpc_server)); @@ -815,15 +815,15 @@ grpc_server *grpc_server_create_from_filters( grpc_server_census_filter (optional) - for stats collection and tracing {passed in filter stack} grpc_connected_channel_filter - for interfacing with transports */ - server->channel_filter_count = filter_count + 1u + (census_enabled ? 1u : 0u); + server->channel_filter_count = filter_count + 1u + (enable_census ? 1u : 0u); server->channel_filters = gpr_malloc(server->channel_filter_count * sizeof(grpc_channel_filter *)); server->channel_filters[0] = &server_surface_filter; - if (census_enabled) { + if (enable_census) { server->channel_filters[1] = &grpc_server_census_filter; } for (i = 0; i < filter_count; i++) { - server->channel_filters[i + 1u + (census_enabled ? 1u : 0u)] = filters[i]; + server->channel_filters[i + 1u + (enable_census ? 1u : 0u)] = filters[i]; } server->channel_args = grpc_channel_args_copy(args); diff --git a/src/core/surface/server_create.c b/src/core/surface/server_create.c index f30093e06b..79cc3c3fc6 100644 --- a/src/core/surface/server_create.c +++ b/src/core/surface/server_create.c @@ -40,12 +40,9 @@ #include "src/core/surface/server.h" grpc_server *grpc_server_create(const grpc_channel_args *args, void *reserved) { - const grpc_channel_filter *filters[3]; + const grpc_channel_filter *filters[2]; size_t num_filters = 0; filters[num_filters++] = &grpc_compress_filter; - if (grpc_channel_args_is_census_enabled(args)) { - filters[num_filters++] = &grpc_server_census_filter; - } GRPC_API_TRACE("grpc_server_create(%p, %p)", 2, (args, reserved)); return grpc_server_create_from_filters(filters, num_filters, args); } |