-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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 opencensus library #2258
Add opencensus library #2258
Conversation
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: bianpengyuan If they are not already assigned, you can assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
It's a pain to introduce the code text. You may want to explain
|
Maybe you don't need this PR any more: envoyproxy/envoy#5387 |
@bianpengyuan can you delineate the upstream vs your changes in some straightforward fashion? @silentdai The native extension could be used once it is exposed through WASM API. Right now it is not, so we can't access its capabilities from WASM extensions. |
@kyessenov @bianpengyuan I am not arguing that there is no reference to the opencensus code. It's common pattern that introduce first and use in the future :) I am more interested in the changes @bianpengyuan made to opencensus. |
@bianpengyuan are you going to upstream your changes or are we going to maintain this in-tree fork going forward? I'm not sure how big are your changes, but perhaps you could import this library as Bazel external with patches applied locally? |
@PiotrSikora I think we are going to maintain this in-tree fork. Change is not trivial and touch whole bunch of files because opencensus library built to support multi-thread process with singleton objects, so patching is not quite ideally. In fact the whole stackdriver exporter needs to be customized to use WASM API. The code within this PR should just remain unchanged over time unless we found bug or performance bottleneck in it. The stats part of opencensus library is pretty stable and change very little. The logic there is not very complicated so it is feasible to maintain our own fork. If one day opencensus integrates with envoy's stats system, for sure we switch from this in tree fork to that. |
ed0ca70
to
10737c7
Compare
10737c7
to
06d34ad
Compare
@silentdai @kyessenov Sorry for the delay! @silentdai I added a bit more text to read me about changes made to the library. As I said in the last comment it should be fine to maintain our own fork. It is like implementing our own adapter like the one in mixer. @kyessenov Code change that needs review are
|
/test proxy-presubmit-asan |
1 similar comment
/test proxy-presubmit-asan |
I find it hard to review this. I suggest to follow @PiotrSikora and structure it as a bazel fetch plus patch application.
|
@kyessenov Ack, let me try it out and see if it is feasible. |
@bianpengyuan: PR needs rebase. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This will be used by stackdriver extension. It is a copy of opencensus-library (https://github.com/census-instrumentation/opencensus-cpp) with modification to make it fit with envoy's silo thread model and wasm API. Test is not included in this PR since code is mostly unchanged and should remain unchanged. Exporter is not included in this PR and will be added in following PR with tests.