Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial OpenCensus tracing support. #5387

Merged
merged 80 commits into from
Jun 5, 2019
Merged

Add initial OpenCensus tracing support. #5387

merged 80 commits into from
Jun 5, 2019

Conversation

g-easy
Copy link
Contributor

@g-easy g-easy commented Dec 21, 2018

Addresses #2456

Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Otherwise urls regex matches "com_github_curl = dict"

Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
@stale
Copy link

stale bot commented Dec 29, 2018

This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions!

@stale stale bot added the stale stalebot believes this issue/PR has not been touched recently label Dec 29, 2018
@stale
Copy link

stale bot commented Jan 5, 2019

This pull request has been automatically closed because it has not had activity in the last 14 days. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions!

@stale stale bot closed this Jan 5, 2019
@htuch htuch removed the stale stalebot believes this issue/PR has not been touched recently label Jan 7, 2019
@htuch
Copy link
Member

htuch commented Jan 7, 2019

Reopening, tagging myself for initial review @htuch

@htuch htuch reopened this Jan 7, 2019
@htuch htuch self-requested a review January 7, 2019 00:18
Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, this is heading in the right direction, seems a very clean integration. Some comments to get started, will review the actual tracer extension implementation next.

api/envoy/config/trace/v2/trace.proto Show resolved Hide resolved
api/envoy/config/trace/v2/trace.proto Show resolved Hide resolved
bazel/external/curl.BUILD Outdated Show resolved Hide resolved
source/extensions/tracers/opencensus/config.cc Outdated Show resolved Hide resolved
tools/check_repositories.sh Show resolved Hide resolved
@htuch htuch assigned htuch and goaway Jan 7, 2019
@htuch
Copy link
Member

htuch commented Jan 7, 2019

@goaway can you also look at the specific tracer extension integration?

@stale
Copy link

stale bot commented Jan 16, 2019

This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions!

@stale stale bot added the stale stalebot believes this issue/PR has not been touched recently label Jan 16, 2019
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
@stale stale bot removed stale stalebot believes this issue/PR has not been touched recently labels Jan 22, 2019
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
@g-easy
Copy link
Contributor Author

g-easy commented Jun 4, 2019

Thanks for the review comments, @lizan!

lizan
lizan previously approved these changes Jun 4, 2019
Copy link
Member

@lizan lizan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, defer to @htuch.

Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM modulo a few comments, ready to land when they are resolved. Thanks for all the work in tying this together!
/wait

source/common/common/base64.h Outdated Show resolved Hide resolved
bazel/foreign_cc/io_opencensus_cpp.patch Show resolved Hide resolved
bazel/repositories.bzl Show resolved Hide resolved
visibility = ["//visibility:public"],
deps = [
- "//google/devtools/cloudtrace/v2:tracing_proto",
+ "@googleapis//:tracing_proto",
Copy link
Contributor Author

@g-easy g-easy Jun 5, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[in future we can drop this patch] except for this bit. We have to use a single tracing_proto target to avoid ODR (with lightstep).

The long term fix for this is to upgrade googleapis, but first we need to add Python language support for googleapis, but first we need an updated py_proto_library rule in bazel, per:

# TODO(htuch): Convert this to native py_proto_library once
# https://github.com/bazelbuild/bazel/issues/3935 and/or
# https://github.com/bazelbuild/bazel/issues/2626 are resolved.
def api_py_proto_library(name, srcs = [], deps = [], has_services = 0):
py_proto_library(

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See also: grpc/grpc#19183

Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Only parent context can be invalid.

Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Signed-off-by: Emil Mikulic <g-easy@users.noreply.github.com>
Copy link
Member

@htuch htuch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @g-easy! This was epic, very useful capability to land.

@htuch htuch merged commit 350a35f into envoyproxy:master Jun 5, 2019
@g-easy g-easy deleted the oc branch June 6, 2019 00:01
@moderation
Copy link
Contributor

@g-easy this is awesome and with some preliminary testing I was able to simultaneously send traces to Stackdriver and a local Jaeger. Question re: curl version - is there any reason you've used 7.63.0? There have been a number of CVE's addressed in 7.64 and 7.65. Are there features of OpenCensus that require 7.63.0 or can I raise a PR to bump to the latest curl?

@lizan
Copy link
Member

lizan commented Jun 6, 2019

@moderation I think it is just the latest version when this PR is created. Feel free to open a PR to bump it. A quick skim for the CVEs I don't think any affect this use case though.

@g-easy
Copy link
Contributor Author

g-easy commented Jun 6, 2019

@lizan is right. Please go ahead and upgrade curl. In OpenCensus, only the Zipkin exporter uses it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants