Fix the initialization by modifying the grpc_channel_args_is_census_enabled to by default return census_enabled() instead of always disable

pull/4868/head
Bogdan Drutu 9 years ago
parent 33473134d9
commit 441499ac5e
  1. 7
      src/core/channel/channel_args.c
  2. 5
      src/core/surface/channel_create.c
  3. 5
      src/core/surface/secure_channel_create.c
  4. 10
      src/core/surface/server.c

@ -1,6 +1,6 @@
/* /*
* *
* Copyright 2015, Google Inc. * Copyright 2015-2016, Google Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -35,6 +35,7 @@
#include "src/core/channel/channel_args.h" #include "src/core/channel/channel_args.h"
#include "src/core/support/string.h" #include "src/core/support/string.h"
#include <grpc/census.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/string_util.h> #include <grpc/support/string_util.h>
#include <grpc/support/useful.h> #include <grpc/support/useful.h>
@ -119,10 +120,10 @@ int grpc_channel_args_is_census_enabled(const grpc_channel_args *a) {
if (a == NULL) return 0; if (a == NULL) return 0;
for (i = 0; i < a->num_args; i++) { for (i = 0; i < a->num_args; i++) {
if (0 == strcmp(a->args[i].key, GRPC_ARG_ENABLE_CENSUS)) { if (0 == strcmp(a->args[i].key, GRPC_ARG_ENABLE_CENSUS)) {
return a->args[i].value.integer != 0; return a->args[i].value.integer != 0 && census_enabled();
} }
} }
return 0; return census_enabled();
} }
grpc_compression_algorithm grpc_channel_args_get_compression_algorithm( grpc_compression_algorithm grpc_channel_args_get_compression_algorithm(

@ -1,6 +1,6 @@
/* /*
* *
* Copyright 2015-2016, Google Inc. * Copyright 2015, Google Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -36,7 +36,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <grpc/census.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/slice.h> #include <grpc/support/slice.h>
#include <grpc/support/slice_buffer.h> #include <grpc/support/slice_buffer.h>
@ -201,7 +200,7 @@ grpc_channel *grpc_insecure_channel_create(const char *target,
"grpc_insecure_channel_create(target=%p, args=%p, reserved=%p)", 3, "grpc_insecure_channel_create(target=%p, args=%p, reserved=%p)", 3,
(target, args, reserved)); (target, args, reserved));
GPR_ASSERT(!reserved); GPR_ASSERT(!reserved);
if (grpc_channel_args_is_census_enabled(args) || census_enabled()) { if (grpc_channel_args_is_census_enabled(args)) {
filters[n++] = &grpc_client_census_filter; filters[n++] = &grpc_client_census_filter;
} }
filters[n++] = &grpc_compress_filter; filters[n++] = &grpc_compress_filter;

@ -1,6 +1,6 @@
/* /*
* *
* Copyright 2015-2016, Google Inc. * Copyright 2015, Google Inc.
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -36,7 +36,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <grpc/census.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/slice.h> #include <grpc/support/slice.h>
#include <grpc/support/slice_buffer.h> #include <grpc/support/slice_buffer.h>
@ -296,7 +295,7 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds,
args_copy = grpc_channel_args_copy_and_add( args_copy = grpc_channel_args_copy_and_add(
new_args_from_connector != NULL ? new_args_from_connector : args, new_args_from_connector != NULL ? new_args_from_connector : args,
&connector_arg, 1); &connector_arg, 1);
if (grpc_channel_args_is_census_enabled(args) || census_enabled()) { if (grpc_channel_args_is_census_enabled(args)) {
filters[n++] = &grpc_client_census_filter; filters[n++] = &grpc_client_census_filter;
} }
filters[n++] = &grpc_compress_filter; filters[n++] = &grpc_compress_filter;

@ -37,7 +37,6 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include <grpc/census.h>
#include <grpc/support/alloc.h> #include <grpc/support/alloc.h>
#include <grpc/support/log.h> #include <grpc/support/log.h>
#include <grpc/support/string_util.h> #include <grpc/support/string_util.h>
@ -780,8 +779,7 @@ grpc_server *grpc_server_create_from_filters(
const grpc_channel_filter **filters, size_t filter_count, const grpc_channel_filter **filters, size_t filter_count,
const grpc_channel_args *args) { const grpc_channel_args *args) {
size_t i; size_t i;
int enable_census = int census_enabled = grpc_channel_args_is_census_enabled(args);
grpc_channel_args_is_census_enabled(args) || census_enabled();
grpc_server *server = gpr_malloc(sizeof(grpc_server)); grpc_server *server = gpr_malloc(sizeof(grpc_server));
@ -815,15 +813,15 @@ grpc_server *grpc_server_create_from_filters(
grpc_server_census_filter (optional) - for stats collection and tracing grpc_server_census_filter (optional) - for stats collection and tracing
{passed in filter stack} {passed in filter stack}
grpc_connected_channel_filter - for interfacing with transports */ grpc_connected_channel_filter - for interfacing with transports */
server->channel_filter_count = filter_count + 1u + (enable_census ? 1u : 0u); server->channel_filter_count = filter_count + 1u + (census_enabled ? 1u : 0u);
server->channel_filters = server->channel_filters =
gpr_malloc(server->channel_filter_count * sizeof(grpc_channel_filter *)); gpr_malloc(server->channel_filter_count * sizeof(grpc_channel_filter *));
server->channel_filters[0] = &server_surface_filter; server->channel_filters[0] = &server_surface_filter;
if (enable_census) { if (census_enabled) {
server->channel_filters[1] = &grpc_server_census_filter; server->channel_filters[1] = &grpc_server_census_filter;
} }
for (i = 0; i < filter_count; i++) { for (i = 0; i < filter_count; i++) {
server->channel_filters[i + 1u + (enable_census ? 1u : 0u)] = filters[i]; server->channel_filters[i + 1u + (census_enabled ? 1u : 0u)] = filters[i];
} }
server->channel_args = grpc_channel_args_copy(args); server->channel_args = grpc_channel_args_copy(args);

Loading…
Cancel
Save