Open gandro opened 3 years ago
Hey @gandro, I did like to work on this issue. I will need some pointers to start working on this issue. I tried to search how the "--v" flag is Implemented in Kubectl, but I could not find it. Though I found that client-go has some Implementation of it ..... but will need some example how can I start Implementing it
Hey @slayer321
The client-go library is using HTTP, while Hubble is using gRPC, so the implementation will likely be very different. Since this issue was created, we have gained some features which are similar to tracing, notably --print-raw-filters
, which prints the request to be sent.
In any case, I think what needs to be done is to check what options exist on grpc-go
and if it provides an option to print out every request sent via the connection. Maybe the interceptor logic can be used, but I'm not sure, so I cannot provide an example either. I think this issue would ideally be tackled by someone which a good understanding of grpc-go
.
hello @rolinh @gandro Can you please assign the issue to me? I would like to work on it.
@slayer321 have you already started working on this? Just to clarify so that we don't have many people on this issue.
No, I'm not working on it.
Hey @gandro @kaworu , I have started knowing about the Cilium, Hubble and worked on the Isovalent Lab to get a hands-on. I have no experience in this domain and i have no clue to start working on the issue. Can you please let me know how to tackle the issue?
Hey @gandro @kaworu , I have started knowing about the Cilium, Hubble and worked on the Isovalent Lab to get a hands-on. I have no experience in this domain and i have no clue to start working on the issue. Can you please let me know how to tackle the issue?
Although I have got an idea based on what @gandro has said, I want a deeper look on how can I tackle it. And can you please tell me the requirements also? Thanks
This issue is quite old. As mentioned before, my main requirement for me was being able to see what kind of request is being sent to the API, and this has mostly been addressed via --print-raw-filters
. The remaining goal of this issue is to provide some form of debug output for any grpc request issued by the CLI.
Notably, since this might not be clear from the title, this issue is not about the ability to trace API calls by the system observed by Hubble. This issue is only about adding a debug flag to the CLI which allows you to observe what the Hubble CLI itself is doing when talking to the backend.
I'm unfortunately not familiar with the facilities of go-rpc
. Investigating the available options here is part of the work that needs to be done, i.e. this is not an issue with very clear instructions on what needs to be done, it will require some design work by the person working on it to figure out how exactly the feature should work. It might well be that the answer in the end is "getting a trace of the invoked methods is not possible with go-grpc", in which case we would simply close the issue.
To aid in debugging (but also learnability regarding the Hubble API), it would be nice to have a flag/mode for the CLI to track the API calls emitted by the CLI in a given run.
Example of a similar feature from
kubectl
: