Skip to content

Commit

Permalink
Fix the initialization by modifying the grpc_channel_args_is_census_e…
Browse files Browse the repository at this point in the history
…nabled to by default return census_enabled() instead of always disable
  • Loading branch information
Bogdan Drutu committed Jan 27, 2016
1 parent 3347313 commit 441499a
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 15 deletions.
7 changes: 4 additions & 3 deletions src/core/channel/channel_args.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* Copyright 2015, Google Inc.
* Copyright 2015-2016, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -35,6 +35,7 @@
#include "src/core/channel/channel_args.h"
#include "src/core/support/string.h"

#include <grpc/census.h>
#include <grpc/support/alloc.h>
#include <grpc/support/string_util.h>
#include <grpc/support/useful.h>
Expand Down Expand Up @@ -119,10 +120,10 @@ int grpc_channel_args_is_census_enabled(const grpc_channel_args *a) {
if (a == NULL) return 0;
for (i = 0; i < a->num_args; i++) {
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(
Expand Down
5 changes: 2 additions & 3 deletions src/core/surface/channel_create.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* Copyright 2015-2016, Google Inc.
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -36,7 +36,6 @@
#include <stdlib.h>
#include <string.h>

#include <grpc/census.h>
#include <grpc/support/alloc.h>
#include <grpc/support/slice.h>
#include <grpc/support/slice_buffer.h>
Expand Down Expand Up @@ -201,7 +200,7 @@ grpc_channel *grpc_insecure_channel_create(const char *target,
"grpc_insecure_channel_create(target=%p, args=%p, reserved=%p)", 3,
(target, args, 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_compress_filter;
Expand Down
5 changes: 2 additions & 3 deletions src/core/surface/secure_channel_create.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
*
* Copyright 2015-2016, Google Inc.
* Copyright 2015, Google Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
Expand Down Expand Up @@ -36,7 +36,6 @@
#include <stdlib.h>
#include <string.h>

#include <grpc/census.h>
#include <grpc/support/alloc.h>
#include <grpc/support/slice.h>
#include <grpc/support/slice_buffer.h>
Expand Down Expand Up @@ -296,7 +295,7 @@ grpc_channel *grpc_secure_channel_create(grpc_channel_credentials *creds,
args_copy = grpc_channel_args_copy_and_add(
new_args_from_connector != NULL ? new_args_from_connector : args,
&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_compress_filter;
Expand Down
10 changes: 4 additions & 6 deletions src/core/surface/server.c
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
#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>
Expand Down Expand Up @@ -780,8 +779,7 @@ grpc_server *grpc_server_create_from_filters(
const grpc_channel_filter **filters, size_t filter_count,
const grpc_channel_args *args) {
size_t i;
int enable_census =
grpc_channel_args_is_census_enabled(args) || census_enabled();
int census_enabled = grpc_channel_args_is_census_enabled(args);

grpc_server *server = gpr_malloc(sizeof(grpc_server));

Expand Down Expand Up @@ -815,15 +813,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 + (enable_census ? 1u : 0u);
server->channel_filter_count = filter_count + 1u + (census_enabled ? 1u : 0u);
server->channel_filters =
gpr_malloc(server->channel_filter_count * sizeof(grpc_channel_filter *));
server->channel_filters[0] = &server_surface_filter;
if (enable_census) {
if (census_enabled) {
server->channel_filters[1] = &grpc_server_census_filter;
}
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);
Expand Down

0 comments on commit 441499a

Please sign in to comment.