grpc: port internal error interceptors from sourcegraph/sourcegraph #639
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR ports the internal error gRPC interceptors that are used for monitoring and debugging in sourcegraph/sourcegraph to the Zoekt project.
Differences from the main implementation:
The prometheus metric names removed the
src
prefix to make it suitable for use outside of sourcegraph.src_grpc_method_status
->grpc_method_status
The environment variables have the
SRC
prefix removed to make it suitable for use outside of sourcegraph.SRC_GRPC_INTERNAL_ERROR_LOGGING_ENABLED
->GRPC_INTERNAL_ERROR_LOGGING_ENABLED
The environment variables use small custom
mustGet[Bool/Bytes]
methods since theenv
package from sourcegraph/sourcegraph doesn't exist in Zoekttesting
Beyond the CI tests, I also manually patched Zoekt to force a non-utf8 repository name in the stream search implementation.
When I ran sourcegraph using the patched zoekt:
I saw the following logs (notice the nonUTF8StringFields in the zoekt-webserver output):