-
Notifications
You must be signed in to change notification settings - Fork 1
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 multi-architecture build, add layers to dockerfile #7
Conversation
I was able to correct an issue with the go_arg.h compile time architecture problem. It looks like there is something else wrong with the
|
dd0c4d5
to
b4a9476
Compare
I managed to break the amd64 compile too. I guess I don't understand C macros as much as I should. |
Hi, many thanks for this PR, its very helpful! I've made some modifications and have it building on both arm64 and amd64, but still have a couple issues to sort out. |
@papodaca I've pushed a new image with multi-arch support, if you run |
Doesn't seem to be working
|
@papodaca thanks for the output, thats progress at least because it is now building for arm64 but failing at runtime. I believe the issue is that the ebpf files do not have |
Still facing the issue with
|
Tried again today, I got slightly different output but still not successful. |
@papodaca @nrjais thanks would you mind trying again? I managed to get a hold of a macbook with an M2 chip and have got it working in the build_arm64 branch. I've built docker images from that branch and pushed them to |
It is up now, but I think its failing to setup intercepter, logs below
I have node servers running on two containers, with node version 12 and 14 |
Yes the agent is starting now. But looks like some errors hooking into lib ssl. I attempted to curl in a
|
@nrjais thanks again. I have just pushed up a new image to |
@papodaca have you tried making https requests to the docker container you're intercepting? Those logs actually look ok to me because it logs an error if it fails to attach to the Go crypto/tls functions which happens if the binary is not a Go-based binary. In your case its trying to attach to |
@papodaca this actually won't be tracked by Trayce. I probably should've made this more clear somewhere but Trayce only tracks incoming requests to docker containers, not outgoing ones. Its possible I could add egress tracking as a feature in the future, but even if I did it wouldn't be able to track one-off curl requests done from within the container because its particularly hard to track short-lived processes using ebpf, see this issue from pixie which works in a similar way to Trayce. |
Still getting similar logs
Docker version is new
|
Does this mean only request coming to containers from other containers or host system is tracked? |
It will only track requests coming to containers, from other containers, the host system, or externally. If you have a server on container that makes requests to an external service which is not running in a docker container, then it won't track that.
If you can run these external services locally in docker, then you can intercept them too and so you should see the requests made from one container to another. Would that be a solution for you or are these external services only available over the internet? |
@papodaca thats great to see! Thanks for you collaboration. I'm closing this PR now that |
Note: The build is currently broken due to the go_arg.h changes being incorrect for the arm64 architecture.