-
-
Notifications
You must be signed in to change notification settings - Fork 4.7k
Open
Labels
feature ⚙️New feature or requestNew feature or request
Description
Issue Details
@francislavoie suggested we have something similar to apache fullstatus. This prints, among other things:
- Version
- Time
- Uptime
- Time last started/restarted
- Load
- "Accesses" (request count)
- Total traffic
- Total time spent serving requests
- CPU usage
- Average req/sec, transfer/sec, request size, request latency
- Count of active requests
- A "dot-matrix" style summary of what is happening, like: "waiting for connection," keepalive, reading/writing, DNS lookup, closing connection, etc. (For us, each "dot" would be a goroutine I think.)
- Kind of a log of all active requests (protocol, client, start time, duration, Host header, req size, r/w bytes, etc.)
Not that we have to implement a copycat output, but I think we can get ideas from that ^.
Additionally, maybe modules should be able to add their own status info.
Now, we already have the :2019/debug/ endpoints on the local admin interface which outputs a considerable amount of debugging information from the Go runtime already. So we need not duplicate that information. But HTTP/TLS/PKI-related stuff, let's definitely include.
This would first be implemented as an API endpoint (JSON output format), and then a CLI command can query and nicely format that for human consumption (or just print the raw JSON).
Assistance Disclosure
AI not used
If AI was used, describe the extent to which it was used.
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
feature ⚙️New feature or requestNew feature or request