Current Limitations#
HTTP/1.1 only#
No HTTP/2, gRPC, or other protocols yet.
TLS capture needs OpenSSL#
TLS capture needs OpenSSL to be reachable: either a dynamically linked libssl.so, or (confirmed for Node.js’s official/NodeSource/nvm builds) an unstripped binary that statically bundles OpenSSL and still exports its symbols. Stacks that don’t use OpenSSL at all remain invisible either way, which includes Go’s crypto/tls and therefore Go-based proxies like Traefik and Caddy. Clients that hand OpenSSL a custom BIO instead of calling SSL_set_fd (e.g. curl) are captured and paired, but keyed on the SSL* pointer rather than a socket fd, so their exchanges are marked [ssl-keyed, fd unverified]. See TLS Compatibility
libssl.so.3 missing the execute bit#
Debian/Ubuntu package libssl.so.3 without the execute bit (mode 0644), which the TLS uprobe attach requires. Until fixed, TLS capture silently finds nothing to hook. One-time fix per host: find the path with ldconfig -p | grep libssl, then sudo chmod +x <path> (tinytap deliberately never does this itself; see Troubleshooting)
Single host only#
No cross-container attribution or cross-service correlation yet.
Response bodies are sampled, not captured in full#
Response bodies are sampled up to a fixed per-syscall cap. See Server Compatibility for exactly how each server’s syscall pattern affects this.
See also#
Server Compatibility and TLS Compatibility have a server-by-server breakdown of what’s currently visible.